使用说明
mcpm — 模型上下文协议管理器
MCPM 帮助您管理 MCP(模型上下文协议)服务器/客户端配置,并通过单个命令生成客户端可用的配置文件。
专为 Bun 构建。无需 Node/npm/pnpm。
要求
- 面包 ≥ 1.2(这里的“≥ 1.2”可能指的是面包的某种特定指标,如重量、尺寸或其他测量值,具体含义需根据上下文确定,但直接翻译为“面包 ≥ 1.2”即可,保持原样以传达原文的特定表述)
安装
bun install
快速入门
所有命令都直接通过 Bun 在 TypeScript 中执行。
- 添加一个客户端(例如 Cursor):
bun run src/index.ts clients:add cursor
- 添加一个服务器(例如,本地或http上的Context7):
# local transport (default for many servers)
bun run src/index.ts servers:add context7 --transport local
# or http transport
bun run src/index.ts servers:add context7 --transport http
- 生成客户端配置文件:
bun run src/index.ts sync
配置文件被写入到每个客户端预期的位置(见下文支持的客户端)。请在您希望生成配置文件的项目目录中运行这些命令。mcpm 用于读取和写入 mcpm.json 在当前工作目录中。
命令
-
servers:list- 列出在(某处/某配置中)定义的可用服务器
src/definitions/servers/*。 - 示例:
bun run src/index.ts servers:list
- 列出在(某处/某配置中)定义的可用服务器
-
servers:add <name> [--transport <local|http|sse>]- 向(列表/配置中)添加一个服务器条目
mcpm.json验证服务器是否存在以及所选传输方式是否受支持。 - 示例:
bun run src/index.ts servers:add context7 --transport local bun run src/index.ts servers:add context7 --transport http
- 向(列表/配置中)添加一个服务器条目
-
clients:add <name>- 在(列表/文件等)中添加一个客户端条目
mcpm.json。 - 示例:
bun run src/index.ts clients:add cursor
- 在(列表/文件等)中添加一个客户端条目
-
sync[--强制] [--模拟运行]- 根据配置的服务器,为每个已配置的客户端生成配置文件。
- 示例:
bun run src/index.ts sync
注:
- 如果客户端输出文件已存在,mcpm 将拒绝覆盖它,除非实施时被强制执行。JSON 写入器会抛出异常,除非
force被使用;CLI 可能会发展到通过传递这个标志来实现。 - 在你希望创建客户端配置文件的项目中运行命令行界面(CLI)。
mcpm.json
mcpm 在项目根目录使用一个简单的配置文件。
{
"servers": ["context7:local", "serena:local"],
"clients": ["cursor"]
}
servers物品是name:transport。clients项目是客户端ID。
您可以手动编辑此文件,或者通过添加命令来管理它。
支持的服务器(内置)
-
上下文7
- 交通:
- 本地:通过命令运行
npx -y @upstash/context7-mcp(设定CONTEXT7_API_KEY在环境中 - http: (该词本身在中文中无直接对应翻译,通常作为网址协议前缀保留原样,或根据上下文可解释为“超文本传输协议(网址)”)
https://mcp.context7.com/mcp(设置CONTEXT7_API_KEY头球
- 本地:通过命令运行
- 交通:
-
塞雷娜
- 交通:
- 本地:通过命令运行
uvx mcp serve @upstash/serena-mcp
- 本地:通过命令运行
- 交通:
参见其中的定义 src/definitions/servers/ 以获取完整详情及任何后续补充通知。
支持的客户端(内置)
-
光标
- 输出:JSON 格式
.cursor/mcp.json
- 输出:JSON 格式
-
“claude-code”翻译成中文可以是“克劳德代码”或“克劳德程序”,具体取决于上下文和该术语所指的具体内容。如果“claude”是指某个特定的人名或项目名,那么翻译时可能会保留原名,如“克劳德(Claude)的代码”或“克劳德(Claude)项目代码”。在这里,为了简洁明了,我将其翻译为“克劳德代码”
- 输出:JSON格式,位于
.claude/mcp.json
- 输出:JSON格式,位于
参见以下定义 src/definitions/clients/ 了解更多。
发展
-
从源定义中列出服务器:
bun run src/index.ts servers:list -
直接从TS(开发时推荐)运行任何命令:
bun run src/index.ts <command> [...args] -
捆绑到
dist/使用滚降(或滚动下降):bun run bundle
项目结构亮点:
src/commands/*CLI 命令(servers:add,servers:list,clients:add,sync)。src/definitions/servers/*内置的MCP服务器和传输工具。src/definitions/clients/*内置的MCP客户端及其输出位置。src/lib/mcp-client-writer/json.ts输出的编写者/作家{ mcpServers: { ... } }为客户端提供的JSON。src/config.ts加载/保存mcpm.json在当前工作目录中。
故障排除
- 确保你在想要执行命令的项目中运行它们
.cursor/mcp.json或者.claude/mcp.json即将创建。 - 对于Context7,设置
CONTEXT7_API_KEY(环境或头部信息)取决于所选的传输方式。 - 如果配置文件已存在,请删除它或重新运行一个支持的实现程序
--force。
许可证
目前尚未确定。
