Skip to main content
Glama

Meta MCP 代理

一个灵活的模型上下文协议 (MCP) 代理,支持跨多个 MCP 服务器和 JavaScript 函数发现和执行工具。如果您拥有大量工具,则可以减少上下文事件。此 MCP 充当其他 MCP(或库)的包装器,执行某种本地 RAG(检索增强生成)操作以缩减上下文大小,为 LLM 提供两种方法(发现和执行),并要求 LLM 简洁地进行发现。执行方法是一个简单的代理

我们极力建议添加配置discoverDescriptionExtras来扩展有关工具用途的详细信息以及 llm 应该将其用于哪些类型的主题。

特征

  • 🌉统一工具发现:跨多个 MCP 服务器搜索工具

  • 🔌代理执行:将工具调用路由到适当的服务器

  • 🔍智能搜索:通过模糊匹配找到最适合工作的工具

  • 🧩 JavaScript 集成:将自定义 JavaScript 函数公开为 MCP 工具

  • 📝可配置:从文件或命令行参数加载配置

Related MCP server: MCP Server.exe

用法

🧱 安装

编辑文件~/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 的描述

0样本示例

作为图书馆

您还可以在自己的 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 的示例

执照

麻省理工学院

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nullplatform/meta-mcp-proxy'

If you have feedback or need assistance with the MCP directory API, please join our Discord server