MCP Server
A unified MCP (Model Context Protocol) server with pluggable tools. Each tool has an independent endpoint, allowing clients to selectively add specific tools.
Features
Unified Endpoint with Path Routing: Each tool has its own MCP endpoint (
/mcp/{toolName})Loosely Coupled Tools: Tools are independently loaded from
src/tools/directoryFault Isolation: Individual tool failures don't affect other tools (timeout protection + error handling)
StreamableHTTP Transport: Modern MCP transport protocol
Bearer Token Authentication: Secure API access
Docker Support: Ready for containerized deployment
Project Structure
Quick Start
Local Development
Docker Deployment
API Endpoints
Endpoint | Method | Description |
| POST | MCP JSON-RPC request for specific tool |
| GET | SSE connection (requires session-id) |
| DELETE | Close session |
| GET | Health check |
| GET | List all available tools and their endpoints |
Available Tools
Calculator (/mcp/calculator)
Math calculator providing basic arithmetic operations.
Method | Description | Parameters |
| Calculate sum of two numbers |
|
| Calculate difference of two numbers |
|
| Calculate product of two numbers |
|
| Calculate quotient of two numbers |
|
Echo (/mcp/echo)
Echo tool for testing and debugging.
Method | Description | Parameters |
| Echo back the input message |
|
| Reverse the input string |
|
| Get server information | - |
Time (/mcp/time)
Time tool for timezone conversion and formatting.
Method | Description | Parameters |
| Get current time in a specific timezone |
|
| Convert time between timezones |
|
| Convert timestamp to formatted string |
|
Client Configuration
Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):
Cursor / VS Code
Create .cursor/mcp.json in project root:
Programmatic Usage (Node.js)
Adding New Tools
Create a new directory under
src/tools/:
Implement the
MCPToolinterface:
The tool will be automatically loaded on server startup.
Scripts
License
MIT