mcp-gateway —— 隐藏mcp上下文以避免不必要的tokens开销

起因

今天上午刷到了 linux.do/t/topic/140... ,奈何该工具需要docker,而我又没有docker,遂造轮之。

叠甲:我是不会告诉你们我今天晚上搜gateway在npm上发现了很多同类工具。所以请不要说我重复造轮子,我只是看了帖子上头了手搓了几个小时搓出来的

技术细节

该mcp服务提供了3个工具以隐藏mcp服务。

  1. 获取全部的MCP服务以及其下属的工具摘要。

    放心,它只会返回MCP服务的名字以及下属的全部工具名称以及经过处理的描述。 不会占用太多上下文。

  2. 批量获取MCP服务及其下属工具 该工具会返回要查询的全部MCP服务以及其下属工具的名称,描述以及调用参数约定

  3. 通过MCP服务名称和工具名称调用具体工具

安装

首先,确保您使用 NodeJS v16 及以上版本。

bash 复制代码
npm install -g @kagg886/mcp-gateway@latest

其次,打开您的AI工具,编辑MCP文件,进行配置:

json 复制代码
{
  "mcpServers": {
    "mcp-gateway": {
      "isActive": true,
      "name": "mcp-gateway",
      "type": "stdio",
      "command": "mcp-gateway",
      "args": [
        "-f",
        "/path/to/your/json"
      ],
      "installSource": "unknown"
    }
  }
}

/path/to/your/json的配置如下:

json 复制代码
{
  "mcpServers": {
    "chrome-devtools": {
      "command": "npx",
      "args": [
        "-y",
        "chrome-devtools-mcp@latest"
      ]
    },
    "mcp-server-time": {
      "command": "uvx",
      "args": [
        "mcp-server-time",
        "--local-timezone=Asia/Shanghai"
      ],
      "alwaysAllow": [
        "get_current_time",
        "convert_time"
      ]
    },
    "context7": {
      "command": "npx",
      "args": [
        "-y",
        "@upstash/context7-mcp@latest"
      ],
      "alwaysAllow": [
        "resolve-library-id",
        "query-docs"
      ],
      "disabled": true
    }
  }
}

最后,在AI工具中进行测试:

优点

  • 不需要安装docker(除了我之外还有谁没安装docker呢)
  • 配置超级简单,只需要传递配置路径或配置字符串(使用 -s 参数)
  • web-ui,私认为这种工具不需要可视化配置,完全可以通过参数来隔离实例。

缺陷

虽然我在几个小时内匆忙地写完了这个工具,但是综合看来,还是有很多功能没有做,例如:

  • 现版本只能代理基于stdio的MCP服务

  • 将部分MCP调用错误标记为error,以供Agent识别

  • 尽管我在MCP服务的description中给Agent添加了足够的提示。 但是在能力有限的模型中,可能不会调用代理工具查询可用的Agent。 此时需要您手动在聊天框或prompt中显式告知AI可用工具

  • 尽管配置了并发启动,但启动速度很明显受木桶效应影响。

开发计划

大概有人用我才会更新,否则我会基于我自己的需求迭代这个工具(x

未来可能会增加以下功能:

  1. 异步启动(而不是在程序启动阶段就初始化所有服务)
  2. 数据缓存(缓存调用规范以避免频繁启动)
  3. 自动清理(长时间不调用的mcp会自动关闭)功能。
  4. 代理基于SSE的MCP服务

我将永远不会制作以下功能:

  1. 可视化web页面

注意事项

  • 最好不要代理影响LLM行为的MCP服务,如sequential-thinking

  • 最佳实践是代理专业性较强,或者不常使用的MCP服务,如chrome-devtoolsgithub

开源地址

mcp-gateway 使用 MIT 协议发布。源码地址为:github.com/magic-cucum...

相关推荐
uncle_ll3 小时前
RAG 系统性能跃迁:LlamaIndex 索引优化实战指南
llm·rag·检索·llamaindex
想用offer打牌7 小时前
MCP (Model Context Protocol) 技术理解 - 第一篇
后端·aigc·mcp
zhangshuang-peta8 小时前
OpenCode vs Claude Code vs OpenAI Codex:AI编程助手全面对比
人工智能·ai agent·mcp·peta
无名修道院9 小时前
AI大模型微调-LLM、Token、生成与推理详解
llm·token·ai大模型应用开发
玄同76512 小时前
从 0 到 1:用 Python 开发 MCP 工具,让 AI 智能体拥有 “超能力”
开发语言·人工智能·python·agent·ai编程·mcp·trae
南宫乘风13 小时前
Claude Code 从 0 到 1 实战全攻略:掌握下一代编程 Agent 的核心能力
ai·claude·mcp
bloglin9999914 小时前
Qwen3-32B报错Invalid json output:{“type“: “1“}For troubleshooting, visit
llm·json
哈里谢顿14 小时前
MCP 入门完全指南:模型上下文协议详解与实战
mcp
SunnyRivers16 小时前
吴恩达讲Agent Skills
agent·tools·mcp·skills·agent skills
zhangshuang-peta17 小时前
人工智能代理团队在软件开发中的协同机制
人工智能·ai agent·mcp·peta