MCP Manager
A gateway that manages multiple MCP servers behind one endpoint, providing namespaced tool routing and supervision. Currently bundles an Arxiv MCP server for paper search and retrieval.
README
MCP Manager
A development scaffold for managing multiple MCP servers behind one standard MCP gateway. The first catalog entry is the open-source Arxiv MCP server.
This repository intentionally separates the components that MCP-Atlas and Toolathlon combine in different ways:
Agent harness
|
| Streamable HTTP MCP
v
Gateway (tool discovery, namespacing, routing)
|
v
Runtime supervisor (startup, timeout, retry, cleanup)
|
| stdio MCP
v
Arxiv MCP server
|
v
arXiv and related upstream APIs
This is a demo for further development. Dependencies and the Arxiv server are declared but are not vendored into this repository.
Components
| Component | Location | Responsibility |
|---|---|---|
| Server catalog | catalog/servers/ |
Declarative, one-file-per-server definitions. |
| Profiles | profiles/ |
Select servers and allow/deny tools for a workload. |
| Configuration | src/mcp_manager/config/ |
Typed manifest models and YAML loading. |
| Secrets | src/mcp_manager/secrets/ |
Resolve explicit secret references without writing resolved config. |
| Runtime | src/mcp_manager/runtime/ |
Launch and supervise backend MCP connections. |
| Gateway | src/mcp_manager/gateway/ |
Expose namespaced tools and route calls to backends. |
| Agent interface | src/mcp_manager/harness/ |
Framework-neutral interface and remote MCP client adapter. |
See docs/ARCHITECTURE.md for the design boundaries.
Arxiv backend
The catalog pins
blazickjp/arxiv-mcp-server
at 0.6.2 and launches it in an isolated uvx environment:
uvx --from arxiv-mcp-server==0.6.2 arxiv-mcp-server
The upstream server uses stdio by default and does not require an API key. Gateway-visible names are stable and namespaced, for example:
arxiv__search_papers
arxiv__get_abstract
arxiv__download_paper
The double-underscore name is stored in a routing table; the gateway never parses it to determine the backend.
Intended development commands
After installing Python 3.11+ and uv:
uv sync --extra dev
uv run mcp-manager list-servers
uv run mcp-manager doctor
uv run mcp-manager serve --host 127.0.0.1 --port 8080
An MCP client can then connect to:
http://127.0.0.1:8080/mcp
The doctor command starts the selected backend, performs MCP initialization,
and lists the tools that the gateway would expose.
Agent-harness integration
Agent frameworks should depend on AgentToolProvider, not the runtime or
gateway implementation:
from mcp_manager.harness import GatewayMCPClient
async with GatewayMCPClient("http://127.0.0.1:8080/mcp") as tools:
definitions = await tools.list_tools()
result = await tools.call_tool(
"arxiv__search_papers",
{"query": "mixture of experts", "max_results": 3},
)
The model API key belongs in the agent process. Service credentials belong in
backend MCP subprocess environments and are resolved through secretRef.
Current scope
- One stdio backend: Arxiv.
- Tool discovery and calls only.
- One static profile.
- Environment-backed secret provider interface, unused by Arxiv.
- No persistence, authentication, admin API, hot reload, or distributed state.
These omissions are deliberate so the repository remains a clear starting point rather than a prematurely complex platform.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.