デスクトップコマンダーMCP
AI でファイルを検索、更新、管理し、ターミナル コマンドを実行します
コードとテキストを操作し、プロセスを実行し、タスクを自動化することで、API トークンのコストなしで、他の AI エディターをはるかに超える機能を実現します。
目次
AI開発ツールをすべて1か所に。Desktop Commanderは、すべての開発ツールを1つのチャットにまとめます。コンピューター上で長時間実行されるターミナルコマンドを実行し、モデルコンテキストプロトコル(MCP)を介してプロセスを管理します。MCPファイルシステムサーバー上に構築されており、追加のファイル検索および置換編集機能を提供します。
特徴
- 出力ストリーミングでターミナルコマンドを実行する
- コマンドタイムアウトとバックグラウンド実行のサポート
- プロセス管理(プロセスの一覧表示と終了)
- 長時間実行コマンドのセッション管理
- サーバー構成管理:
- 設定値の取得/設定
- 複数の設定を一度に更新する
- サーバーの再起動なしで動的な構成変更が可能
- 完全なファイルシステム操作:
- ファイルの読み取り/書き込み
- ディレクトリの作成/一覧表示
- ファイル/ディレクトリを移動する
- ファイルを検索
- ファイルのメタデータを取得する
- コード編集機能:
- 小さな変更のための外科的テキスト置換
- 大きな変更があった場合はファイル全体を書き換える
- 複数ファイルのサポート
- パターンベースの置換
- vscode-ripgrep ベースのフォルダー内の再帰コードまたはテキスト検索
- 包括的な監査ログ:
- すべてのツール呼び出しは自動的に記録されます
- 10MBのサイズ制限のあるログローテーション
- 詳細なタイムスタンプと引数
インストール
まず、 Claude デスクトップ アプリをダウンロードしてインストールし、 npm がインストールされていることを確認します。
オプション1: npx経由でインストールする
ターミナルでこれを実行するだけです:
デバッグモードの場合(Node.js インスペクター接続を許可):
実行中の場合は、Claude を再起動します。
オプション2: bashスクリプトインストーラーを使用する (macOS)
macOS ユーザーの場合は、Node.js のバージョンを確認し、必要に応じてインストールし、Desktop Commander を自動的に構成する自動 bash インストーラーを使用できます。
このスクリプトは、シームレスなセットアップエクスペリエンスを実現するために、すべての依存関係と構成を自動的に処理します。
オプション3: Smithery経由でインストールする
Smithery経由で Claude Desktop 用の Desktop Commander を自動的にインストールするには:
オプション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
実行中の場合は、Claude を再起動します。
オプション5: 現地でチェックアウト
- クローンとビルド:
実行中の場合は、Claude を再起動します。
セットアップ コマンドは次の処理を実行します。
- 依存関係をインストールする
- サーバーを構築する
- Claudeのデスクトップアプリを構成する
- 必要に応じて、Claude の設定に MCP サーバーを追加します。
デスクトップコマンダーのアップデート
npx(オプション1)またはSmithery(オプション3)経由でインストールした場合、Claudeを再起動するたびにDesktop Commanderは自動的に最新バージョンに更新されます。手動での更新作業は必要ありません。
手動インストールの場合は、セットアップ コマンドを再度実行して更新できます。
使用法
サーバーは、いくつかのカテゴリに分類された包括的なツール セットを提供します。
利用可能なツール
カテゴリ | 道具 | 説明 |
---|---|---|
構成 | get_config | 完全なサーバー構成を JSON として取得します (blockedCommands、defaultShell、allowedDirectories、fileReadLineLimit、fileWriteLineLimit、telemetryEnabled が含まれます) |
set_config_value | キーで特定の設定値を設定します。使用可能な設定:• blockedCommands :実行できないシェルコマンドの配列• defaultShell :コマンドに使用するシェル(例:bash、zsh、powershell)• allowedDirectories :サーバーがファイル操作のためにアクセスできるファイルシステムパスの配列(⚠️ターミナルコマンドはこれらのディレクトリ外のファイルにもアクセスできます)• fileReadLineLimit :一度に読み取る最大行数(デフォルト:1000)• fileWriteLineLimit :一度に書き込む最大行数(デフォルト:50)• telemetryEnabled :テレメトリの有効化/無効化(ブール値) | |
ターミナル | execute_command | タイムアウトとシェル選択を設定してターミナルコマンドを実行する |
read_output | 実行中のターミナルセッションから新しい出力を読み取る | |
force_terminate | 実行中のターミナルセッションを強制終了する | |
list_sessions | すべてのアクティブなターミナルセッションを一覧表示する | |
list_processes | 実行中のすべてのプロセスを詳細情報とともに一覧表示します | |
kill_process | PIDで実行中のプロセスを終了する | |
ファイルシステム | read_file | 行ベースのページ区切りを使用して、ローカルファイルシステムまたは URL からコンテンツを読み取ります (オフセットと長さのパラメータをサポート) |
read_multiple_files | 複数のファイルを同時に読み取る | |
write_file | 書き換えモードまたは追加モードのオプションを使用してファイルの内容を書き込む(設定可能な行制限を使用) | |
create_directory | 新しいディレクトリを作成するか、存在することを確認します | |
list_directory | ファイルとディレクトリの詳細なリストを取得する | |
move_file | ファイルとディレクトリの移動または名前の変更 | |
search_files | 大文字と小文字を区別しない部分文字列マッチングを使用して名前でファイルを検索します | |
search_code | ripgrep を使用してファイルの内容内のテキスト/コードパターンを検索する | |
get_file_info | ファイルまたはディレクトリに関する詳細なメタデータを取得する | |
テキスト編集 | edit_block | 小さな編集のための強化されたプロンプトを使用して、対象を絞ったテキスト置換を適用します(文字レベルの差分フィードバックを含む) |
ツールの使用例
検索/置換ブロック形式:
例:
強化された編集ブロック機能
edit_block
ツールには、信頼性を向上させるためのいくつかの機能強化が含まれています。
- プロンプトの改善:ツールの説明では、1つの大きな変更ではなく、複数の小さな集中的な編集を行うことを強調するようになりました。
- あいまい検索フォールバック: 完全一致が失敗した場合、あいまい検索を実行し、詳細なフィードバックを提供します。
- 文字レベルの差分:
{-removed-}{+added+}
形式を使用して、違いを正確に表示します。 - 複数出現のサポート:
expected_replacements
パラメータを使用して複数のインスタンスを置き換えることができます - 包括的なログ記録: すべてのあいまい検索は分析とデバッグのためにログに記録されます。
検索が失敗した場合、類似度、実行時間、文字の差異など、見つかった最も近い一致に関する詳細情報が表示されます。これらの詳細はすべて自動的に記録され、後であいまい検索ログツールを使用して分析できます。
URLサポート
read_file
ローカルファイルと URL の両方からコンテンツを取得できるようになりました- 例: Webリソースから読み取るための
isUrl: true
パラメータ付きのread_file
- リモートソースからのテキストと画像コンテンツの両方を処理
- 画像(ローカルまたはURLから)は、テキストではなく、Claudeのインターフェースで視覚的に表示されます。
- クロードは実際の画像コンテンツを見て分析することができます
- URL リクエストのデフォルトの 30 秒のタイムアウト
あいまい検索ログ分析(npm スクリプト)
あいまい検索ログ システムには、MCP 環境外でログを分析するための便利な npm スクリプトが含まれています。
これらのスクリプトの詳細なドキュメントについては、 scripts/README.md を参照してください。
あいまい検索ログ
Desktop Commanderには、 edit_block
ツールにおけるあいまい検索操作に関する包括的なログ機能が搭載されていま��。完全一致が見つからない場合、システムはあいまい検索を実行し、分析のために詳細な情報をログに記録します。
記録される内容
すべてのあいまい検索操作では次のログが記録されます。
- 検索と見つかったテキスト: 探しているテキストと見つかったもの
- 類似度スコア: 一致度合い(0-100%)
- 実行時間: 検索にかかった時間
- キャラクターの違い: 違いを正確に示す詳細な差分
- ファイルのメタデータ: 拡張子、検索/見つかったテキストの長さ
- 文字コード: 差異の原因となる特定の文字コード
ログの場所
ログは自動的に次の場所に保存されます:
- macOS/Linux :
~/.claude-server-commander-logs/fuzzy-search.log
- Windows :
%USERPROFILE%\.claude-server-commander-logs\fuzzy-search.log
学ぶ内容
あいまい検索ログは次のことを理解するのに役立ちます。
- 完全一致が失敗する理由: 空白の違い、行末、文字エンコードなどの一般的な問題
- パフォーマンスパターン: 検索の複雑さが実行時間に与える影響
- ファイルタイプの問題: どのファイル拡張子にマッチングの問題がよく発生するか
- 文字エンコーディングの問題: 差異を引き起こす特定の文字コード
監査ログ
Desktop Commander には、すべてのツール呼び出しの包括的なログ記録が含まれるようになりました。
記録される内容
- すべてのツール呼び出しは、タイムスタンプ、ツール名、引数とともに記録されます(プライバシー保護のためサニタイズされています)。
- ログは10MBに達すると自動的にローテーションされます
ログの場所
ログは次の場所に保存されます:
- macOS/Linux :
~/.claude-server-commander/claude_tool_call.log
- Windows :
%USERPROFILE%\.claude-server-commander\claude_tool_call.log
この監査証跡は、デバッグ、セキュリティ監視、Claude がシステムとどのように対話しているかの理解に役立ちます。
長時間実行されるコマンドの処理
時間がかかる可能性があるコマンドの場合:
構成管理
⚠️ 重要なセキュリティ警告
- 設定の変更は、必ず実際の作業とは別のチャットウィンドウで行ってください。Claude は、ファイルシステムへのアクセス制限に遭遇した場合、設定(
allowedDirectories
など)を変更しようとすることがあります。 allowedDirectories
設定は現在、ファイルシステム操作のみを制限し、ターミナルコマンドは制限しません。ターミナルコマンドは、許可されたディレクトリ外のファイルに引き続きアクセスできます。ターミナルの完全なサンドボックス化はロードマップに予定されています。
設定ツール
提供されているツールを使用してサーバー構成を管理できます。
構成はサーバーの作業ディレクトリのconfig.json
に保存され、サーバーの再起動後も保持されます。
ベストプラクティス
- 設定変更専用のチャットを作成します。すべての設定変更を 1 つのチャットで行い、実際の作業用に新しいチャットを開始します。
- 空の
allowedDirectories
には注意してください。これを空の配列 ([]
) に設定すると、ファイル操作のためにファイルシステム全体へのアクセスが許可されます。 - 特定のパスを使用する:
/
ような広いパスを使用する代わりに、アクセスするディレクトリを正確に指定します。 - 変更後は常に構成を確認してください。get_config
get_config({})
を使用して、変更が正しく適用されたことを確認します。
異なるシェルの使用
コマンド実行に使用するシェルを指定できます。
これにより、シェル固有の機能を使用したり、コマンド間で一貫した環境を維持したりできるようになります。
execute_command
タイムアウト後に初期出力で戻ります- コマンドはバックグラウンドで継続されます
- 新しい出力を取得するには、PID を指定した
read_output
使用します。 - 必要に応じて
force_terminate
を使用して停止します
デバッグ
サーバーをデバッグする必要がある場合は、デバッグ モードでインストールできます。
これにより、次のようになります。
- Claude を別の「デスクトップ コマンダー」サーバーを使用するように構成します
--inspect-brk=9229
フラグを使用して Node.js インスペクタ プロトコルを有効にする- デバッガが接続されるまで実行を一時停止します
- 追加のデバッグ環境変数を有効にする
デバッガーを接続するには:
- Chromeで
chrome://inspect
にアクセスし、Node.jsインスタンスを探します。 - VS Codeでは、「ノードプロセスにアタッチ」デバッグ構成を使用します。
- 他のIDE/ツールにもNode.jsデバッグ用の同様の「アタッチ」オプションがあるかもしれない
重要なデバッグに関する注意事項:
- デバッガーが接続されるまで、サーバーは起動時に一時停止します(
--inspect-brk
フラグのため) - デバッグ中にアクティビティが表示されない場合は、正しいNode.jsプロセスに接続していることを確認してください。
- 複数のノードプロセスが実行中である可能性があります。ポート9229のプロセスに接続してください。
- デバッグサーバーは、Claude の MCP サーバーリストで「desktop-commander-debug」として識別されます。
トラブルシューティング:
- デバッグサーバーの使用中にClaudeがタイムアウトした場合、デバッガーが正しく接続されていない可能性があります。
- 正しく接続されると、プロセスは最初のブレークポイントに到達した後も実行を継続します。
- 接続したらIDEで追加のブレークポイントを追加できます
モデルコンテキストプロトコル統合
このプロジェクトは、MCP ファイルシステム サーバーを拡張して次の機能を実現します。
- Claude Desktop のローカルサーバーのサポート
- 完全なシステムコマンド実行
- プロセス管理
- ファイル操作
- 検索/置換ブロックを使ったコード編集
Claude MCP の探索の一環として作成されました: https://youtube.com/live/TlbjFDbl5Us
終わり
- 2025年5月20日 v0.1.40 リリース- すべてのツール呼び出しの監査ログを追加、行ベースのファイル操作を改善、小さな編集のためのプロンプトを改善したedit_blockの強化、明示的なテレメトリオプトアウトプロンプトの追加
- 2025年5月5日 あいまい検索ログ- 詳細な分析ツール、文字レベルの差分、およびedit_blockの失敗をデバッグするのに役立つパフォーマンスメトリックを備えた、あいまい検索操作の包括的なログシステムを追加しました。
- 2025年4月29日 設定によるテレメトリのオプトアウト- 設定でテレメトリを無効にする設定が追加されました。チャットで問い合わせてください。
- 2025年4月23日 編集機能の強化- フォーマットの改善、あいまい検索と複数出現置換の追加により、失敗が減り、編集ブロックの使用頻度が上がる
- 2025年4月16日 設定の改善- 許可されたパス、コマンド、シェル環境の設定が改善されました
- 2025年4月14日 Windows環境の修正- Windowsプラットフォーム固有の問題を解決しました
- 2025年4月14日 Linuxの改善- さまざまなLinuxディストリビューションとの互換性が強化されました
- 2025年12月4日 許可ディレクトリとブロックコマンドの改善- ファイルの読み取り/書き込みと端末コマンドの制限に関するセキュリティとパス検証が改善されました。端末は引き続き、許可ディレクトリを無視してファイルにアクセスできます。
- 2025年11月4日 シェル設定- コマンド実行時に優先シェルを設定する機能が追加されました
- 2025年7月4日 URLサポートを追加-
read_file
コマンドでURLからコンテンツを取得できるようになりました - 2025年3月28日 「Watching /」JSONエラーを修正- JSON以外のメッセージを処理し、サーバーのクラッシュを防ぐためのカスタムstdioトランスポートを実装しました
- 2025年3月25日 より優れたコード検索(統合済み) - コンテキストに応じた結果によるコード探索の強化
進行中の作業/TODO/ロードマップ
現在、以下の機能が検討されています。
- WSL (Windows Subsystem for Linux 統合) のサポート
- SSHのサポート- リモートサーバーコマンド実行
- CSV/PDFなどの形式のファイルサポートが向上
- セキュリティ強化のためのMac/Linux/Windows用ターミナルサンドボックス
- ファイル読み取りモード- たとえば、HTML をプレーンテキストまたはマークダウンとして読み取ることができる
- 対話型シェルのサポート- ssh、node/python repl
- 大容量ファイルの読み書きを改善
❤️ デスクトップコマンダーをサポート
サポーター殿堂
寛大なご支援者の方々をご紹介いたします。このプロジェクト実現にご協力いただき、誠にありがとうございます!
Webサイト
最新情報、ドキュメント、アップデートについては、公式 Web サイトhttps://desktopcommander.app/をご覧ください。
メディア
以下のリソースを通じてこのプロジェクトの詳細を学んでください。
記事
MCPを搭載したClaudeがCursorとWindsurfに取って代わりました。これはどのようにして実現したのでしょうか? - モデルコンテキストプロトコル機能を備えたClaudeが開発者のワークフローにどのような変化をもたらしているかを詳細に検証します。
ビデオ
Claude Desktop Commander ビデオ チュートリアル- Commander を効果的にセットアップして使用する方法をご覧ください。
AnalyticsIndiaMagでの出版
コミュニティ
サポートを受けたり、フィードバックを共有したり、他のユーザーとつながったりするには、 Discord サーバーに参加してください。
お客様の声
このプロジェクトが役に立ったと感じたら、GitHubで⭐星を付けていただけると嬉しいです!これにより、他の人がこのプロジェクトを見つけやすくなり、さらなる開発が促進されます。
コミュニティからの貢献を歓迎します!バグを見つけた場合、機能のリクエストがある場合、またはコードに貢献したい場合は、以下の方法でご協力ください。
- バグを発見しましたか? github.com/wonderwhy-er/DesktopCommanderMCP/issuesで問題を報告してください。
- **機能に関するアイデアをお持ちですか?**問題セクションから機能リクエストを送信してください。
- **コードを投稿したいですか?**リポジトリをフォークしてブランチを作成し、プルリクエストを送信してください。
- 質問や議論はありますか? GitHubのディスカッションタブで議論を始めてください。
規模の大小を問わず、すべての貢献を大歓迎します。
このツールがワークフローにとって価値があると思われる場合は、プロジェクトのサポートを検討してください。
よくある質問
よくある質問への回答をご紹介します。より包括的なFAQについては、詳細なFAQドキュメントをご覧ください。
Desktop Commander とは何ですか?
これは、Claude Desktop がファイル システムとターミナルにアクセスできるようにする MCP ツールであり、Claude をコーディング、自動化、コードベースの探索などのための多目的アシスタントに変えます。
これは Cursor/Windsurf とどう違うのでしょうか?
IDEに特化したツールとは異なり、Claude Desktop Commanderは、コーディング環境内だけでなくOS全体に対応するソリューション中心のアプローチを提供します。Claudeはファイルを分割するのではなく完全に読み込み、複数のプロジェクトにまたがって同時に作業でき、変更を一度に実行する際にも継続的なレビューは必要ありません。
API クレジットを支払う必要がありますか?
いいえ。このツールは、API 呼び出しではなく、Claude Desktop の標準 Pro サブスクリプション (月額 20 ドル) で動作するため、サブスクリプション料金以外に追加費用は発生しません。
Desktop Commander は自動的に更新されますか?
はい、npxまたはSmithery経由でインストールした場合、Claudeを再起動するとDesktop Commanderは自動的に最新バージョンに更新されます。手動で更新する必要はありません。
最も一般的な使用例は何ですか?
- 複雑なコードベースの調査と理解
- 図表とドキュメントの生成
- システム全体のタスクを自動化
- 複数のプロジェクトを同時に作業する
- 精密な制御による外科的コード変更
ツールのインストールや使用に問題があります。どこでサポートを受けられますか?
コミュニティサポートについては、 Discordサーバーにご参加ください。既知の問題についてはGitHubのIssueをご確認ください。トラブルシューティングのヒントについては、 FAQ全文をご覧ください。よりユーザーフレンドリーな体験のために、ウェブサイトのFAQセクションもご覧ください。新しい問題が発生した場合は、 GitHubのIssueに問題の詳細を記載してご投稿ください。
データ収集とプライバシー
Desktop Commanderは、ツールの改善に役立てるため、限定的な匿名テレメトリデータを収集します。個人情報、ファイルの内容、ファイルパス、コマンド引数は収集されません。
テレメトリはデフォルトで有効になっています。オプトアウトするには、以下の手順に従ってください。
- チャットを開いて、 **「テレメトリを無効にしてください」**と尋ねるだけです
- チャットボットは設定を自動的に更新します。
データ収集に関する詳細は、当社のプライバシーポリシーをご覧ください。
ライセンス
マサチューセッツ工科大学
local-only server
The server can only run on the client's local machine because it depends on local resources.
Tools
Claude デスクトップ アプリは、コマンド実行、プロセス管理、差分ベースのファイル編集などの機能を使用して、MCP を介してターミナル コマンドを実行し、コンピューター上のファイルを編集できます。
- AI でファイルを検索、更新、管理し、ターミナル コマンドを実行します
- 目次
- 特徴
- インストール
- 使用法
- あいまい検索ログ分析(npm スクリプト)
- あいまい検索ログ
- 監査ログ
- 長時間実行されるコマンドの処理
- 構成管理
- 異なるシェルの使用
- デバッグ
- モデルコンテキストプロトコル統合
- 終わり
- 進行中の作業/TODO/ロードマップ
- ❤️ デスクトップコマンダーをサポート
- Webサイト
- メディア
- お客様の声
- よくある質問
- データ収集とプライバシー
- ライセンス
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityA server that lets Claude desktop app execute terminal commands on your computer and edit files through Model Context Protocol, featuring command execution, process management, and advanced file operations.Last updated -1912,2683MIT License
- AsecurityFlicenseAqualityA server built with mcp-framework that allows users to extend Claude's capabilities by adding custom tools that can be used through the Claude Desktop client.Last updated -3677TypeScript
- AsecurityFlicenseAqualityA specialized MCP server for Claude Desktop that allows executing terminal commands for malware analysis with support for common analysis tools like file, strings, hexdump, objdump, and xxd.Last updated -73JavaScript
- -securityFlicense-qualityIntegration project for Model Context Protocol (MCP) servers with Claude Desktop App, enabling filesystem operations, development support, and file management through natural language.Last updated -TypeScript