mcpField
M
Meta Mcp Proxy

Meta Mcp Proxy

本地服务
github.com/nullplatformAI 与智能体1176 周前更新

关于 Meta Mcp Proxy

Meta MCP Proxy 是一款 MCP 服务,可搜索已配置的 MCP 服务和 JavaScript 函数中的工具,并将调用转发至对应来源。它面向工具数量较多的场景,通过本地检索减少传给大模型的发现上下文。

主要功能

  1. 01搜索多个 MCP 服务的工具
  2. 02通过模糊匹配发现工具
  3. 03将工具调用转发至目标服务
  4. 04将 JavaScript 函数公开为工具
  5. 05从文件或命令行加载配置

适用场景

  1. 01在多个已配置服务中查找合适工具
  2. 02将发现的工具调用路由至来源服务
  3. 03通过 MCP 提供 JavaScript 函数

MCP 相关

它作为 MCP 服务封装其他 MCP 服务或库。MCP 客户端通过其发现和执行方法查找并调用工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"meta-mcp-proxy": {
"command": "npx",
"args": [
"-y",
"@nullplatform/meta-mcp-proxy"
]
}
}
}
启动命令npx -y @nullplatform/meta-mcp-proxy

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@nullplatform/meta-mcp-proxy

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

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 的描述

0-shot 示例

作为库使用

你也可以在自己的 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

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。