Claude配置管理工具

用于macOS的命令行工具,用于定义、管理和切换Claude桌面应用的不同mcpServers配置集(配置文件)。

  • by BLTGV
  • Shell
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 bltgv/claude-mcp-manager

使用说明

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就足够了。

安装

手动安装

  1. 克隆存储库或下载源代码。
  2. 导航到终端中的项目目录。
  3. 使安装程序可执行: chmod +x install.sh
  4. 运行安装程序:
    ./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\"]}
  • 目标文件: 脚本修改了 mcpServers Claude官方配置文件中的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 <command | profile_name | option>

主要命令

  • <profile_name>:激活指定的配置文件。读取配置文件中列出的服务器定义,解析机密,构造 mcpServers block,备份主配置中的当前块,写入新块,并重新启动Claude。
  • last:恢复 mcpServers 上次配置文件激活之前处于活动状态的块(来自 last.json)并重新启动克劳德。
  • server <subcommand>:管理服务器定义。跑 claude-mcp-manager server help 了解详情。
  • profile <subcommand>:管理配置文件。跑 claude-mcp-manager profile help 了解详情。

服务器子命令(claude-mcp-manager server ...)

  • list:列出在中找到的可用服务器定义文件 ~/.config/claude/servers/.
  • show <name>:显示指定服务器定义文件的JSON内容。
  • add <name> --file <path>:通过从以下位置复制内容来添加新的服务器定义 <path>.
  • add <name> --json '{\"key\":\"value\"}':使用提供的JSON字符串添加新的服务器定义。
  • edit <name>:在您的 $EDITOR (或默认为vim/nano)。
  • remove <name>:删除指定的服务器定义文件(提示确认)。
  • extract [--profile <name>]:阅读 mcpServers 从主Claude配置块中,将每个服务器另存为单独的文件 ~/.config/claude/servers/。(可选)创建或更新指定的配置文件 <name> 列出所有提取的服务器。

配置文件子命令(claude-mcp-manager profile ...)

  • list:列出在中找到的可用配置文件 ~/.config/claude/profiles/.
  • show <name>:列出指定配置文件中包含的服务器名称,并指示相应的服务器定义文件是否存在。
  • create <name>:创建一个新的空配置文件。
  • copy <src> <dest>:将现有配置文件复制到新名称。
  • edit <name>:在您的 $EDITOR (或默认为vim/nano)手动编辑服务器列表。
  • add <profile> <server...>:将一个或多个服务器名称添加到指定配置文件的 "servers" 阵列。
  • remove <profile> <server...>:从指定的配置文件中删除一个或多个服务器名称 "servers" 阵列。
  • delete <name>:删除指定的配置文件(提示确认)。

选项

  • help, -h, --help:显示主要帮助消息。
  • version, -v:显示脚本版本。

致谢

该项目是利用 克劳德任务主管,Eyal Toledano的人工智能驱动任务管理系统(@埃里托莱达诺)Ralph Ecom(@RalphEcom),定义、管理和实现上述功能。

壳体完井(可选)

选项卡补全可用于Bash和Zsh shell。

首先,确保 claude-mcp-manager 已安装并可在PATH中访问。

猛击

  1. 安装 bash-completion@2: 如果还没有,请使用Homebrew安装最新的bash完成系统:
    brew install bash-completion@2
    
  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"
    
  3. 生成并安装脚本: 运行以下命令以生成完成脚本并将其放置在正确的目录中:
    # 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"
    
  4. 重新加载外壳: 打开新的终端窗口或运行 source ~/.bash_profile.

原有的质量

Zsh具有内置的补全支持。

  1. 确保 compinit: 确保你的 ~/.zshrc 文件包括 autoload -U compinit && compinit 某处(通常在开头或结尾附近)。
  2. 选择完成目录: Zsh补全通常存储在您的 $fpath 变量。一个常见的用户特定位置是 ~/.zsh/completion。如果它不存在,请创建它:
    mkdir -p ~/.zsh/completion
    
  3. 将目录添加到 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
    
  4. 生成并安装脚本: 运行以下命令以生成完成脚本。请注意,文件名以下划线开头(_):
    claude-mcp-manager completion zsh > ~/.zsh/completion/_claude-mcp-manager
    
  5. 重新加载外壳: 打开新的终端窗口或运行 source ~/.zshrc.

安装后,您应该能够使用选项卡完成命令、子命令、配置文件名称和服务器名称。

卸载

要卸载,请运行以下命令:

claude-mcp-manager uninstall

这将删除脚本和命令符号链接。它将首先要求确认。

向 也 删除配置目录(~/.config/claude),其中包含您的所有配置文件、服务器定义、日志和 .env 文件(可能包含机密),使用:

claude-mcp-manager uninstall --remove-config

警告: 删除配置目录是永久性的,需要单独确认。