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...

相关推荐
warm3snow17 小时前
Claude Code 黑客马拉松:5 个获奖项目,没有一个是"纯码农"做的
ai·大模型·llm·agent·skill·mcp
马腾化云东1 天前
Agent开发应知应会(langfuse):Langfuse Score概念详解和实战应用
人工智能·llm·ai编程
Baihai_IDP1 天前
HackerNews 热榜第一名:AGI 的 A,原来代表的是 Ads(广告)
人工智能·程序员·llm
吴佳浩1 天前
OpenClaw Windows 完整安装与本地模型配置教程(实战版)
llm·openai
warm3snow2 天前
AI 核心技能系列:12 篇文章带你系统掌握大模型岗位必备技能
ai·transformer·agent·skill·mcp·fine-tunning
3秒一个大2 天前
深入理解 MCP 协议:从本质解析到实战构建
mcp
牧马人win2 天前
Chrome DevTools MCP:让 AI 编码助手拥有“浏览器之眼“
mcp
吴佳浩2 天前
《大模型的文件形态:Qwen3 文件结构与计算流程深度拆解》
人工智能·llm
EdisonZhou3 天前
MAF快速入门(17)用户智能体交互协议AG-UI(中)
llm·aigc·agent
精神状态良好3 天前
实战:从零构建本地 Code Review 插件
前端·llm