MCP包
](https://www.npmjs.com/package/mcp-pack)  ](https://www.npmjs.com/package/mcp-pack)
通用MCP服务器安装程序,适合那些只想让他们的人工智能工具工作的人。MCP Pack允许您选择一组精心策划的服务器,使用安全的后备功能安装它们,并更新多个客户端配置文件,而无需手动触摸JSON或TOML。
状态: MVP准备好了。支持Claude Desktop、Cursor、VS Code、Windsurf、Warp(Warp Drive导出)和Codex配置格式。
快速TL;博士:
npm i -g mcp-packmcp-pack selectmcp-pack write-config --client claude --dry-run
目录
为什么选择MCP包?
- 将服务器整理在一个文件中。 从存储在中的已审核列表中选择
pack.yaml. - 一个工作流适用于多个客户。 为Claude、Cursor(全局或项目范围)、VS Code、Windsurf、Warp和Codex生成配置。
- 安全编辑。 自动备份、可读差异和
rollback命令保持配置可恢复。 - 不同设置的配置文件。 通过以下方式为工作区或团队保留单独的选择
profile指挥组。
系统要求
- Node.js 18或更新
npm(配备Node的船只)- macOS、Linux或Windows(在macOS/Linux上测试的CLI)
- 从以下位置使用某些服务器时的可选运行时
pack.yaml:
- Python 3.10+ pip 适用于AWS Labs服务器(例如。 awslabs.amazon-qbusiness-anonymous-mcp-server) - Go 1.21+用于基于Go的服务器(例如。 github.com/mark3labs/mcp-filesystem-server) - 容器化服务器的Docker CLI(例如。 ghcr.io/github/github-mcp-server) - 确保每个运行时的二进制目录(例如。 ~/.local/bin, $(go env GOPATH)/bin)在你的 PATH 因此,生成的配置可以启动二进制文件
运行时要求(概览)
- 如果你只使用默认服务器,Node/npm就足够了。
- 如果你取消注释pip/go/docker服务器
pack.yaml,安装这些运行时并确保它们的CLI在您的PATH上。CLI将在以下期间警告您install,write-config,以及doctor如果缺少了什么。
安装运行时
使用与您的操作系统匹配的命令。安装后,确保您的 PATH.
Python(pip)
- macOS(自制):
brew install python - Ubuntu/Debian:
sudo apt update && sudo apt install -y python3 python3-pip - Fedora/CentOS:
sudo dnf install -y python3 python3-pip - 视窗:从下载 python.org/下载
- PATH提示:添加
~/.local/bin(macOS/Linux),因此pip安装的CLI可用。
去
- macOS(自制):
brew install go - Ubuntu/Debian:
sudo apt update && sudo apt install -y golang - Fedora/CentOS:
sudo dnf install -y golang - 视窗:从下载 go.dev/dl
- PATH提示:添加
$(go env GOPATH)/bin(通常~/go/bin)到PATH。
码头工人
- macOS(自制):
brew install --cask docker(启动Docker Desktop一次即可完成设置) - Ubuntu/Debian:
sudo apt update && sudo apt install -y docker.io && sudo systemctl enable --now docker - Fedora/CentOS:
sudo dnf install -y docker && sudo systemctl enable --now docker - 视窗:安装
安装CLI
本地开发安装(如果您计划参与或测试,建议安装):
git clone https://github.com/aware88/mcp-pack.git
cd mcp-pack
npm install
npm run build全局使用情况(发布到npm后):
npm install -g mcp-pack您也可以在不全局安装的情况下运行:
npx mcp-pack --help快速启动
- 选择服务器 对于您的默认配置文件:
node dist/cli.mjs select- 安装 为Claude选择的服务器(替换
claude随着cursor,vscode,windsurf,warp,或codex根据需要,或传递逗号列表以标记多个客户端):
node dist/cli.mjs install --client claude- 写入配置 (如果你想预览差异,请先进行模拟运行):
node dist/cli.mjs write-config --client claude --dry-run
node dist/cli.mjs write-config --client claude对于“扭曲”,该命令将创建 .mcp-pack/warp/warp-drive-export.json;通过以下方式导入该文件 设置->扭曲驱动器->导入JSON 注册服务器。
- 检查问题:
node dist/cli.mjs doctor --fix需要额外的指导?跑 node dist/cli.mjs walkthrough 依次选择服务器、安装客户端、预览差异和交互式运行doctor命令。
命令概述
| 命令 | 它的作用 |
|---|---|
select [--profile ] | 从中选择服务器 pack.yaml 并将其存储在 `~/.mcp-pack/selections/ |
| .json`. | |
| `install --client [,] [--profile ] [--yes] [--verbose] [--secrets | |
| ]` | 安装每个选定的服务器一次,然后为列出的客户端重用它。启动命令根据运行时(npm/pip/go/docker)推断或根据显式 command/args 覆盖在 pack.yaml. --secrets 从以下位置预加载环境变量 .env/JSON。 |
| `write-config --client [--profile ] [--dry-run] [--yes] [--scope ] [--secrets | |
| ] [--smoke-test]` | 生成并写入客户端配置文件。对于Warp,它会生成一个可导入的Warp Drive JSON代码段。 --dry-run 示出了差异, --scope 适用于光标, --secrets 水合物env变体, --smoke-test 验证结果。 |
| `doctor [--fix] [--profile ] [--report credentials] [--secrets | |
| ]` | 对Node/NMP、预期的配置文件和所需的环境变量进行健康检查。 --fix 脚手架缺少文件, --report 输出凭证检查表, --secrets 首先加载env变量。 |
update-pack [--url ] [--dry-run] | 下载最新 pack.yaml,预览差异,并可选择替换本地文件。 |
profile export [--profile ] [--include-env] | 生成一个包含选定服务器、可选环境值和检测到的客户端的可共享快照。 |
profile import [--profile ] [--extend-pack] [--force] | 从快照中还原选择,并可选择将缺少的服务器定义合并到 pack.yaml. |
| `profile list | create [--copy-from |
| ]` | 管理不同设置的配置文件。 |
| `walkthrough [--profile ] [--client ] [--secrets | |
| ]` | 按照指导选择→ 安装→ diff → 医生在一个命令中排序。 |
rollback --client [--scope ] | 还原所选客户端的最新备份。 |
使用 node dist/cli.mjs --help 用于命令特定标志。替换 node dist/cli.mjs 随着 mcp-pack 如果全局安装。
包括服务器
| 服务器ID | 运行时 | 它的作用 | 秘密/注释 |
|---|---|---|---|
@modelcontextprotocol/server-filesystem | npm | 浏览本地文件和文件夹 | 无 |
@modelcontextprotocol/server-brave-search | npm | Brave搜索网页结果 | BRAVE_API_KEY (勇敢搜索API) |
@modelcontextprotocol/server-github | npm | GitHub仓库、问题、拉取请求 | GITHUB_PERSONAL_ACCESS_TOKEN 具有回购范围 |
@notionhq/notion-mcp-server | npm | 使用Notion页面和数据库 | NOTION_TOKEN 内部集成令牌 |
firecrawl-mcp | npm | Firecrawl网络爬行/抓取 | FIRECRAWL_API_KEY (在firecrawl.dev上创建) |
airtable-mcp-server | npm | Airtable基础浏览和编辑 | AIRTABLE_API_KEY 具有模式/数据作用域 |
@supabase/mcp-server-supabase | npm | Supabase项目管理和SQL工具 | SUPABASE_ACCESS_TOKEN (必填);可选的 SUPABASE_PROJECT_REF 确定一个项目的范围。默认配置传递 --read-only --如果需要更多标志,请编辑生成的配置。 |
@stripe/mcp | npm | 条纹支付、客户、发票 | STRIPE_SECRET_KEY (sk\_…);编辑配置以进行更改 --tools / --stripe-account. |
github.com/korotovsky/slack-mcp-server | go | Slack消息、历史记录、搜索 | 提供其中之一 SLACK_MCP_XOXP_TOKEN 或两者 SLACK_MCP_XOXC_TOKEN + SLACK_MCP_XOXD_TOKEN。README中记录了可选附加内容。 |
workspace-mcp | pip | 谷歌工作区(Gmail、云端硬盘、日历、文档等) | GOOGLE_OAUTH_CLIENT_ID, GOOGLE_OAUTH_CLIENT_SECRET (桌面OAuth凭据) |
awslabs.amazon-qbusiness-anonymous-mcp-server | pip | 亚马逊Q Business匿名应用访问 | QBUSINESS_APPLICATION_ID, AWS_PROFILE, AWS_REGION |
github.com/mark3labs/mcp-filesystem-server | go | 跨平台文件系统操作 | 无 |
ghcr.io/github/github-mcp-server | docker | GitHub MCP服务器,具有广泛的工具集 | GITHUB_PERSONAL_ACCESS_TOKEN |
需要另一台服务器吗?添加到 pack.yaml,然后重新运行 mcp-pack select.
安全功能
- 原子写入:所有客户端配置更新都是通过临时文件进行的,这些文件可以在一个步骤中替换原始文件。
- 带时间戳的备份:每次写入都会存储一个
.bak将文件放在原件旁边,这样你就可以rollback在任何时候。 - 可读差异:
--dry-run渲染彩色差异(由diff库),因此您可以在应用之前看到更改。 - 验证助手:医生检查确保JSON/TOML文件有效,设置了所需的环境变量,并检测存在哪些客户端。
- 秘密桥:负载
.env或者命令前的JSON文件,因此敏感值永远不会进入源代码管理,但仍然可用。 - 冒烟测试:可选择在写入后重新运行配置生成,以确认没有剩余的额外更改。
开发与测试
开发工具存在于npm脚本中。看 docs/TESTING.md 详细说明。
| 命令 | 目的 |
|---|---|
npm run typecheck | TypeScript类型检查(严格模式)。 |
npm run lint | ESLint结束 src. |
npm test | Vitest单元套房(merge, backup, diff以及医生助手)。 |
npm run build | 将CLI捆绑到 dist 使用 tsup. |
npm run smoke | 使用临时主目录进行可选的端到端CLI冒烟测试。 |
node dist/cli.mjs ... | 在本地运行构建的CLI。 |
开发时建议的循环:
npm install
npm run typecheck
npm run lint
npm test
npm run build
node dist/cli.mjs write-config --client claude --dry-run项目结构
├── pack.yaml # Curated MCP server definitions
├── src/ # CLI source (TypeScript)
├── dist/ # Build output (tsup)
├── test/ # Vitest unit tests
├── docs/ # Additional guides (testing, publishing, etc.)
├── README.md # This document
└── USER_GUIDE.md # Non-technical quick start中的服务器条目 pack.yaml 可以选择设置显式 command 和 args 字段时默认运行时启发式(npm→ npx,pip→ python -m, go → 已安装的二进制文件docker→ docker run --rm)还不够。
支持
- 看
USER_GUIDE.md一个简单的语言教程。 - 故障排除提示和清单实时发布
docs/TESTING.md. - 发布步骤(GitHub+npm)记录在
docs/PUBLISHING.md. - 一旦存储库在GitHub上上线,就可以打开问题或疑问。
许可证
麻省理工学院
- 精心策划的源代码控制:
update-pack吸引信任pack.yaml来自GitHub(可配置),以便团队保持同步。
保持包装最新
集 DEFAULT_PACK_URL 在 src/cli.ts (靠近顶部的线)到您的规范 pack.yaml URL——通常是GitHub仓库中的原始文件。然后运行:
node dist/cli.mjs update-pack --dry-run
node dist/cli.mjs update-pack该命令在写入前显示差异,并要求确认,除非您通过 --dry-run.
共享配置
使用配置文件快照命令跨机器同步设置:
node dist/cli.mjs profile export snapshots/dev.json --include-env
node dist/cli.mjs profile import snapshots/dev.json --extend-pack快照包括所选服务器、导出过程中捕获的任何环境变量,以及关于在源计算机上检测到哪些客户端的注释。 添加 --secrets .env.local 如果您将凭据存储在shell之外,则可以使用任一命令。
