mcptools
MCP 服务器的瑞士军刀:一站式 CLI 工具,发现、调用、模拟、管控任意 MCP 服务器
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
MCP 服务器的瑞士军刀:一站式 CLI 工具,发现、调用、模拟、管控任意 MCP 服务器
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
2025 年,Anthropic 推出的 Model Context Protocol(MCP) 迅速成为 AI 应用扩展的事实标准。它是一种让 AI 模型安全、标准化地调用外部工具和数据源的协议,好比 USB 接口之于硬件设备——只要遵循协议,任何 MCP 服务器都能被兼容的 AI 客户端调用。然而,当时市面上缺少一个成熟、统一的客户端工具来探索、调试、调用这些 MCP 服务器。开发者往往需要针对每个服务器编写定制代码,既低效又不利于生态发展。
正是在这一背景下,GitHub 用户 f(博客名为 FKA.dev)开发了 MCP Tools,定位为"MCP 服务器的瑞士军刀"。它用 Go 语言重写了整个工具链,实现了跨平台、高性能、零依赖分发的命令行客户端,让任何使用 MCP 协议的开发者都能在终端里完成过去需要复杂代码才能做到的事情。
如果把 MCP 协议比作手机的 API 接口,那么 MCP Tools 就相当于一个功能齐全的工程调试台。普通用户用手机(AI 客户端)调用各种 App(工具服务器),但工程师需要 adb 调试命令、WireShark 抓包和接口文档。MCP Tools 就是专门给 AI 开发者的 adb + Postman,提供发现(tools)、调用(call)、拦截(guard)、模拟(mock)等完整能力。
MCP Tools 的命令行功能非常完整,共 12 个子命令,覆盖 MCP 服务器生命周期的每个环节:
| 命令 | 功能 | 典型场景 |
|---|---|---|
mcp tools | 列出服务器提供的所有工具 | 探索某个 MCP 服务器有哪些能力 |
mcp call | 调用指定工具并传入参数 | 执行 read_file、git_commit 等实际操作 |
mcp resources | 列出服务器暴露的数据资源 | 查看可用的文件、配置等上下文数据 |
mcp prompts | 列出预定义的提示词模板 | 复用服务器作者定义好的 prompt |
mcp shell | 交互式 Shell 循环 | 连续多次调用,类比 psql 的交互体验 |
mcp web | 启动 Web UI 界面 | 不熟悉 CLI 的用户通过浏览器操作 |
mcp mock | 创建模拟 MCP 服务器 | 开发阶段无需真实后端即可测试客户端 |
mcp proxy | 将 MCP 请求代理到 Shell 脚本 | 用 Bash/Python 脚本扩展 MCP 工具 |
mcp guard | 访问控制,限制可用工具 | 给 AI Agent 分配最小权限,防止误操作 |
mcp alias | 管理服务器别名 | 给长命令起短名:fs → npx -y @modelcontextprotocol/server-filesystem |
mcp configs | 管理 LLM 应用配置 | Claude Desktop、Cursor 等的 MCP 配置同步管理 |
mcp new | 项目脚手架生成 | 快速创建 TypeScript MCP 组件 |
MCP 协议支持两种通信方式:本地进程通过标准输入输出(stdio)通信,以及远程通过 HTTP 调用。MCP Tools 对两者均提供原生支持:
# stdio 模式(本地 MCP 服务器)
mcp tools npx -y @modelcontextprotocol/server-filesystem ~
# HTTP 模式(远程 MCP 服务器)
mcp tools --transport http https://api.example.com/mcp
这种设计让它既能支持本地工具链(如 npx 启动的 Node.js MCP 服务器),也能连接远程服务端的 MCP 端点。
从代码结构来看,MCP Tools 采用标准的 Go 项目布局:
cmd/mcptools/:CLI 入口,使用 Cobra 框架定义所有子命令pkg/:核心业务模块,分为:
pkg/alias:别名管理模块pkg/guard:访问控制与过滤逻辑pkg/mock:Mock 服务器生成器pkg/proxy:Shell 脚本代理转发pkg/jsonutils:JSON 格式化与处理工具该架构遵循 Go 社区的最佳实践,Cobra 用于 CLI 交互层,业务逻辑全部封装在独立的 pkg 包中,模块边界清晰,便于扩展新命令和功能。
MCP Tools 最有价值的两项高级功能值得单独介绍:
Guard 模式:当 AI Agent 通过 MCP Tools 访问后端服务时,可以配置白名单/黑名单策略,限制 AI 只能调用特定工具(如禁止删除文件、禁止执行危险命令)。这对于在团队内部署 AI 编程助手时管控安全边界非常有意义。
Mock Server 模式:开发者只需提供工具、资源的 JSON 定义,MCP Tools 就能自动生成一个符合 MCP 协议的 Mock 服务器。在前后端分离或 TDD 场景下,无需等待后端实现即可完成 AI 客户端的开发和测试。
对于已有 AI 开发经验的工程师,MCP Tools 的上手门槛极低。Homebrew 用户一行命令安装,非 Homebrew 用户一行 go install 完成编译安装。但它要求用户对 MCP 协议有基本理解——需要知道什么是 tool、resource、prompt,以及 MCP 服务器是什么。初次接触需要花约 15-30 分钟阅读 MCP 协议文档。
mcp web 界面主要用于临时交互,并非生产级的 Web 管理后台MCP Tools 的出现代表了 MCP 生态走向成熟的一个信号——协议有了,服务器有了,客户端工具的空白也被填补。在 MCP Tools 出现之前,开发者调试 MCP 服务器主要靠 Anthropic 官方提供的 MCP Inspector(Inspector 偏向浏览器 UI,更适合初学者);MCP Tools 则填补了命令行重度用户的需求空白,让自动化脚本、CI/CD 管道中集成 MCP 调用成为可能。
截至目前,该项目已在 GitHub 获得 1592 颗星,涵盖 MCP 工具发现、调用、模拟、代理、管控全流程,是 MCP 开发者生态中不可或缺的工具之一。