Mcp Server Proxy

Mcp Server Proxy

🚀 MCP 服务器代理

MCP 服务器代理是一个强大的代理服务器,它能够连接到多个 MCP 服务器,并为各类工具提供统一的访问接口,极大地提升了工具与多个服务器交互的便利性。

🚀 快速开始

MCP 服务器代理可让你轻松连接多个 MCP 服务器。以下是使用前的准备步骤和基本操作示例。

✨ 主要特性

  • 可同时连接到多个 MCP 服务器,实现多服务器并行管理。
  • 支持多个配置文件,方便根据不同场景灵活切换配置。
  • 工具名称带有服务器名称的前缀,清晰区分不同服务器的工具。
  • 可在“stdio”或“SSE”模式下运行,满足多样化的使用需求。
  • 基于配置文件进行管理,操作简单且易于维护。

📦 安装指南

使用以下命令进行安装:

npm install

💻 使用示例

基础用法

命令行选项

服务器可以通过以下命令行选项启动:

# 使用默认设置启动
node dist/server.js

# 使用特定配置文件启动
node dist/server.js --profile developer
# 或者
node dist/server.js -p developer

# 在 SSE 模式下启动
node dist/server.js --mode sse
# 或者
node dist/server.js -m sse

# 在 SSE 模式下使用自定义端口和主机
node dist/server.js --mode sse --port 8080 --host 0.0.0.0

# 组合选项
node dist/server.js --profile developer --mode sse --port 8080

可用选项:

  • -p, --profile : 指定要使用的配置文件名称(默认为 "default")
  • -m, --mode : 在“stdio”或“sse”模式之间选择(默认为 "stdio")
  • --port : 设置 SSE 模式的端口(默认为 3000)
  • --host : 设置 SSE 模式的主机(默认为 "localhost")

获取帮助:

node dist/server.js --help

工具命名规则

工具名称会带有其服务器名称的前缀。例如:

  • 来自“filesystem”服务器的工具“read_file”变为“filesystem_read_file”
  • 来自“kubernetes”服务器的工具“get_pods”变为“kubernetes_get_pods”

SSE 模式端点

在 SSE 模式下,服务器暴露以下端点:

  • GET /sse: 建立 SSE 连接
  • POST /messages: 处理工具请求(需要提供sessionId查询参数)

示例 SSE 客户端用法:

const eventSource = new EventSource("http://localhost:3000/sse");
eventSource.onmessage = (event) => {
console.log("接收:", event.data);
};

高级用法

在开发和使用过程中,可根据实际需求灵活组合命令行选项,以实现更复杂的功能。例如,在开发模式下使用特定配置文件和 SSE 模式:

# 在开发模式下运行(SSE 模式并使用 developer 配置文件)
npm run dev:sse:developer

📚 详细文档

配置

为每个配置文件创建名为 config. .json 的文件,例如:

// config.developer.json
{
"mcpServers": {
"kubernetes": {
"command": "npx",
"args": ["mcp-server-kubernetes"]
}
}
}
// config.personal.json
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/mirilale/Desktop"
]
}
}
}

错误处理

服务器提供详细的错误信息,包括:

  • 配置文件加载错误
  • 服务器连接失败
  • 工具未找到错误
  • 服务器断开连接错误

所有错误消息都会包含当前配置文件名称以提供更好的上下文。

开发

# 安装依赖项
npm install

# 构建项目
npm run build

# 在开发模式下运行(stdio 模式)
npm run dev:stdio:developer
# 或者
npm run dev:sse:developer
# 使用 mpc 检查工具
npm run inspect

📄 许可证

本项目采用 MIT 许可证。

  • 0 关注
  • 0 收藏,18 浏览
  • system 提出于 2025-10-06 04:09

相似服务问题

相关AI产品