MCP Server Updater
Automatically analyze and update Model Context Protocol (MCP) servers for Claude Desktop
JayceeB1
README
MCP Server Updater
A PowerShell tool to analyze and update Model Context Protocol (MCP) servers for Claude Desktop.
🌟 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 (
.psd1files), 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
-
Download the latest release or clone this repository:
git clone https://github.com/JayceeB1/mcp-server-updater.git cd mcp-server-updater -
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.ps1The script will analyze your servers, report the status, and ask if you want to update any servers that have pending changes.
-
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:
-
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).
- Reads the Claude Desktop configuration file (
-
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).
-
Update Confirmation Phase:
- If any servers have updates available, it lists them.
- Prompts the user for confirmation (
Y/N) before proceeding with updates.
-
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.).
- Backs up uncommitted local changes using
- Reports the success or failure of each update.
- For each server confirmed for update:
🛠️ Supported Project Types
| Type | Detection Method | Update Commands |
|---|---|---|
| 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 |
🔧 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)
- English (
-
Language Selection:
- Parameter: Use the
-Languageparameter with a supported culture code (e.g.,.\Update-MCP-Servers.ps1 -Language fr-FR). - System Default: If
-Languageis not provided, the script attempts to use your system's current UI culture ($PSUICulture.Name). - Fallback: If neither the specified language nor the system culture has a corresponding
.psd1file, it falls back toen-US.
- Parameter: Use the
-
Adding a New Language:
- Create a new subdirectory in
Stringsusing the appropriate culture code (e.g.,es-ESfor Spanish). - Copy
Strings\en-US\Update-MCP-Servers.psd1into your new directory. - Translate the string values within the copied
.psd1file. - You can now use the new language via the
-Languageparameter (e.g.,-Language es-ES).
- Create a new subdirectory in
🔍 Advanced Usage
Command Line Arguments
.\Update-MCP-Servers.ps1 [-Language <cultureCode>]
-Language <cultureCode>: Sets the display language. Use standard culture codes likeen-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:
- Intelligent Git Repository Detection - Searches parent directories.
- Enhanced User Interface - Clear display with color coding.
- Standardized Localization - Easily extensible using
.psd1files. - Simplified Execution - No complex arguments needed for basic operation.
- Deep Project Analysis - Automatic detection of project type and build commands.
- Local Changes Protection - Stashes local changes before updating.
- 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!
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
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
MCP Package Docs Server
Facilitates LLMs to efficiently access and fetch structured documentation for packages in Go, Python, and NPM, enhancing software development with multi-language support and performance optimization.
Claude Code MCP
An implementation of Claude Code as a Model Context Protocol server that enables using Claude's software engineering capabilities (code generation, editing, reviewing, and file operations) through the standardized MCP interface.
@kazuph/mcp-taskmanager
Model Context Protocol server for Task Management. This allows Claude Desktop (or any MCP client) to manage and execute tasks in a queue-based system.
Linear MCP Server
Enables interaction with Linear's API for managing issues, teams, and projects programmatically through the Model Context Protocol.
mermaid-mcp-server
A Model Context Protocol (MCP) server that converts Mermaid diagrams to PNG images.
Jira-Context-MCP
MCP server to provide Jira Tickets information to AI coding agents like Cursor
Linear MCP Server
A Model Context Protocol server that integrates with Linear's issue tracking system, allowing LLMs to create, update, search, and comment on Linear issues through natural language interactions.
Sequential Thinking MCP Server
This server facilitates structured problem-solving by breaking down complex issues into sequential steps, supporting revisions, and enabling multiple solution paths through full MCP integration.
