使用说明
以下是基于代码库的增强版README,其中包含更多技术细节:
mcp远程服务器
一种可配置的模型上下文协议(MCP)服务器,可从远程配置动态加载其功能。这利用了 模型上下文协议 创建一个可以与本地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,该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 init 在bun v1.1.32中。 包子 是一个快速的一体化JavaScript运行时。我选择Bun是因为它很快,我想尝试一些不同的东西。
该项目还使用 生物群系 用于类型检查和起毛。我选择Biome的原因和Bun一样。我想要一些不同的东西,我希望JS有一个 gofmt-像工具。这是一个良好的开端。
