关于 mcp-remote-server
mcp-remote-server 是本地 MCP 服务,其工具、资源和提示词由托管在远程的配置定义。它连接 MCP 客户端与 HTTP 或 HTTPS API 端点,并定期刷新配置。
主要功能
- 01从远程 JSON 配置加载能力
- 02每 60 秒刷新配置
- 03提供工具、资源和提示词
- 04调用 HTTP 和 HTTPS 处理端点
适用场景
- 01通过远程配置管理 MCP 能力
- 02将 API 操作提供为 MCP 工具
- 03将远程数据呈现为 MCP 资源
MCP 相关
向本地 MCP 客户端提供工具、资源和提示词。服务从可通过 HTTP 访问的配置加载定义,并将请求转发至 HTTP 或 HTTPS 处理端点。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
这是一个基于代码库补充了更多技术细节的增强版 README:
mcp-remote-server
一个可配置的模型上下文协议(MCP)服务,可从远程配置动态加载自身能力。它借助 ModelContextProtocol 创建一个能够与本地 MCP 客户端通信的本地服务。
概述
mcp-remote-server 充当 MCP 客户端与远程 API 之间的桥梁。它会解析托管在远程的配置(通过 MCP_CONTROL_PLANE_URL 指定),其中包含一系列工具、资源和提示词,每项都指向远程 API 端点。
主要功能
- 动态配置:通过远程 JSON 配置定义服务能力
- 自动刷新:每 60 秒自动刷新配置
- 支持所有 MCP 基本元素:
- 工具:通过远程 API 调用执行操作
- 资源:将远程数据作为可读取的资源提供
- 提示词:定义可复用的提示词模板
配置格式
{
"tools": [{
"name": "tool-name",
"description": "Tool description",
"inputSchema": {
"type": "object",
"properties": {
// JSON Schema for tool inputs
}
},
"handler": "https://api.example.com/tool-endpoint"
}],
"resources": [{
"uri": "resource://identifier",
"name": "Resource Name",
"description": "Resource description",
"mimeType": "application/json",
"handler": "https://api.example.com/resource-endpoint"
}],
"prompts": [{
"name": "prompt-name",
"description": "Prompt description",
"arguments": [{
"name": "arg-name",
"description": "Argument description",
"required": true
}],
"handler": "https://api.example.com/prompt-endpoint"
}]
}
处理程序 API 要求
远程处理程序必须返回格式正确的响应:
- 工具处理程序:返回 JSON,该内容会被转换为字符串并封装在 MCP 工具响应中
- 资源处理程序:返回与指定 mimeType 匹配的内容
- 提示词处理程序:返回字符串(会自动封装为一条消息)或 MCP 格式的消息数组
安装
bun install
用法
- 设置控制平面 URL:
export MCP_CONTROL_PLANE_URL="https://your-config-endpoint"
- 运行服务:
bun run index.ts
限制
- 仅支持 HTTP/HTTPS 处理程序端点
- 配置必须可通过 HTTP GET 请求访问
- 处理程序响应必须兼容 JSON
- 仅在本地运行(MCP 的标准限制)
此项目使用 bun v1.1.32 中的 bun init 创建。Bun 是一款快速的一体化 JavaScript 运行时。我选择 Bun 是因为它速度快,而且我想尝试一些不一样的东西。
此项目还使用 Biome 进行类型检查和代码检查。我选择 Biome 的原因与选择 Bun 相同:我想尝试一些不一样的东西,而且希望 JS 能有一个类似 gofmt 的工具。这是一个不错的开始。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。