MCP Composer
通过单一的 SSE 接口连接并动态管理多个 MCP 服务器/工具,从而使您的 AI 代理或 AI 应用能够更灵活地控制 MCP 服务器。
htkuan
README
MCP Composer

MCP Composer 是一个网关服务,用于集中管理你所有的 MCP 服务器。你可以使用它来整合你需要的全部 MCP 服务器,并为每个需要访问 MCP 服务器的服务(如 AI 代理或工具)开放独立的端口,这些端口可以配置不同的服务器和工具组合。
主要特性
- 动态 MCP 服务器管理: 动态管理与多个 MCP 服务器及其工具的连接,支持服务的即时激活或停用。
- 统一 SSE 接口: 暴露一个单一的 Server-Sent Events (SSE) 接口,提供对所有受管理 MCP 服务器功能的访问。
- 多个动态端点: 支持动态创建和移除多个 SSE 端点,以适应不同的 AI 代理或 AI 工具。
- 独立接口配置: 每个 SSE 接口独立管理其自身的 MCP 服务器和工具组合,从而实现定制化的服务提供。
系统架构

关键术语
- MCP 客户端: 外部工具或 AI 代理和 AI 工作流,例如 Cursor, n8n 等。
- 网关[A/B]: 绑定到 ServerKit 并由 Composer 管理的 MCP 服务器实现,用于处理 MCP 客户端连接。
- Server Kit: 管理和控制关于下游 MCP 服务器的信息,以及服务器中应启用哪些工具。
- 下游控制器: 负责控制和管理与下游 MCP 服务器的连接。
- 下游 MCP 服务器: 连接到下游 MCP 服务器的内部对象,实现为连接到下游 MCP 服务器的内部 MCP 客户端。
- MCP 服务器: 外部 MCP 服务器服务,例如:https://github.com/modelcontextprotocol/servers 等。
- Composer: 提供 API 来控制和编排网关、Server Kit 和下游控制器。
要求
- Python >= 3.12
- uv: 一个快速的 Python 包安装器和管理器。
安装
-
克隆仓库:
git clone https://github.com/htkuan/mcp-composer cd mcp-composer -
安装依赖: 使用
uv来同步项目依赖。make install # 或者直接使用 uv # uv sync
配置
在运行应用程序之前,你需要配置目标 MCP 服务器。
-
复制示例配置文件:
cp mcp_servers.example.json mcp_servers.json -
编辑
mcp_servers.json并输入你要连接的 MCP 服务器的详细信息。 -
设置环境变量:
cp .env.example .env -
编辑
.env文件来配置以下设置:HOST: 服务器主机地址 (默认: 0.0.0.0)PORT: 服务器端口 (默认: 8000)MCP_COMPOSER_PROXY_URL: MCP Composer 代理 URL (默认: http://localhost:8000)MCP_SERVERS_CONFIG_PATH: MCP 服务器配置文件的路径 (默认: ./mcp_servers.json)
运行
使用 uv 运行 FastAPI 应用程序:
make run
# 或者直接使用 uv
# uv run src/main.py
服务启动后,你可以通过浏览器中的 API 文档与 API 进行交互 (通常在 http://127.0.0.1:8000/docs)。
开发
该项目包含一个 Makefile 来简化常见的开发任务:
- 安装依赖:
make install - 格式化和检查代码:
make format(使用 Ruff) - 运行应用程序:
make run
贡献
欢迎对本项目做出贡献! 请遵循标准的 GitHub Fork & Pull Request 工作流程。 建议在提交 Pull Request 之前创建一个 Issue 进行讨论。
推荐服务器
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
MCP Package Docs Server
促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。
Claude Code MCP
一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。
@kazuph/mcp-taskmanager
用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。
mermaid-mcp-server
一个模型上下文协议 (MCP) 服务器,用于将 Mermaid 图表转换为 PNG 图像。
Jira-Context-MCP
MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。
Linear MCP Server
一个模型上下文协议(Model Context Protocol)服务器,它与 Linear 的问题跟踪系统集成,允许大型语言模型(LLM)通过自然语言交互来创建、更新、搜索和评论 Linear 问题。
Sequential Thinking MCP Server
这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。
Curri MCP Server
通过管理文本笔记、提供笔记创建工具以及使用结构化提示生成摘要,从而实现与 Curri API 的交互。