@vkse/mcp-installer
v1.0.4
Published
一键安装个人 MCP 服务到各种 AI 客户端的配置脚本
Maintainers
Readme
MCP Installer
🚀 一键安装个人 MCP 服务到各种 AI 客户端的自动化配置脚本
快速开始
# 方式一:npx 直接运行(发布到 npm 后)
npx @vkse/mcp-installer
# 或
npx -y @vkse/mcp-installer
# 方式二:本地运行
cd mcp-installer
npm install
node bin/cli.js运行后会进入交互式安装流程:
- 选择 MCP 服务 — 从预置列表中选择要安装的 MCP 服务
- 选择 AI 客户端 — 选择要配置的目标客户端
- 自动写入配置 — 脚本自动将 MCP 配置写入对应客户端的配置文件
- 重启客户端 — 重启 AI 客户端即可使用新安装的 MCP 服务
支持的 AI 客户端
| 客户端 | 配置文件路径 |
| -------------------- | --------------------------------------------- |
| 🖱️ Cursor | ~/.cursor/mcp.json |
| 🤖 Claude Desktop | %APPDATA%/Claude/claude_desktop_config.json |
| 🏄 Windsurf | ~/.codeium/windsurf/mcp_config.json |
| 💻 VS Code (Copilot) | ~/.vscode/mcp.json |
预置 MCP 服务
| 服务名 | 传输方式 | 功能 | | --------------- | -------- | ----------------- | | stdio-mcp-skill | Stdio | ⏰ 精确时间查询 | | sse-mcp-skill | SSE | 🗄️ 远程数据库查询 |
自定义 MCP 注册表
编辑 lib/registry.js 中的 MCP_REGISTRY 数组,添加你自己的 MCP 服务:
// Stdio 类型的 MCP
{
name: "my-stdio-mcp",
displayName: "🔧 我的 Stdio MCP",
description: "自定义的 Stdio MCP 服务",
transport: "stdio",
command: "npx",
args: ["-y", "my-stdio-mcp"],
}
// SSE 类型的 MCP
{
name: "my-sse-mcp",
displayName: "🌐 我的 SSE MCP",
description: "自定义的 SSE MCP 服务",
transport: "sse",
url: "http://your-server.com/sse",
}配置合并策略
- ✅ 增量写入 — 不会覆盖配置文件中已有的其他 MCP 服务
- ⚠️ 冲突检测 — 如果同名 MCP 已存在,会提示是否覆盖
- 📄 格式化输出 — 写入的 JSON 格式化为 2 空格缩进,便于阅读
发布到 npm
如需将此工具发布到 npm 以支持 npx mcp-installer:
# 1. 修改 package.json 中的 name 为你的 npm 包名
# 2. 登录 npm
npm login
# 3. 发布
npm publish发布命令
切换官方库(用于发布到 npm)
npm config set registry https://registry.npmjs.org/
介绍
发布后,任何人都可以通过 npx mcp-installer 一键安装你的 MCP 服务。
这四个脚本非常规范,它们基于软件开发中通用的**语义化版本控制(Semantic Versioning,简称 SemVer)**规范来设计。
简单来说,标准的版本号格式是 X.Y.Z(例如 1.0.0),它们分别代表:主版本号 (Major) . 次版本号 (Minor) . 修订号 (Patch)。
下面为你详细拆解这四个脚本的具体作用:
1. "publish:npm": "npm publish --access public"
- 作用:最基础的发布命令。它会把你当前代码和
package.json里写的版本号直接推送到 npm 仓库。 - 适用场景:当你已经手动修改了
package.json里的"version"字段,或者因为某些网络原因发布失败需要重新执行发布时使用。
2. "release": "npm version patch && npm publish --access public"
- 作用:一键发布修订版(Patch)。
- 版本号变化:自动将第三位数字加 1。比如从
1.0.0升级为1.0.1。 - 适用场景:当你修复了 Bug,或者做了一些不影响原有功能的微小调整时使用。
- 底层动作:
npm version patch:修改package.json版本号 -> 自动生成一个 Git Commit -> 自动打上一个对应版本号的 Git Tag。&&:如果上一步成功,接着执行下一步。npm publish --access public:将新版本推送到 npm 并设为公开。
3. "release:minor": "npm version minor && npm publish --access public"
- 作用:一键发布次版本(Minor)。
- 版本号变化:自动将第二位数字加 1,并将末位清零。比如从
1.0.1升级为1.1.0。 - 适用场景:当你添加了向下兼容的新功能(比如给这个 mcp-installer 增加了一个新客户端的支持),但不影响老用户使用原有功能时。
4. "release:major": "npm version major && npm publish --access public"
- 作用:一键发布主版本(Major)。
- 版本号变化:自动将第一位数字加 1,并将后面两位清零。比如从
1.1.0升级为2.0.0。 - 适用场景:当你进行了不向下兼容的重大修改(比如彻底重构了代码架构,或者删除了旧版本里的某个核心命令),需要提醒用户升级可能会影响他们现有流程时。
总结来说:
日常修复小问题用 npm run release,加了新功能用 npm run release:minor,搞了彻底重构大动作才用 npm run release:major。
需要我为你提供一个在项目 README 文档里说明这些脚本的模板吗?这样其他开发者看你的源码时也能一目了然。
