MCP服务器更新工具

一个用于分析和更新Claude Desktop中Model Context Protocol (MCP)服务器的PowerShell工具,支持多种项目类型和智能更新功能。

  • by JayceeB1
  • PowerShell
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 JayceeB1/mcp-server-updater

使用说明

MCP服务器更新程序

用于分析和更新Claude Desktop的模型上下文协议(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等)

🚀 快速开始

  1. 下载最新版本或克隆此存储库:

    git clone https://github.com/JayceeB1/mcp-server-updater.git
    cd mcp-server-updater
    
  2. 从PowerShell运行脚本:

    # Allow script execution (if needed, run PowerShell as Admin)
    # Set-ExecutionPolicy RemoteSigned -Scope CurrentUser 
    
    # Run the updater
    .\Update-MCP-Servers.ps1 
    

    该脚本将分析您的服务器,报告状态,并询问您是否要更新任何有未决更改的服务器。

  3. 要使用特定语言(例如法语):

    .\Update-MCP-Servers.ps1 -Language fr-FR 
    

    (有关更多详细信息,请参阅本地化部分)

📊 它做什么

该工具按顺序执行以下操作:

  1. 分析阶段:

    • 读取Claude Desktop配置文件(%APPDATA%\Claude\claude_desktop_config.json)以识别所有MCP服务器。
    • 检测磁盘上每个服务器的位置。
    • 查找与每个服务器关联的Git存储库(如果需要,搜索父目录)。
    • 确定项目类型和所需的生成工具。
    • 检查远程存储库中是否有可用的更新(git fetch + git rev-list).
  2. 报告阶段:

    • 显示每个服务器的详细信息和更新状态。
    • 生成详细的JSON报告(mcp-detailed-analysis.json).
    • 生成操作日志(mcp-updater-log.txt).
  3. 更新确认阶段:

    • 如果任何服务器有可用的更新,它会列出这些更新。
    • 提示用户确认(Y/N)在继续更新之前。
  4. 更新阶段 (如果用户确认):

    • 对于已确认更新的每台服务器:
      • 使用备份未提交的本地更改 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.mod go mod download, go build
Java pom.xml, gradlew mvn clean install, ./gradlew build
生锈 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的标准本地化机制。面向用户的字符串存储在 .psd1 语言特定子目录中的文件 Strings 文件夹(例如。, Strings\en-US, Strings\fr-FR).

  • 支持的语言:

    • 英语(en-US)-默认值
    • 法语(fr-FR)
  • 语言选择:

    1. 参数: 使用 -Language 具有支持的文化代码的参数(例如。, .\Update-MCP-Servers.ps1 -Language fr-FR).
    2. 系统默认值: 如果 -Language 如果未提供,则脚本将尝试使用系统当前的UI区域性($PSUICulture.Name).
    3. 退路: 如果指定的语言和系统文化都没有相应的 .psd1 文件,它回退到 en-US.
  • 添加新语言:

    1. 在中创建新的子目录 Strings 使用适当的文化代码(例如。, es-ES 西班牙语)。
    2. 复制 Strings\en-US\Update-MCP-Servers.psd1 进入您的新目录。
    3. 翻译复制的字符串值 .psd1 文件。
    4. 您现在可以通过以下方式使用新语言 -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以进行更详细的日志记录。

🚀 主要改进

与基本更新方法相比,此工具提供:

  1. 智能Git仓库检测 -搜索父目录。
  2. 增强的用户界面 -带有颜色编码的清晰显示。
  3. 标准化本地化 -使用易于扩展 .psd1 文件夹。
  4. 简化执行 -基本操作不需要复杂的参数。
  5. 深度项目分析 -自动检测项目类型和生成命令。
  6. 本地变更保护 -在更新之前保留本地更改。
  7. 跨平台兼容性 -适用于各种类型的MCP服务器。

📄 许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

🤝 贡献

欢迎投稿!请随时提交拉取请求。考虑添加新语言的翻译!

☕ 支持发展

如果你觉得这个模块有用,可以考虑给我买杯咖啡来支持进一步的开发!

非常感谢您的支持,这有助于维护和改进这个项目!

📣 致谢

该工具是在Anthropic的人工智能助理Claude的帮助下创建的。

📝 其他语言