mcprouter
api router for MCP Servers
claude mcp add --transport stdio chatmcp-mcprouter go run main.go api \ --env ENV_FILE="Path to .env.toml (e.g., .env.toml)"
How to use
mcprouter acts as an OpenRouter for MCP servers. It provides two main modes: a proxy server and an API server. The proxy server exposes an SSE endpoint that MCP clients can subscribe to and route MCP traffic through. The API server offers tooling endpoints (for example, a list-tools endpoint) to discover and interact with available MCP tools. To use it, first prepare your environment by copying the example TOML configuration to a working .env.toml and customizing mcp_server_commands.fetch (as indicated in the README). Start the proxy server to enable the Proxy URL consumption from MCP clients (for example, http://localhost:8025/sse/fetch). Then start the API server to access management endpoints like the tools list via curl (e.g., curl -X POST http://127.0.0.1:8027/v1/list-tools). Ensure the fetch command is enabled in your .env.toml so the proxy/api can surface the appropriate tool commands.
How to install
Prerequisites:
- Go installed (go version 1.18+ recommended)
- A Unix-like environment (Linux/macOS) or Windows with a compatible shell
Installation steps:
- Obtain the source code (clone the repository or download the release).
- In the project root, copy the example environment configuration: cp .env.example.toml .env.toml
- Edit .env.toml to configure mcp_server_commands.fetch and other needed settings as described in the README.
- Start the proxy server: go run main.go proxy
- In another terminal, start the API server: go run main.go api
- Verify operation:
- Proxy: open the Proxy URL provided (e.g., http://localhost:8025/sse/fetch) from your MCP client.
- API: test endpoints like curl -X POST http://127.0.0.1:8027/v1/list-tools -H 'Content-Type: application/json' -H 'Authorization: Bearer fetch'
Additional notes
Tips and common considerations:
- Ensure .env.toml is present and correctly configured before starting the servers; the fetch command flag mcp_server_commands.fetch must be enabled for the tools to be surfaced.
- The proxy URL is intended to be consumed by MCP clients as an SSE feed; ensure network accessibility to http://localhost:8025/sse/fetch from clients.
- If you encounter port conflicts, adjust the ports in your environment and reflect changes where needed in your client configuration.
- When restarting servers after config changes, give the process a moment to rebind and re-read the environment configuration.
- The API server exposes tooling endpoints; use curl or HTTP clients to discover available tools and their usage.
Related MCP Servers
mcp-language
mcp-language-server gives MCP enabled clients access semantic tools like get definition, references, rename, and diagnostics.
agentcontrolplane
ACP is the Agent Control Plane - a distributed agent scheduler optimized for simplicity, clarity, and control. It is designed for outer-loop agents that run without supervision, and make asynchronous tool calls like requesting human feedback on key operations. Full MCP support.
kodit
👩💻 MCP server to index external repositories
mcp-web-ui
MCP Web UI is a web-based user interface that serves as a Host within the Model Context Protocol (MCP) architecture. It provides a powerful and user-friendly interface for interacting with Large Language Models (LLMs) while managing context aggregation and coordination between clients and servers.
mcp-auth-proxy
MCP Auth Proxy is a secure OAuth 2.1 authentication proxy for Model Context Protocol (MCP) servers
github-brain
An experimental GitHub MCP server with local database.