关于 MCP Server Updater
面向 Claude Desktop 用户的 PowerShell 工具,可检查配置的 MCP 服务及其 Git 仓库更新状态。它能更新选定服务、安装依赖、构建项目,并保护本地更改。
主要功能
- 01读取 Claude Desktop 中的服务配置
- 02检测 Git 仓库和项目类型
- 03检查可用更新
- 04更新前请求确认
- 05暂存本地更改并构建项目
适用场景
- 01查看已配置 MCP 服务的更新状态
- 02更新选定服务并重新构建项目
MCP 相关
工具读取 Claude Desktop 配置中的 MCP 服务条目,并分析和更新对应的服务仓库。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP 服务更新器
一款用于分析和更新 Claude Desktop 的 Model Context Protocol(MCP)服务的 PowerShell 工具。
🌟 功能
- 自动检测 MCP 服务:读取你的 Claude Desktop 配置,查找所有已配置的 MCP 服务。
- 智能仓库分析:即使 Git 仓库位于父目录中,也能检测到它们。
- 支持多种技术:支持多种项目类型,包括 Node.js、Python、Go、Java、Rust、.NET 和 C/C++。
- 详细报告:全面分析所有 MCP 服务。
- 自动检查更新:识别有可用更新的服务。
- 用户确认后更新:应用更新前会请求确认。
- 安全更新:应用更新前创建备份分支(如果存在本地更改)。
- 智能构建流程:更新后根据项目类型自动运行正确的构建命令。
- 标准化本地化:使用 PowerShell 的标准本地化系统(
.psd1文件),易于扩展。
📋 要求
- Windows 10/11
- PowerShell 5.1 或更高版本
- 已安装 Git,且位于你的 PATH 中
- 已安装 Claude Desktop
- 适用于 MCP 服务的包管理器(npm、pip 等)
🚀 快速开始
-
下载最新版本,或克隆此仓库:
git clone https://github.com/JayceeB1/mcp-server-updater.git cd mcp-server-updater -
在 PowerShell 中运行脚本:
# 允许执行脚本(如有需要,请以管理员身份运行 PowerShell) # Set-ExecutionPolicy RemoteSigned -Scope CurrentUser # 运行更新器 .\Update-MCP-Servers.ps1脚本将分析你的服务、报告状态,并询问你是否要更新有待处理更改的服务。
-
使用特定语言(例如法语):
.\Update-MCP-Servers.ps1 -Language fr-FR(更多详情请参阅“本地化”部分)
📊 功能说明
该工具依次执行以下操作:
-
分析阶段:
- 读取 Claude Desktop 配置文件(
%APPDATA%\Claude\claude_desktop_config.json),识别所有 MCP 服务。 - 检测每个服务在磁盘上的位置。
- 查找与每个服务关联的 Git 仓库(如有需要,会搜索父目录)。
- 确定项目类型和所需的构建工具。
- 检查远程仓库是否有可用更新(
git fetch+git rev-list)。
- 读取 Claude Desktop 配置文件(
-
报告阶段:
- 显示每个服务的详细信息和更新状态。
- 生成详细的 JSON 报告(
mcp-detailed-analysis.json)。 - 生成操作日志(
mcp-updater-log.txt)。
-
更新确认阶段:
- 如果有服务存在可用更新,则会列出这些服务。
- 继续更新前,会提示用户确认(
Y/N)。
-
更新阶段(经用户确认后):
- 对于每个确认更新的服务:
- 使用
git stash备份尚未提交的本地更改(可选,仅在存在更改时执行)。 - 从远程仓库拉取最新更改(
git pull)。 - 使用相应的包管理器安装依赖(npm、pip 等)。
- 使用正确的构建系统构建更新后的代码(npm run build、mvn install 等)。
- 使用
- 报告每项更新的成功或失败情况。
- 对于每个确认更新的服务:
🛠️ 支持的项目类型
| 类型 | 检测方法 | 更新命令 |
|---|---|---|
| Node.js | package.json | npm install、npm run build |
| TypeScript | tsconfig.json | npm install、npm run build |
| Python | requirements.txt、Pipfile、setup.py | pip install、pipenv install |
| Go | go.mod | go mod download、go build |
| Java | pom.xml、gradlew | mvn clean install、./gradlew build |
| Rust | Cargo.toml | cargo build |
| .NET | *.csproj | dotnet restore、dotnet build |
| C/C++ | Makefile、CMakeLists.txt | make、cmake |
🔧 配置
脚本本身无需特殊配置。它会自动读取 Claude Desktop 配置,路径如下:
%APPDATA%\Claude\claude_desktop_config.json
请确保此文件中正确列出了你的 MCP 服务。
🌐 本地化
此工具使用 PowerShell 标准本地化机制。面向用户的字符串存储在 Strings 文件夹下各语言子目录中的 .psd1 文件内(例如,Strings\en-US、Strings\fr-FR)。
-
支持的语言:
- 英语(
en-US)- 默认 - 法语(
fr-FR)
- 英语(
-
语言选择:
- 参数: 使用
-Language参数和受支持的区域性代码(例如,.\Update-MCP-Servers.ps1 -Language fr-FR)。 - 系统默认值: 如果未提供
-Language,脚本会尝试使用系统当前的 UI 区域性($PSUICulture.Name)。 - 回退: 如果指定语言或系统区域性没有对应的
.psd1文件,则回退到en-US。
- 参数: 使用
-
添加新语言:
- 在
Strings中使用相应的区域性代码创建一个新子目录(例如,西班牙语使用es-ES)。 - 将
Strings\en-US\Update-MCP-Servers.psd1复制到新目录中。 - 翻译复制后的
.psd1文件中的字符串值。 - 现在可以通过
-Language参数使用新语言(例如,-Language es-ES)。
- 在
🔍 高级用法
命令行参数
.\Update-MCP-Servers.ps1 [-Language <cultureCode>]
-Language <cultureCode>:设置显示语言。使用标准区域性代码,例如en-US、fr-FR等。
(注意:-Update 和 -ForceUpdate 参数已移除。脚本现在会自动检查更新并提示确认。)
环境变量
MCP_UPDATER_BACKUP_DIR:(当前尚未实现)备份的自定义位置。MCP_UPDATER_LOG_LEVEL:(当前尚未实现)设为 DEBUG 可输出更详细的日志。
🚀 主要改进
与基本更新方式相比,此工具提供:
- 智能 Git 仓库检测 - 搜索父目录。
- 增强的用户界面 - 通过颜色编码清晰显示。
- 标准化本地化 - 使用
.psd1文件轻松扩展。 - 简化执行 - 基本操作无需复杂参数。
- 深入的项目分析 - 自动检测项目类型和构建命令。
- 本地更改保护 - 更新前暂存本地更改。
- 跨平台兼容性 - 支持各种类型的 MCP 服务。
📄 许可证
此项目采用 MIT License 许可 - 详情请参阅 LICENSE 文件。
🤝 参与贡献
欢迎贡献!请随时提交 Pull Request。也欢迎为新语言添加翻译!
☕ 支持开发
如果你觉得这个模块有用,可以请我喝杯咖啡,支持后续开发!
非常感谢你的支持,它有助于维护和改进这个项目!
📣 致谢
此工具是在 Anthropic 的 AI 助手 Claude 的帮助下创建的。
📝 其他语言
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。
