🚀 Desktop Commander MCP
AIを使ってファイルの検索、更新、管理、ターミナルコマンドの実行ができるサーバーです。

ショートバージョン。4つの主要な機能。ターミナルコマンドの実行、差分ベースのファイル編集、フォルダ内のripgrepベースのテキスト検索、URLからのファイル読み取り機能
🚀 クイックスタート
このサーバーは、Claudeデスクトップアプリがコンピューター上で長時間実行されるターミナルコマンドを実行し、Model Context Protocol (MCP) を通じてプロセスを管理できるようにします。また、MCP Filesystem Server の上に構築され、追加の検索と置換によるファイル編集機能を提供します。
✨ 主な機能
- 出力ストリーミング付きでターミナルコマンドを実行
- コマンドのタイムアウトとバックグラウンド実行のサポート
- プロセス管理(プロセスの一覧表示と終了)
- 長時間実行されるコマンドのセッション管理
- 完全なファイルシステム操作:
- ファイルの読み取り/書き込み
- ディレクトリの作成/一覧表示
- ファイル/ディレクトリの移動
- ファイルの検索
- ファイルのメタデータの取得
- コード編集機能:
- 小さな変更に適した外科的なテキスト置換
- 大きな変更に適した完全なファイル書き換え
- 複数ファイルのサポート
- パターンベースの置換
- vscode-ripgrepベースのフォルダ内の再帰的なコードまたはテキスト検索
📦 インストール
まず、Claude Desktopアプリ をダウンロードしてインストールし、npmをインストール していることを確認してください。
オプション1: npxを通じてインストール
ターミナルで以下のコマンドを実行します。
npx @wonderwhy-er/desktop-commander@latest setup
デバッグモード(Node.jsインスペクターの接続を許可)の場合は、以下のコマンドを実行します。
npx @wonderwhy-er/desktop-commander@latest setup --debug
Claudeが実行中の場合は再起動してください。
オプション2: bashスクリプトインストーラーを使用する(macOS)
macOSユーザーは、自動化されたbashインストーラーを使用できます。これはNode.jsのバージョンを確認し、必要に応じてインストールし、Desktop Commanderを自動的に設定します。
curl -fsSL https://raw.githubusercontent.com/wonderwhy-er/DesktopCommanderMCP/refs/heads/main/install.sh | bash
このスクリプトは、すべての依存関係と設定を自動的に処理し、シームレスなセットアップ体験を提供します。
オプション3: Smitheryを通じてインストール
Smithery を通じてClaude Desktop用のDesktop Commanderを自動的にインストールするには、以下のコマンドを実行します。
npx -y @smithery/cli install @wonderwhy-er/desktop-commander --client claude
オプション4: claude_desktop_configに手動で追加
以下のエントリをclaude_desktop_config.jsonに追加します。
- Mac:
~/Library/Application\ Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- Linux:
~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"desktop-commander": {
"command": "npx",
"args": [
"-y",
"@wonderwhy-er/desktop-commander"
]
}
}
}
Claudeが実行中の場合は再起動してください。
オプション5: ローカルでチェックアウト
- クローンしてビルドします。
git clone https://github.com/wonderwhy-er/ClaudeComputerCommander.git
cd ClaudeComputerCommander
npm run setup
Claudeが実行中の場合は再起動してください。
セットアップコマンドは以下のことを行います。
- 依存関係のインストール
- サーバーのビルド
- Claudeのデスクトップアプリの設定
- 必要に応じてClaudeの設定にMCPサーバーを追加
Desktop Commanderの更新
npx(オプション1)またはSmithery(オプション2)を通じてインストールした場合、Claudeを再起動するたびにDesktop Commanderは自動的に最新バージョンに更新されます。手動での更新プロセスは必要ありません。
手動でのインストールの場合は、セットアップコマンドを再度実行することで更新できます。
💻 使用例
基本的な使用法
このサーバーは以下のツールカテゴリを提供します。
ターミナルツール
execute_command
: タイムアウトを設定してコマンドを実行
read_output
: 長時間実行されるコマンドの出力を取得
force_terminate
: 実行中のコマンドセッションを停止
list_sessions
: アクティブなコマンドセッションを表示
list_processes
: システムプロセスを表示
kill_process
: PIDでプロセスを終了
block_command
/unblock_command
: コマンドのブラックリストを管理
ファイルシステムツール
read_file
/write_file
: ローカルファイルシステムまたはURLからファイルを読み取る(Claude内で直接PNG、JPEG、GIF、WebP画像を表示することができます)
create_directory
/list_directory
: ディレクトリ管理
move_file
: ファイルの移動/名前変更
search_files
: パターンベースのファイル検索
get_file_info
: ファイルのメタデータ
search_code
: 再帰的なripgrepベースのテキストおよびコード検索
編集ツール
edit_block
: 外科的なテキスト置換を適用(ファイルサイズの20%未満の変更に最適)
write_file
: 完全なファイル書き換え(20%を超える大きな変更またはedit_blockが失敗した場合に最適)
検索/置換ブロックの形式:
filepath.ext
<<<<<<< SEARCH
content to find
=======
new content
>>>>>>> REPLACE
例:
src/main.js
<<<<<<< SEARCH
console.log("old message");
=======
console.log("new message");
>>>>>>> REPLACE
URLサポート
read_file
は現在、ローカルファイルとURLの両方からコンテンツを取得できます。
- 例:
read_file
に isUrl: true
パラメータを指定して、Webリソースから読み取ることができます。
- リモートソースからのテキストと画像コンテンツの両方を処理します。
- 画像(ローカルまたはURLから)はClaudeのインターフェイスで視覚的に表示され、テキストとしてではありません。
- Claudeは実際の画像コンテンツを見て分析することができます。
- URLリクエストのデフォルトのタイムアウトは30秒です。
高度な使用法
長時間実行されるコマンドの処理
長時間実行されるコマンドの場合は、以下の手順を行います。
execute_command
はタイムアウト後に初期出力とともに戻ります。
- コマンドはバックグラウンドで続行されます。
read_output
をPIDとともに使用して、新しい出力を取得します。
- 必要に応じて
force_terminate
を使用して停止します。
デバッグ
サーバーをデバッグする必要がある場合は、デバッグモードでインストールできます。
npx @wonderwhy-er/desktop-commander@latest setup --debug
npm run setup:debug
これにより、以下のことが行われます。
- Claudeが別の "desktop-commander" サーバーを使用するように設定されます。
--inspect-brk=9229
フラグでNode.jsインスペクタープロトコルが有効になります。
- デバッガーが接続されるまで実行が一時停止されます。
- 追加のデバッグ環境変数が有効になります。
デバッガーを接続するには:
- Chromeで
chrome://inspect
にアクセスし、Node.jsインスタンスを探します。
- VS Codeでは、"Attach to Node Process" デバッグ構成を使用します。
- 他のIDE/ツールには、Node.jsデバッグ用の同様の "attach" オプションがある場合があります。
重要なデバッグメモ:
- サーバーはデバッガーが接続されるまで起動時に一時停止します(
--inspect-brk
フラグのため)。
- デバッグ中にアクティビティが見られない場合は、正しいNode.jsプロセスに接続されていることを確認してください。
- 複数のNodeプロセスが実行されている場合があります。ポート9229のプロセスに接続してください。
- デバッグサーバーはClaudeのMCPサーバーリストで "desktop-commander-debug" として識別されます。
トラブルシューティング:
- Claudeがデバッグサーバーを使用しようとしてタイムアウトする場合は、デバッガーが正しく接続されていない可能性があります。
- 正しく接続されると、最初のブレークポイントに到達した後にプロセスが続行されます。
- 接続後は、IDEに追加のブレークポイントを追加できます。
📚 ドキュメント
進行中の作業とTODO
現在開発中または計画されている機能は以下の通りです。
- より良い設定 (進行中) - 許可されたパス、コマンド、およびシェル環境の設定を改善します。
- Windows環境の修正 (進行中) - Windowsプラットフォームに固有の問題を解決します。
- Linuxの改善 (進行中) - さまざまなLinuxディストリビューションとの互換性を向上させます。
- WSLのサポート - Windows Subsystem for Linuxの統合
- SSHのサポート - リモートサーバーのコマンド実行
- インストールトラブルシューティングガイド - セットアップ問題の包括的なヘルプ
メディアリンク
このプロジェクトについて、以下のリソースを通じて詳しく学ぶことができます。
評判
https://www.youtube.com/watch?v=ly3bed99Dy8&lc=UgyyBt6_ShdDX_rIOad4AaABAg
https://www.youtube.com/watch?v=ly3bed99Dy8&lc=UgztdHvDMqTb9jiqnf54AaABAg
https://www.youtube.com/watch?v=ly3bed99Dy8&lc=UgyQFTmYLJ4VBwIlmql4AaABAg
https://www.youtube.com/watch?v=ly3bed99Dy8&lc=Ugy4-exy166_Ma7TH-h4AaABAg
https://medium.com/@pharmx/you-sir-are-my-hero-62cff5836a3e
よくある質問
以下は一般的な質問への回答です。より包括的なFAQについては、詳細なFAQドキュメント を参照してください。
- Claude Desktop Commanderとは何ですか?
これはMCPツールで、Claude Desktopがファイルシステムとターミナルにアクセスできるようにし、Claudeをコーディング、自動化、コードベースの探索などの多目的なアシスタントに変えます。
- これはCursor/Windsurfとどう違いますか?
IDEに焦点を当てたツールとは異なり、Claude Desktop Commanderはソリューション中心のアプローチを提供し、コーディング環境内だけでなく、オペレーティングシステム全体で動作します。Claudeはファイルをチャンクに分割するのではなく、完全に読み取り、複数のプロジェクトを同時に扱うことができ、変更を一度に実行するため、常にレビューする必要はありません。
- APIクレジットを支払う必要がありますか?
いいえ。このツールはClaude Desktopの標準Proサブスクリプション(月額20ドル)で動作し、API呼び出しではないため、サブスクリプション料金以外の追加費用は発生しません。
- Desktop Commanderは自動的に更新されますか?
はい、npxまたはSmitheryを通じてインストールした場合、Claudeを再起動するとDesktop Commanderは自動的に最新バージョンに更新されます。手動での更新プロセスは必要ありません。
- 最も一般的な使用例は何ですか?
- 複雑なコードベースの探索と理解
- ダイアグラムとドキュメントの生成
- システム全体でのタスクの自動化
- 複数のプロジェクトを同時に扱う
- 精密な制御で外科的なコード変更を行う
- ツールのインストールや使用に問題があります。どこでヘルプを得ることができますか?
Discordサーバー に参加してコミュニティのサポートを受けたり、GitHubの問題 を確認して既知の問題を探したり、完全なFAQ を確認してトラブルシューティングのヒントを得たりできます。また、ウェブサイトのFAQセクション を訪れると、より使いやすい体験が得られます。新しい問題に遭遇した場合は、GitHubの問題を開く ことを検討してください。
データ収集
インストールとセットアップ中に、Desktop Commanderは匿名の使用データを収集してツールを改善します。これには以下が含まれます。
- オペレーティングシステムの情報
- Node.jsとNPMのバージョン
- インストール方法とシェル環境
- セットアップ中に発生したエラーメッセージ(ある場合)
このデータはPostHogアナリティクスを使用して収集され、マシン生成の一意のIDに関連付けられます。個人情報は収集されません。これにより、ツールの使用方法を理解し、一般的な問題を特定するのに役立ちます。
現在、このデータ収集のビルトインオプトアウトオプションを次のリリースで追加する作業を行っています。現時点でオプトアウトしたい場合は、ファイアウォール設定で eu.i.posthog.com
へのネットワーク接続をブロックできます。
貢献
このプロジェクトが役に立つと思った場合は、GitHubで⭐スターを付けてください!これにより、他の人がこのプロジェクトを発見しやすくなり、さらなる開発が促進されます。
コミュニティからの貢献を歓迎します!バグを見つけた場合、機能要求がある場合、またはコードを貢献したい場合は、以下の方法でお手伝いいただけます。
📄 ライセンス
MITライセンスの下で提供されています。