mcp-remote-server

mcp-remote-server

site icon
2025.01.16 5
TypeScript动态配置远程 API 集成其它
mcp-remote-server 是一个可配置的模型上下文协议(MCP)服务器,能够从远程配置动态加载其功能。它充当 MCP 客户端和远程 API 之间的桥梁,通过解析远程托管的配置(通过 `MCP_CONTROL_PLANE_URL` 指定)来定义服务器功能,包括工具、资源和提示。
View on GitHub

Overview

基本能力

产品定位

mcp-remote-server 是一个动态配置的 MCP 服务器,用于连接 MCP 客户端和远程 API,支持远程配置的动态加载和自动刷新。

核心功能

  • 动态配置:服务器功能通过远程 JSON 配置定义。
  • 自动刷新:配置每 60 秒自动刷新一次。
  • 支持所有 MCP 原语
  • 工具:通过远程 API 调用执行操作。
  • 资源:将远程数据暴露为可读资源。
  • 提示:定义可重用的提示模板。

适用场景

  • 需要动态加载和更新服务器功能的场景。
  • 需要将 MCP 客户端与远程 API 集成的场景。
  • 需要支持多种 MCP 原语(工具、资源、提示)的场景。

工具列表

  • 工具:通过远程 API 调用执行操作,输入和输出遵循 JSON Schema。
  • 资源:将远程数据暴露为可读资源,支持多种 MIME 类型。
  • 提示:定义可重用的提示模板,支持参数化输入。

常见问题解答

  • 支持的协议:仅支持 HTTP/HTTPS 处理程序端点。
  • 配置访问:配置必须通过 HTTP GET 请求访问。
  • 响应格式:处理程序响应必须是 JSON 兼容的。
  • 运行限制:仅限本地运行(标准 MCP 限制)。

使用教程

使用依赖

安装 Bun 运行时:

curl -fsSL https://bun.sh/install | bash

安装教程

  1. 克隆项目并安装依赖:
git clone <repository-url>
cd mcp-remote-server
bun install
  1. 设置控制平面 URL:
export MCP_CONTROL_PLANE_URL="https://your-config-endpoint"
  1. 运行服务器:
bun run index.ts

调试方式

  1. 检查控制平面 URL 是否设置正确:
echo $MCP_CONTROL_PLANE_URL
  1. 检查服务器是否正常运行:
curl http://localhost:<port>/health
  1. 查看日志输出以排查问题:
tail -f logs/server.log

许可证

None