关于 Meta Mcp Proxy
Meta MCP Proxy 是一款 MCP 服务,可搜索已配置的 MCP 服务和 JavaScript 函数中的工具,并将调用转发至对应来源。它面向工具数量较多的场景,通过本地检索减少传给大模型的发现上下文。
主要功能
- 01搜索多个 MCP 服务的工具
- 02通过模糊匹配发现工具
- 03将工具调用转发至目标服务
- 04将 JavaScript 函数公开为工具
- 05从文件或命令行加载配置
适用场景
- 01在多个已配置服务中查找合适工具
- 02将发现的工具调用路由至来源服务
- 03通过 MCP 提供 JavaScript 函数
MCP 相关
它作为 MCP 服务封装其他 MCP 服务或库。MCP 客户端通过其发现和执行方法查找并调用工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Meta MCP Proxy
一个灵活的模型上下文协议(MCP)代理,可在多个 MCP 服务和 JavaScript 函数中发现并执行工具。如果你有数百个工具,它可以减少上下文占用。 此 MCP 充当其他 MCP(或库)的封装器,通过某种本地 RAG(检索增强生成)来缩减上下文大小,并向大模型提供两种方法(发现和执行),同时要求大模型简洁地进行发现。执行方法是一个简单的代理。
我们强烈建议添加配置 discoverDescriptionExtras,以详细说明工具的用途,以及大模型应在什么主题下使用这些工具。
功能
- 🌉 统一工具发现:跨多个 MCP 服务搜索工具
- 🔌 代理执行:将工具调用路由到相应的服务
- 🔍 智能搜索:通过模糊匹配找到最适合任务的工具
- 🧩 JavaScript 集成:将自定义 JavaScript 函数公开为 MCP 工具
- 📝 可配置:从文件或命令行参数加载配置
用法
🧱 安装
编辑文件 ~/Library/Application Support/Claude/claude_desktop_config.json
并添加以下内容
{
"mcpServers": {
"mcp-openapi-proxy": {
"command": "npx",
"args": ["@nullplatform/meta-mcp-proxy","-f","config.json"]
}
}
}
配置文件格式
你的 config.json 应采用以下结构:
{
"discoverDescriptionExtras": "Additional description for discovery",
"discoverLimit": 10,
"mcpServers": {
"server-name": {
"command": "command-to-execute",
"args": ["arg1", "arg2"],
"env": {
"ENV_VAR1": "value1",
"ENV_VAR2": "value2"
},
"transport": "stdio"
}
}
}
例如
{
"discoverDescriptionExtras": "Api used to manage a pet store with access to pets, pet types, users, orders and store",
"mcpServers": {
"mcp-petstore": {
"command": "uvx",
"args": ["mcp-openapi-proxy"],
"env": {
"OPENAPI_SPEC_URL": "https://petstore.swagger.io/v2/swagger.json",
"API_KEY": "xxxxx"
}
}
}
}
与 Claude 的 0-shot 对话示例
此示例使用演示配置中的宠物商店 API,但几乎没有关于该 API 的描述

作为库使用
你也可以在自己的 JavaScript 应用程序中将 Meta MCP Proxy 用作库:
import { MCPProxy } from '@nullplatform/meta-mcp-proxy';
// Create a new proxy instance
const mcpProxy = new MCPProxy({
mcpServers: {
"my-server": {
"command": "path/to/server",
"args": [],
"env": {}
}
},
discoverLimit: 10
});
// Register a custom JavaScript function
mcpProxy.registerJsFunction(
"myFunction",
"Description of my function",
{
properties: {
param1: {
type: "string",
description: "First parameter"
},
param2: {
type: "number",
description: "Second parameter"
}
},
required: ["param1"]
},
async ({ param1, param2 }) => {
// Implementation goes here
return {
content: [
{
type: "text",
text: JSON.stringify({ result: `Processed ${param1}` })
}
]
};
}
);
// Start the MCP server
await mcpProxy.startMCP();
使用 meta-mcp-proxy 作为库创建 MCP 的示例
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。