关于 MCP Local Router
MCP Local Router 是一个本地 MCP 聚合代理,可连接多个上游 MCP 服务,并将其功能汇总为单一接口供下游客户端使用。适合需要统一管理多个 MCP 服务的开发者。
主要功能
- 01通过命令行参数指定配置文件
- 02配置多个上游 MCP 服务
- 03支持 stdio 传输并可注入环境变量
- 04支持 SSE 传输的聚合与单服务端点
适用场景
- 01将多个 MCP 服务的工具汇总到一个入口
- 02仅向客户端暴露某个上游服务的工具
MCP 相关
该项目作为 MCP 代理运行,连接多个上游 MCP 服务,并向下游 MCP 客户端提供聚合后的工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP Local Router
该项目是一个 MCP(Model Context Protocol)本地路由器,充当 MCP 服务的聚合代理。它可以连接多个上游 MCP 服务,并将其功能聚合到一个供下游客户端使用的接口中。
功能
- 支持通过命令行参数指定配置文件
- 支持配置多个上游 MCP 服务
- 支持 stdio 传输
- 支持向 stdio 传输注入环境变量
- 支持 SSE 传输,并提供聚合的
/sse端点和针对各上游服务的/sse/{serverName}端点
用法
运行
必须使用配置文件运行:
cargo run -- --config mcp-config.json --transport sse
SSE 路由
路由器以 --transport sse 运行时,会公开两种端点:
/sse会流式传输所有已配置上游服务聚合后的工具集合。/sse/{serverName}只会流式传输单个上游服务的工具。{serverName}部分必须与配置文件中mcpServers的键匹配(例如/sse/filesystem或/sse/workspace-search)。
服务名称键应当适合用于 URL,因为它们会直接用作路径部分。
每个 SSE 连接都会发出一个初始 endpoint 事件,其中包含客户端应当用于发送 POST 请求的 HTTP 路径。所有流式端点都共用同一个 POST /message?sessionId=… 通道。
配置文件格式
配置文件采用 JSON 格式,示例如下:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/username/Desktop"
],
"env": {
"LINEAR_ACCESS_TOKEN": "your_personal_access_token"
}
},
"workspace-search": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-everything"
],
"env": {}
}
}
}
说明:
- mcpServers:多个服务配置的映射
- 每个键是服务名称(用于日志记录和
/sse/{serverName}路径) - 每个值是一个包含以下字段的对象:
- command:要执行的命令
- args:命令参数数组
- env:要注入的环境变量映射
- 每个键是服务名称(用于日志记录和
构建和安装
# Build the project
cargo build --release
# Run
cargo run --release -- --config mcp-config.json --transport stdio
依赖项
- Rust 2021 Edition
- tokio 异步运行时
- MCP 相关库:rmcp
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。