MCP Server Updater について
Claude Desktop の利用者向けに、設定済み MCP サーバーと Git リポジトリの更新状況を調べる PowerShell ツールです。選択したサーバーの更新、依存関係の導入、ビルドを行い、ローカル変更も保護します。
主な機能
- 01Claude Desktop のサーバー設定を検出
- 02Git リポジトリとプロジェクト種別の判定
- 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 フォルダー内にある言語別サブディレクトリ(例:Strings\en-US、Strings\fr-FR)の .psd1 ファイルに保存されています。
-
対応言語:
- 英語(
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 ファイルを参照してください。
🤝 コントリビューション
コントリビューションを歓迎します。お気軽にプルリクエストを送信してください。新しい言語の翻訳の追加もご検討ください。
☕ 開発を支援する
このモジュールが役に立った場合は、今後の開発を支援するために、コーヒーをおごっていただけるとうれしいです!
皆さまからのご支援に心より感謝します。プロジェクトの保守と改善に役立っています!
📣 謝辞
このツールは、Anthropic の AI アシスタントである Claude の協力を得て作成されました。
📝 その他の言語
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
