MCP Manager

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.

Category
Visit Server

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

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.

Official
Featured
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured