这暴露了您的MCP over rest,因此您可以在API中轻松使用它,而无需痛苦的RPC。
这可能会成为一个新的提议 MCP传输 它能够通过简单的GET REST请求公开完整规范的简化子集。
REST到MCP转换规则:
- 路径参数来自方法名称后的URL段
- 查询参数中包含必需的简单参数(字符串/数字/布尔值)
- 查询参数中包含可选的简单参数
- 复杂的对象/数组进入请求体
- 工具/调用的特殊情况:POST主体或GET查询参数变为“参数”
例如,对工具的工具调用 add 成为 /tools/call/add?a=1&b=1
注意:这侧重于MCP方法的一个适合REST的子集。服务器到客户端 省略了通知等方法或流式传输方法。
用途:
import { convertRestToMcp } from "rest-mcp";
export default {
fetch: async (request) => {
if (new URL(request.url).pathname === "/mcp") {
return handleMcp(request);
}
// Handle rest over mcp
const mcpRequest = await convertRestToMcp(request);
if (mcpRequest) {
return handleMcp(mcpRequest);
}
return new Response("Not found");
},
};