mcpField
M
MCP Server Updater

MCP Server Updater

Local
github.com/JayceeB1Developer Tools5Updated 82w ago

About MCP Server Updater

A PowerShell utility for Claude Desktop users that inspects configured MCP servers and checks their Git repositories for updates. It can update selected servers, install dependencies, build projects, and protect local changes.

Key features

  1. 01Finds servers in Claude Desktop configuration
  2. 02Detects Git repositories and project types
  3. 03Checks for available updates
  4. 04Confirms updates before applying them
  5. 05Stashes local changes and builds projects

Use cases

  1. 01Review update status for configured MCP servers
  2. 02Update selected servers and rebuild their projects

MCP support

It reads the MCP server entries in Claude Desktop's configuration, then analyzes and updates the associated server repositories.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

MCP Server Updater

A PowerShell tool to analyze and update Model Context Protocol (MCP) servers for Claude Desktop.

MCP Server Updater Banner

🌟 Features

  • Automatic MCP Server Detection: Reads your Claude Desktop configuration to find all configured MCP servers.
  • Smart Repository Analysis: Detects Git repositories even if they're in parent directories.
  • Multi-Technology Support: Handles various project types including Node.js, Python, Go, Java, Rust, .NET, and C/C++.
  • Detailed Reporting: Provides comprehensive analysis of all your MCP servers.
  • Automatic Update Check: Identifies servers with available updates.
  • User-Confirmed Updates: Prompts for confirmation before applying updates.
  • Safe Updates: Creates backup branches before applying updates (if local changes exist).
  • Intelligent Build Process: Automatically runs the correct build commands based on project type after updating.
  • Standardized Localization: Uses PowerShell's standard localization system (.psd1 files), easily extensible.

📋 Requirements

  • Windows 10/11
  • PowerShell 5.1 or later
  • Git installed and in your PATH
  • Claude Desktop installed
  • Package managers for your MCP servers (npm, pip, etc.)

🚀 Quick Start

  1. Download the latest release or clone this repository:

    git clone https://github.com/JayceeB1/mcp-server-updater.git
    cd mcp-server-updater
    
  2. Run the script from PowerShell:

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

    The script will analyze your servers, report the status, and ask if you want to update any servers that have pending changes.

  3. To use a specific language (e.g., French):

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

    (See the Localization section for more details)

📊 What It Does

The tool performs these operations sequentially:

  1. Analysis Phase:

    • Reads the Claude Desktop configuration file (%APPDATA%\Claude\claude_desktop_config.json) to identify all MCP servers.
    • Detects the location of each server on disk.
    • Finds the Git repository associated with each server (searching parent directories if needed).
    • Determines the project type and required build tools.
    • Checks if updates are available from the remote repository (git fetch + git rev-list).
  2. Reporting Phase:

    • Displays detailed information and the update status for each server.
    • Generates a detailed JSON report (mcp-detailed-analysis.json).
    • Generates an operations log (mcp-updater-log.txt).
  3. Update Confirmation Phase:

    • If any servers have updates available, it lists them.
    • Prompts the user for confirmation (Y/N) before proceeding with updates.
  4. Update Phase (if confirmed by the user):

    • For each server confirmed for update:
      • Backs up uncommitted local changes using git stash (optional, if changes exist).
      • Pulls the latest changes from the remote repository (git pull).
      • Installs dependencies using the appropriate package manager (npm, pip, etc.).
      • Builds the updated code using the correct build system (npm run build, mvn install, etc.).
    • Reports the success or failure of each update.

🛠️ Supported Project Types

TypeDetection MethodUpdate Commands
Node.jspackage.jsonnpm install, npm run build
TypeScripttsconfig.jsonnpm install, npm run build
Pythonrequirements.txt, Pipfile, setup.pypip install, pipenv install
Gogo.modgo mod download, go build
Javapom.xml, gradlewmvn clean install, ./gradlew build
RustCargo.tomlcargo build
.NET*.csprojdotnet restore, dotnet build
C/C++Makefile, CMakeLists.txtmake, cmake

🔧 Configuration

No special configuration is required for the script itself. It automatically reads your Claude Desktop configuration from:

%APPDATA%\Claude\claude_desktop_config.json

Ensure this file correctly lists your MCP servers.

🌐 Localization

The tool uses PowerShell's standard localization mechanism. User-facing strings are stored in .psd1 files within language-specific subdirectories under the Strings folder (e.g., Strings\en-US, Strings\fr-FR).

  • Supported Languages:

    • English (en-US) - Default
    • French (fr-FR)
  • Language Selection:

    1. Parameter: Use the -Language parameter with a supported culture code (e.g., .\Update-MCP-Servers.ps1 -Language fr-FR).
    2. System Default: If -Language is not provided, the script attempts to use your system's current UI culture ($PSUICulture.Name).
    3. Fallback: If neither the specified language nor the system culture has a corresponding .psd1 file, it falls back to en-US.
  • Adding a New Language:

    1. Create a new subdirectory in Strings using the appropriate culture code (e.g., es-ES for Spanish).
    2. Copy Strings\en-US\Update-MCP-Servers.psd1 into your new directory.
    3. Translate the string values within the copied .psd1 file.
    4. You can now use the new language via the -Language parameter (e.g., -Language es-ES).

🔍 Advanced Usage

Command Line Arguments
.\Update-MCP-Servers.ps1 [-Language <cultureCode>]
  • -Language <cultureCode>: Sets the display language. Use standard culture codes like en-US, fr-FR, etc.

(Note: -Update and -ForceUpdate arguments have been removed. The script now automatically checks for updates and prompts for confirmation.)

Environment Variables
  • MCP_UPDATER_BACKUP_DIR: (Not currently implemented) Custom location for backups.
  • MCP_UPDATER_LOG_LEVEL: (Not currently implemented) Set to DEBUG for more verbose logging.

🚀 Main Improvements

Compared to basic update methods, this tool provides:

  1. Intelligent Git Repository Detection - Searches parent directories.
  2. Enhanced User Interface - Clear display with color coding.
  3. Standardized Localization - Easily extensible using .psd1 files.
  4. Simplified Execution - No complex arguments needed for basic operation.
  5. Deep Project Analysis - Automatic detection of project type and build commands.
  6. Local Changes Protection - Stashes local changes before updating.
  7. Cross-platform Compatibility - Works with various types of MCP servers.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request. Consider adding translations for new languages!

☕ Support Development

If you find this module useful, consider buying me a coffee to support further development!

Buy Me A Coffee

Your support is greatly appreciated and helps keep this project maintained and improved!

📣 Acknowledgements

This tool was created with the help of Claude, an AI assistant from Anthropic.

📝 Other Languages

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.