MCP Manager

MCP Manager

Self-hosted MCP proxy and aggregation platform. Register multiple upstream MCP servers and expose them through a single unified endpoint with namespace routing, multi-transport support (HTTP/SSE, stdio, OpenAPI→MCP), per-tool overrides, and a web admin UI.

Category
访问服务器

README

MCP Manager

A self-hosted MCP proxy and aggregation platform.

Manage multiple upstream MCP (Model Context Protocol) servers, sync their tools, and expose them through a single unified MCP endpoint. Connect once, access everything.

CI CodeQL codecov Docker Image Version Docker Pulls License: MIT Release AI Agents LLM Tools .NET 10 MCP SQLite Self-Hosted


Quick Start

docker run -p 5057:8080 -v mcpmanager-data:/app/data daniel3303/mcpmanager:latest

Open http://localhost:5057 and sign in with the default admin account:

  • Email: admin@mcpmanager.local
  • Password: 123456

Change the password immediately after first login from the user menu → Change Password.


What is MCP Manager?

MCP Manager sits between your AI tools (Claude Code, Cursor, Windsurf, etc.) and your MCP servers. Instead of configuring each server individually in every client, you register them once in MCP Manager and connect your clients to a single endpoint.

<p align="center"> <img src="docs/architecture.svg" alt="MCP Manager Architecture" width="800"/> </p>

Key Features

Unified MCP Proxy

Aggregate tools from all registered upstream MCP servers into a single /mcp endpoint. Connect your AI clients once and access every tool from every server — no per-server configuration needed.

Multi-Transport Support

Connect to remote servers via HTTP/SSE, run local CLI tools via Stdio, or auto-convert REST APIs from OpenAPI specs. Each transport supports its own authentication methods (Bearer, API key, Basic auth, environment variables).

Namespace Organization

Group MCP servers into logical namespaces with slug-based routing (e.g., /mcp/namespaces/my-namespace). Each namespace has independent rate limiting, API key scoping, and per-tool configuration.

Tool Customization & Control

Override tool names, descriptions, and parameter schemas per server or per namespace. Enable or disable individual tools so the same server can expose different tool sets in different namespaces.

Health Checks & Notifications

Automatic connectivity checks verify each server is reachable via its configured transport. When a server goes down, all active users receive in-app notifications.

Rate Limiting

Per-namespace rate limiting with three strategies: PerApiKey (limit per unique key), PerIp (limit by client IP), or Global (single namespace-wide limit). Configure requests-per-minute thresholds independently for each namespace.

Interactive Playground

Test and execute MCP tools directly from the browser. The playground dynamically builds input forms from each tool's JSON schema, including type-aware fields for enums, numbers, and nested objects.

API Key Management

Generate scoped API keys (prefixed mcpm_) with optional namespace restrictions. Keys are used as Bearer tokens for authenticating MCP client connections and are tracked per-request for auditing.

Import from Config

Import server configurations from Claude Desktop, Cursor, or Opencode JSON formats. Existing servers are detected and skipped automatically, with a summary of imported, skipped, and errored entries.

OpenAPI-to-MCP

Point MCP Manager at any OpenAPI 3.x spec (JSON or YAML) and it automatically converts each operation into a callable MCP tool. Path, query, and body parameters are mapped to tool input schemas.

Request Logging & Live Streaming

Every tool execution is recorded with parameters, response, success status, and execution time. A real-time log viewer streams entries with filters for server, log level, and time range.

User Management

Multi-user support with ASP.NET Identity. Claims-based authorization controls access to features like server management, API keys, and the playground. Admins can create users, reset passwords, and manage permissions.

Screenshots

Dashboard Dashboard — Overview of servers, tools, and API keys MCP Servers Servers — Manage upstream MCP servers
Create Server Create Server — Add servers with multi-transport support Playground Playground — Execute tools interactively

Getting Started

Docker

docker run -p 5057:8080 -v mcpmanager-data:/app/data daniel3303/mcpmanager:latest

The SQLite database and logs are stored in /app/data. Sign in with the default admin account shown in the Quick Start and change the password immediately.

Host Network Mode

If you need MCP Manager to connect to MCP servers running on the host machine (e.g., Stdio servers or services on localhost), use host networking:

docker run --network host -v mcpmanager-data:/app/data daniel3303/mcpmanager:latest

With --network host the container shares the host's network stack directly, so MCP Manager listens on port 8080 and can reach any local service. The -p flag is not needed in this mode.

Note: Host network mode is only supported on Linux. On macOS and Windows (Docker Desktop), use host.docker.internal instead of localhost to reach host services.

Run Locally

Prerequisites

# Clone the repository
git clone https://github.com/daniel3303/McpManager.git
cd McpManager

# Build the frontend
cd src/McpManager.Web.Portal && npm install && npx vite build && cd ../..

# Run the application
dotnet run --project src/McpManager.Web.Portal

The app will be available at http://localhost:5057. Sign in with the default admin account shown in the Quick Start and change the password immediately.

Connecting Your AI Tools

Once MCP Manager is running, connect your AI tools to the unified endpoint:

// Example: Claude Code, Cursor, Windsurf, etc.
{
  "mcpServers": {
    "mcpmanager": {
      "url": "http://localhost:5057/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

Generate API keys from the API Keys page in the admin panel.

Configuration

Transport Types

Transport Description Auth Options
HTTP Connect to remote MCP servers via HTTP/SSE Bearer token, API key, Basic auth
Stdio Run local MCP servers as CLI processes Environment variables
OpenAPI Auto-convert OpenAPI specs to MCP tools Bearer token, API key, Basic auth

Tech Stack

  • Backend: .NET 10, ASP.NET Core, EF Core, SQLite
  • Frontend: Tailwind CSS, DaisyUI, Vite, jQuery
  • MCP SDK: ModelContextProtocol v0.6.0-preview.1
  • Auth: ASP.NET Identity
  • Logging: Serilog (console + rolling file)

License

MIT

Author

Daniel Oliveira

Website X LinkedIn

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选