2.7 KiB
2.7 KiB
Project TODO List
This document outlines the tasks to be completed for the mcp-bridge
project.
Phase 1: Core Functionality
- Project Setup
- Initialize Git repository and connect to remote
- Create directory structure (
/src
,/test
,/dist
) - Create placeholder
build-test-deploy.sh
andinstall.sh
- Configuration Handling
- Implement YAML parsing for
config.yaml
- Implement loading of service-specific YAML files
- Finalize YAML structure (e.g., use a map for services, add
command
for adapter)
- Implement YAML parsing for
- HTTP Server
- Create basic HTTP server that binds to
localhost
- Implement configurable port via command-line flag
- Create basic HTTP server that binds to
- MCP Adapter Management
- Implement logic to spawn MCP adapters as child processes
- Manage the lifecycle of adapter processes (start, stop)
- MCP Communication
- Implement
stdio
-based communication with child processes - Implement JSON-RPC 2.0 message serialization/deserialization
- Implement
- Request Routing
- Implement handler to parse
?service=
query parameter - Route incoming HTTP requests to the correct MCP service based on the query param
- Handle default service logic when the query param is omitted
- Implement handler to parse
Phase 2: Features & Refinements
- Endpoint Mapping
- Map HTTP POST requests to the
tools/call
MCP method - Pass request body as parameters to the MCP call
- Map HTTP POST requests to the
- Error Handling
- Translate MCP errors to appropriate HTTP status codes (400, 500)
- Implement graceful handling for config errors, missing services, etc.
- Logging
- Add structured logging for requests, responses, and errors
- Implement configurable verbosity via a command-line flag (e.g.,
-v
)
- Configuration Reload
- Implement dynamic config reload via
SIGHUP
signal - Implement
/reload
HTTP endpoint - Define and implement session/process behavior on reload
- Implement dynamic config reload via
Phase 3: Testing & Distribution
- Build & Installation Scripts
- Populate
build-test-deploy.sh
to compile for multiple architectures (macOS, Linux, Windows) and place binaries in./dist
- Populate
install.sh
to download and install the correct binary for the user's system
- Populate
- Testing
- Create basic unit tests for HTTP handling and request routing in
/test
- Create integration tests for MCP communication
- Create basic unit tests for HTTP handling and request routing in
- Documentation
- Create
README.md
with comprehensive installation, configuration, and usage instructions - Provide sample
config.yaml
andservice1.yaml
files
- Create
- Finalization
- Commit compiled binaries to the
./dist
directory - Tag a version
v1.0.0
- Commit compiled binaries to the