desktop-commander について
Desktop Commanderは、MCPツールでファイルの読み書き、検索、プロセス管理を行うためのスキルです。ローカル環境の作業を段階的に検証し、高リスク操作には明示的な承認を求めます。
主な機能
- 01テキスト・PDF・画像・表計算ファイルのページ単位読み込み
- 02ファイル名と内容の検索
- 03部分編集または分割書き込み
- 04プロセスの起動と対話的な操作
- 05設定・ツール呼び出し履歴・使用状況の確認
活用シーン
- 01コードベース内のファイルや文字列の検索
- 02ログ・PDF・表計算ファイルの内容確認
- 03大きなファイルの分割編集や表計算範囲の更新
- 04対話型シェル・REPL・開発サーバーの実行
MCP 対応
Desktop Commander MCPツールを使ってファイル操作、検索、プロセス管理を行い、それらの手順と安全上の指針を示します。
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ ry-run/ run-skills --skill desktop-commanderインストール後、Claude Code で/desktop-commanderを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
SKILL_zh.mdagents/openai.yamlreferences/desktop-commander_zh.mddesktop-commander.md詳細
Desktop Commander
クイックスタート
目的:Desktop Commander MCP を使って、「ファイル/プロセス/検索/編集」を検証可能なツール呼び出し(小さく安全な手順)に置き換え、マシンをブラックボックスとして扱わないようにします。
よく使われる開始方法:
- 内容を読む:
mcp__desktop-commander__read_file(ページネーション、負のオフセットによる末尾の読み取り、PDF/画像/Excel/URL)。 - 小規模な編集:
mcp__desktop-commander__edit_block(対象を絞ったテキスト置換/Excel の範囲更新)。 - 大規模な編集:
mcp__desktop-commander__write_fileをチャンク単位で使用します(fileWriteLineLimitを守ってください)。 - 対話型の作業:
mcp__desktop-commander__start_process+mcp__desktop-commander__interact_with_process+mcp__desktop-commander__read_process_output。
公式メモとツール一覧:skills/desktop-commander/references/desktop-commander.md。
ワークフローの判断ツリー
- 何かを見つける必要がありますか?
- ファイル名/パス:
mcp__desktop-commander__start_search(searchType="files")→mcp__desktop-commander__get_more_search_results - ファイルの内容:
mcp__desktop-commander__start_search(searchType="content")→ ページネーション → 完了したらmcp__desktop-commander__stop_search
- 内容を読む、または変更する必要がありますか?
- 読み取り:
mcp__desktop-commander__read_file(offset/lengthを使用し、末尾を読むにはoffset=-Nを使用) - 小規模な変更:
mcp__desktop-commander__edit_block(既定では 1 件を置換します。複数件の場合はexpected_replacementsを使用) - 大規模な変更:
mcp__desktop-commander__write_file(mode="rewrite"の後、チャンク単位でmode="append")
- コマンドを実行する、またはセッションを維持する必要がありますか?
- 単発コマンド:
mcp__desktop-commander__start_process(シェルコマンド)+ 出力の読み取り - REPL/SSH/DB/開発サーバー:
start_process→interact_with_process→read_process_output
- 高リスクな操作ですか(設定変更、プロセスの終了、大量の編集/移動、データ損失を伴う操作)?
- 実行前に影響とロールバック方法を説明し、ユーザーから明示的な確認を得てください。
- 設定変更は、別のチャットで行うことを推奨します(公式ガイダンス)。
レシピ
ファイルの読み取り
- テキスト/コード:ページネーションを使って
read_fileを実行します。ログ:offset=-200(末尾の読み取り)。 - 複数ファイル:
read_multiple_filesを使って、やり取りの回数を減らします。 - URL:Web の内容/画像には
isUrl: trueを指定してread_fileを実行します。
ファイルの編集
- 対象を絞った置換:一意性の高い最小限のコンテキストを指定して
edit_blockを実行します。複数箇所の場合はexpected_replacementsを設定します。 - 全面的な書き換え:
write_fileを 25~30 行ずつのチャンクで使用します(rewriteの後にappend)。 - Excel:
read_fileで読み取り、rangeと 2D 配列を指定してedit_blockで編集します。 - PDF:
write_pdfのみを使用します(PDF にwrite_fileは使用しないでください)。
検索
- リポジトリの探索には
start_search+get_more_search_resultsを優先し、不要になった検索は停止してください。 - 特殊文字(括弧、角括弧、ピリオドなど)を含むパターンには
literalSearch: trueを使用します。
プロセスと対話
- データ分析:
python3 -iを実行し、pandas/numpy のワークフローにはinteract_with_processを使用します。 - 長時間実行されるジョブの監視:定期的に
read_process_outputを呼び出します。停止するにはkill_process/force_terminateを使用します(高リスク)。 - 状態の確認:
list_sessions/list_processes。
設定と監査
get_config/set_config_value:慎重に使用してください。ディレクトリ制限は、ターミナルコマンドに対するセキュリティ境界ではありません。get_recent_tool_calls:「何が起きたか」のコンテキストを復元し、問題をデバッグします。get_usage_stats:使用状況/パフォーマンスの分析に役立ちます。
ガードレール(必ず守ること)
- 絶対パスを優先し、OS 固有の区切り文字を前提にしないでください。
- 大きな変更では、まず読み取り、小さな編集を行い、書き込みをチャンクに分け、ロールバックを考慮してください。
- 高リスクの操作には明示的な確認が必要です:設定変更、セッション/プロセスの終了、大量のファイル編集/移動、破壊的なコマンド。
- セキュリティ:
allowedDirectoriesが制限するのはファイルシステムツールであり、ターミナルコマンドではありません。サンドボックスとして扱わないでください。
参考資料
- 公式メモとツール一覧:
skills/desktop-commander/references/desktop-commander.md
コメント
Markdown 対応