Context Manager MCP Server

by docherty
Verified
# Context Manager MCP Server A Model Context Protocol (MCP) server implementation for managing development context and workflow. ## Features - Socket-based transport with reliable message framing - Full JSON-RPC 2.0 protocol support - Session management with capability negotiation - Extensible tool registry system - Project, workpackage, and task management - Checkpoint and restore functionality - QA review workflow support ## Initial Setup ```bash # Install dependencies npm install # First-time build npm run build ``` ## Usage ### Starting the Server ```bash # Development mode (no build required, uses tsx for on-the-fly compilation) npm run dev # Production mode (requires build) npm start # Start with debug logging DEBUG=1 npm run dev # Start on specific port MCP_PORT=44558 npm run dev ``` ### Development Mode ```bash # Run with hot reloading (preferred during development) npm run dev # Watch mode for TypeScript compilation (if you prefer running the compiled version) npm run watch # In a separate terminal when using watch mode npm start ``` ### Clean Start If you encounter any issues, you can try a clean build: ```bash # Remove build artifacts rm -rf dist/ # Reinstall dependencies npm ci # Rebuild the project npm run build # Start in development mode npm run dev ``` ## Architecture ### Core Components 1. **Message Framing** - Content-Length based protocol - Reliable message boundary handling - Buffer management 2. **Transport Layer** - TCP socket-based communication - Connection management - Event-driven architecture 3. **Session Management** - Client session tracking - Capability negotiation - State persistence 4. **Tool Registry** - Dynamic tool registration - Input validation - Result formatting ### Tools 1. Project Management - Create/Get projects - Project checkpoints - State restoration 2. Work Package Management - Create/Get work packages - Progress tracking - Status updates 3. Task Management - Create/Update tasks - File change tracking - Task checkpointing 4. QA Tools - Review workflow - Fix requests - Work package acceptance ## Configuration Environment variables: - `DEBUG`: Enable debug logging (0/1) - `MCP_PORT`: Server port (default: 44557) ## Protocol The server implements the Model Context Protocol with JSON-RPC 2.0: ```typescript interface MCPMessage { jsonrpc: "2.0"; id: number; method?: string; // for requests params?: any; // for requests result?: any; // for responses error?: { // for error responses code: number; message: string; data?: any; }; } ``` ### Message Flow 1. Client connects via TCP 2. Client sends initialize request 3. Server responds with capabilities 4. Normal message exchange begins 5. Client can shutdown/exit ## Development See [Initial Setup](#initial-setup) and [Development Mode](#development-mode) sections above. ## Contributing 1. Fork the repository 2. Create your feature branch 3. Commit your changes 4. Push to the branch 5. Create a Pull Request ## License ISC License