Claude MCP经理
macOS的命令行工具,用于定义、管理和在不同组之间切换 mcpServers Claude Desktop应用程序的配置文件。
目标
Claude桌面应用程序存储其配置,包括 mcpServers 端点,位于JSON文件中 ~/Library/Application Support/Claude/claude_desktop_config.json此工具允许您定义单个服务器配置并将其分组到命名配置文件中(例如,“默认”、“工作”、“实验”)。激活配置文件会更新 mcpServers 在主Claude配置文件中使用该配置文件中定义的服务器块,自动重启Claude以应用更改。通过分离服务器定义并利用环境变量作为机密(请参阅“它是如何工作的”),您可以轻松地共享服务器配置或将配置文件提交到版本控制,而不会暴露敏感的凭据。
快速安装(推荐)
在macOS终端中运行以下命令:
curl -fsSL https://raw.githubusercontent.com/BLTGV/claude-mcp-manager/main/install.sh | sh这将下载并执行安装程序脚本,该脚本处理依赖性检查、复制文件和设置命令行工具。
需求
- macOS: 该脚本依赖于macOS特定的路径和命令(
pgrep,kill,open). 它不适用于Windows或Linux。 - jq: 脚本使用
jq用于JSON处理。通过Homebrew安装:brew install jq. - 猛击: 需要一个相当现代的bash版本(>=3.2)来实现正则表达式匹配等功能(
=~).标准的macOS bash就足够了。
安装
手动安装
- 克隆存储库或下载源代码。
- 导航到终端中的项目目录。
- 使安装程序可执行:
chmod +x install.sh - 运行安装程序:
./install.sh- 脚本将尝试安装到 /usr/local/lib/claude-mcp-manager 并在中创建符号链接 /usr/local/bin。这可能需要 sudo 如果你没有写权限。 - 如果 /usr/local 不可写,它将回退到 $HOME/.local/lib 和 $HOME/.local/bin. - 如果选择了以下选项,安装程序将通知您 bin 目录不在您的 $PATH 并提供添加说明。
原理
- 配置目录: 将所有数据存储在
~/.config/claude/. - 服务器目录: 单个服务器定义存储为
.json文件在~/.config/claude/servers/. - 配置文件目录: 包含服务器名称列表的配置文件存储为
.json文件在~/.config/claude/profiles/.
- 每个配置文件看起来像: {\"servers\": [\"server1_name\", \"server2_name\"]}
- 目标文件: 脚本修改了
mcpServersClaude官方配置文件中的key:~/Library/Application Support/Claude/claude_desktop_config.json. - 秘密(
.env文件): 您可以将敏感值(如API密钥)存储在~/.config/claude/.env服务器定义文件可以使用占位符引用这些文件,例如{{ENV:YOUR_API_KEY}}或{{DOTENV:YOUR_API_KEY}}。当配置文件被激活时,这些问题就会得到解决。 - 追踪(
loaded文件): 脚本跟踪 *名字* 中当前活动的配置文件~/.config/claude/loaded. - 备份(
last.json): 在应用新配置文件之前,脚本会保存 *当前的*mcpServers从目标文件到~/.config/claude/last.json,允许使用轻松回滚last命令。 - 首次运行: 安装程序正在运行
claude-mcp-manager server list以确保在成功安装后创建配置目录。
用法
claude-mcp-manager 主要命令
- `
:激活指定的配置文件。读取配置文件中列出的服务器定义,解析机密,构造 mcpServers` block,备份主配置中的当前块,写入新块,并重新启动Claude。
last:恢复mcpServers上次配置文件激活之前处于活动状态的块(来自last.json)并重新启动克劳德。server:管理服务器定义。跑claude-mcp-manager server help了解详情。profile:管理配置文件。跑claude-mcp-manager profile help了解详情。
服务器子命令(claude-mcp-manager server ...)
list:列出在中找到的可用服务器定义文件~/.config/claude/servers/.show:显示指定服务器定义文件的JSON内容。- `add --file
:通过从以下位置复制内容来添加新的服务器定义 `.
add --json '{\"key\":\"value\"}':使用提供的JSON字符串添加新的服务器定义。edit:在您的$EDITOR(或默认为vim/nano)。remove:删除指定的服务器定义文件(提示确认)。extract [--profile ]:阅读mcpServers从主Claude配置块中,将每个服务器另存为单独的文件~/.config/claude/servers/。(可选)创建或更新指定的配置文件 `` 列出所有提取的服务器。
配置文件子命令(claude-mcp-manager profile ...)
list:列出在中找到的可用配置文件~/.config/claude/profiles/.show:列出指定配置文件中包含的服务器名称,并指示相应的服务器定义文件是否存在。create:创建一个新的空配置文件。copy:将现有配置文件复制到新名称。edit:在您的$EDITOR(或默认为vim/nano)手动编辑服务器列表。- `add
:将一个或多个服务器名称添加到指定配置文件的 "servers"` 阵列。
- `remove
:从指定的配置文件中删除一个或多个服务器名称 "servers"` 阵列。
delete:删除指定的配置文件(提示确认)。
选项
help, -h, --help:显示主要帮助消息。version, -v:显示脚本版本。
致谢
壳体完井(可选)
选项卡补全可用于Bash和Zsh shell。
首先,确保 claude-mcp-manager 已安装并可在PATH中访问。
猛击
- 安装
bash-completion@2: 如果还没有,请使用Homebrew安装最新的bash完成系统:
brew install bash-completion@2- 增添
.bash_profile: 按照打印的说明进行操作brew info bash-completion@2将必要的行添加到您的~/.bash_profile(或~/.bashrc).它通常看起来像这样:
# Add the following line (or similar) to ~/.bash_profile
export BASH_COMPLETION_COMPAT_DIR="$(brew --prefix)/etc/bash_completion.d"
[[ -r "$(brew --prefix)/etc/profile.d/bash_completion.sh" ]] && . "$(brew --prefix)/etc/profile.d/bash_completion.sh"- 生成并安装脚本: 运行以下命令以生成完成脚本并将其放置在正确的目录中:
# Determine the completion directory
COMPLETION_DIR="$(brew --prefix)/etc/bash_completion.d"
# Ensure the directory exists
mkdir -p "$COMPLETION_DIR"
# Generate the script
claude-mcp-manager completion bash > "${COMPLETION_DIR}/claude-mcp-manager"- 重新加载外壳: 打开新的终端窗口或运行
source ~/.bash_profile.
原有的质量
Zsh具有内置的补全支持。
- 确保
compinit: 确保你的~/.zshrc文件包括autoload -U compinit && compinit某处(通常在开头或结尾附近)。 - 选择完成目录: Zsh补全通常存储在您的
$fpath变量。一个常见的用户特定位置是~/.zsh/completion。如果它不存在,请创建它:
mkdir -p ~/.zsh/completion- 将目录添加到
fpath: 确保此目录已添加到您的Zsh函数路径中~/.zshrc*之前* 召唤compinit:
# Add near the top of ~/.zshrc
fpath=(~/.zsh/completion $fpath)
# ... other zsh config ...
# Ensure compinit is loaded
autoload -U compinit && compinit- 生成并安装脚本: 运行以下命令以生成完成脚本。请注意,文件名以下划线开头(
_):
claude-mcp-manager completion zsh > ~/.zsh/completion/_claude-mcp-manager- 重新加载外壳: 打开新的终端窗口或运行
source ~/.zshrc.
安装后,您应该能够使用选项卡完成命令、子命令、配置文件名称和服务器名称。
卸载
要卸载,请运行以下命令:
claude-mcp-manager uninstall这将删除脚本和命令符号链接。它将首先要求确认。
向 *也* 删除配置目录(~/.config/claude),其中包含您的所有配置文件、服务器定义、日志和 .env 文件(可能包含机密),使用:
claude-mcp-manager uninstall --remove-config警告: 删除配置目录是永久性的,需要单独确认。
