MCP服务器安装工具

MCP Pack是一个通用的MCP服务器安装工具,用于简化AI工具的配置和管理,支持多种客户端配置文件的自动更新。

  • by aware88
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 aware88/mcp-pack

使用说明

MCP包

通用MCP服务器安装程序,适合那些只想让他们的人工智能工具工作的人。MCP Pack允许您选择一组精心策划的服务器,使用安全的后备功能安装它们,并更新多个客户端配置文件,而无需手动触摸JSON或TOML。

状态: MVP准备好了。支持Claude Desktop、Cursor、VS Code、Windsurf、Warp(Warp Drive导出)和Codex配置格式。

快速TL;博士:

  • npm i -g mcp-pack
  • mcp-pack select
  • mcp-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
  • 视窗:安装 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

快速启动

  1. 选择服务器 对于您的默认配置文件:
    node dist/cli.mjs select
    
  2. 安装 为Claude选择的服务器(替换 claude 随着 cursor, vscode, windsurf, warp,或 codex 根据需要,或传递逗号列表以标记多个客户端):
    node dist/cli.mjs install --client claude
    
  3. 写入配置 (如果你想预览差异,请先进行模拟运行):
    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 注册服务器。
  4. 检查问题:
    node dist/cli.mjs doctor --fix
    

需要额外的指导?跑 node dist/cli.mjs walkthrough 依次选择服务器、安装客户端、预览差异和交互式运行doctor命令。

命令概述

命令 它的作用
select [--profile <name>] 从中选择服务器 pack.yaml 并将其存储在 ~/.mcp-pack/selections/<profile>.json.
install --client <ids>[,<ids>] [--profile <name>] [--yes] [--verbose] [--secrets <path>] 安装每个选定的服务器一次,然后为列出的客户端重用它。启动命令根据运行时(npm/pip/go/docker)推断或根据显式 command/args 覆盖在 pack.yaml. --secrets 从以下位置预加载环境变量 .env/JSON。
write-config --client <id> [--profile <name>] [--dry-run] [--yes] [--scope <scope>] [--secrets <path>] [--smoke-test] 生成并写入客户端配置文件。对于Warp,它会生成一个可导入的Warp Drive JSON代码段。 --dry-run 示出了差异, --scope 适用于光标, --secrets 水合物env变体, --smoke-test 验证结果。
doctor [--fix] [--profile <name>] [--report credentials] [--secrets <path>] 对Node/NMP、预期的配置文件和所需的环境变量进行健康检查。 --fix 脚手架缺少文件, --report 输出凭证检查表, --secrets 首先加载env变量。
update-pack [--url <url>] [--dry-run] 下载最新 pack.yaml,预览差异,并可选择替换本地文件。
profile export <file> [--profile <name>] [--include-env] 生成一个包含选定服务器、可选环境值和检测到的客户端的可共享快照。
profile import <file> [--profile <name>] [--extend-pack] [--force] 从快照中还原选择,并可选择将缺少的服务器定义合并到 pack.yaml.
`profile list create [--copy-from ]`
walkthrough [--profile <name>] [--client <ids>] [--secrets <path>] 按照指导选择→ 安装→ diff → 医生在一个命令中排序。
rollback --client <id> [--scope <scope>] 还原所选客户端的最新备份。

使用 node dist/cli.mjs <command> --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之外,则可以使用任一命令。