cli
MCP 服务器运维 CLI,一行命令完成添加/删除/启动/调用管理,100% 测试覆盖
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
MCP 服务器运维 CLI,一行命令完成添加/删除/启动/调用管理,100% 测试覆盖
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
~/Library/Application Support/Claude/,Windows 是 %APPDATA%/Claude/),手动改 JSON 稍不留神就会导致客户端崩溃。开发者 Gavin Uhma 在日常使用中深陷这一泥潭,于是用 TypeScript 写了这个工具——MCPGod,名字即宣言:上下文就是上帝,掌控上下文的人才是真正的上帝。## 二、项目定位:MCP 运维控制台MCPGod 是一个基于 Node.js 的 CLI 工具,核心职责是对 MCP 生态中的三类实体进行 CRUD 操作:| 实体 | 说明 ||------|------|| Client | MCP 客户端(如 Claude Desktop) || Server | MCP 服务器(如 @modelcontextprotocol/server-github) || Tool | 服务器暴露的工具(如 git_commit、read_file) |通过 mcpgod 命令行,你无需打开配置文件手动编辑,一切操作都有结构化的 CLI 参数支撑:bash# 添加服务器到指定客户端mcpgod add @modelcontextprotocol/server-github -c claude# 仅添加特定工具(细粒度权限控制)mcpgod add @modelcontextprotocol/server-everything -c claude --tools=echo,add# 查看某客户端上所有已配置的服务器mcpgod list -c claude# 直接调用某个服务器的某个工具(命令行即工具调用)mcpgod tool @modelcontextprotocol/server-everything add a=59 b=40# 启动一个 MCP 服务器进程,日志实时输出mcpgod run @modelcontextprotocol/server-everythingMCPGod 内置了 100% 测试覆盖率,通过 GitHub Actions 自动发布 npm 包,安装仅需一行命令:bashnpm install -g mcpgod## 三、技术架构:简单但扎实的 TypeScript CLI项目基于 Oclif 框架(Salesforce 开源的 CLI 框架)构建,这是其技术栈的核心:| 层级 | 技术选型 | 作用 ||------|---------|------|| CLI 框架 | Oclif v4 | 命令注册、参数解析、帮助文档自动生成 || MCP 通信 | @modelcontextprotocol/sdk | 与 MCP 服务器建立连接,调用工具 || 参数校验 | Zod | 运行时 schema 校验 || 日志 | Winston | 结构化日志,写入 ~/mcpgod/logs/ || 进程管理 | Node.js child_process | 启动/停止 MCP 服务器子进程 |代码结构清晰,src/commands/ 下 8 个命令文件对应 8 种操作,工具函数封装在 src/utils/spawn.ts 中。跨平台兼容通过 process.platform 判断配置文件路径:typescript// src/commands/add.ts 核心逻辑const configFilePath = process.platform === 'win32' ? path.join(process.env.APPDATA || '', 'Claude', 'claude_desktop_config.json') : path.join(process.env.HOME || '', 'Library', 'Application Support', 'Claude', 'claude_desktop_config.json')此外,MCPGod 内置了预配置服务器清单(mcp-servers.json),收录了 20+ 官方及社区维护的 MCP 服务器,涵盖 GitHub、文件系统、Google Maps、PostgreSQL、Slack 等常用服务,开箱即用,无需记忆完整的 npm 包名。## 四、能力边界:不适合谁?MCPGod 本质上是一个工具管理工具,而非 MCP 服务器本身。它适合有明确运维需求的开发者,但存在以下局限:局限 1:必须依赖 Claude Desktop 等外部客户端MCPGod 本身不运行 AI 模型,它通过修改客户端配置文件来注入 MCP 服务器能力。如果你的 AI 工具不是 Claude Desktop,配置文件路径可能不同,需要参考源码自行适配。局限 2:无 Web UI,纯命令行对于不熟悉终端的团队成员,CLI 的门槛较高。没有图形化界面意味着无法直观看到所有服务器的运行状态。局限 3:仅支持 npm 包和本地脚本两种服务器形式mcpgod add 和 mcpgod run 目前支持 npm 包名和本地脚本路径,但对于 Docker 容器化的 MCP 服务器没有原生支持,需要配合外部进程管理工具。## 五、部署体验:安装 3 秒上手MCPGod 的部署极其简单,唯一要求是 Node.js >= 18.0.0:bash# 全局安装(推荐)npm install -g mcpgod# 或直接用 npx 运行(无需安装)npx -y mcpgod --version# 开发模式(从源码运行)git clone https://github.com/mcpgod/cli.git && cd mcpgod && npm install && ./bin/dev运行日志默认存放在 ~/mcpgod/logs/ 目录下,每个服务器一个带时间戳的日志文件,方便排查工具调用失败的原因。## 六、行业意义:MCP 生态的基础设施MCP 协议正处于快速演进期,各种 MCP 服务器层出不穷,如何高效管理它们是一个真实的工程痛点。MCPGod 作为最早一批专注于 MCP 运维的 CLI 工具,填补了一个明确的空白——它是 MCP 版的 docker compose + kubectl,让管理 AI 工具插件变得和运维容器一样结构化。目前项目 116 stars、2 名订阅者,规模虽小但定位精准。考虑到 MCP 生态的持续扩张,类似的管理工具将变得越来越重要。项目由作者 Gavin Uhma 个人维护,没有外部资金支持,长期维护取决于社区参与度。作者:Gavin Uhma(个人维护)开源协议:MIT技术栈:TypeScript | Node.js >= 18 | Oclif | MCP SDK | Zod | Winston