Claude x D Commander MCPにて、ターミナル権限をLLMにぶん投げてみる
普段作業に欠かせないTool「ターミナル」。
しかし、ターミナルを使っていると、あれ?あの作業するコマンドなんだっけ?といった、ターミナルコマンドがわからなくなる問題がよく発生するため、今回、ターミナル利用権限をLLMにぶん投げて、実行させることで、ターミナルを通じたソートを自動化してみました。
0.Desktop Commander MCPとは?
Desktop Commander MCPは、Claude Desktopアプリケーションにターミナルコマンドの実行やファイルシステムの操作、プロセス管理などの機能を追加するオープンソースのMCP(Model Context Protocol)サーバーです。これにより、Claudeを単なるチャットボットから、ローカル環境での高度な操作が可能なAIアシスタントへと進化させます。
1.Claude Desktopをインストールし、ログインします。
上記リンクより、Claude Desktopをインストールし、ログインします。Claude Desktopは初回起動時に、画面を選択しても動作しない等のトラブルが発生することがありますが、これはセットアップに時間がかかっているだけなので、画面選択が反応しない場合は、しばらく待ってみることをオススメします。
2.Desktop Commander MCP をインストール
Claude Desktopのままでは、ClaudeがPowerShellを操作できないため、「Desktop Commander MCP」を入れていきます。
2.1: Claude Desktop configファイルを編集する
設定画面を開き「開発者」➛「構成を編集」を押します。「claude_desktop_config.json」を開き、以下の内容を追加します。
{
"mcpServers": {
"desktop-commander": {
"command": "npx",
"args": [
"-y",
"@wonderwhy-er/desktop-commander"
]
}
}
}2.2: Desktop Commander MCPをインストールする
Desktop Commanderを動作させるには、Node.jsが必要なため事前にインストールしておきます。
次に以下のコマンドをPowerShellを実行してインストールします。
npx @wonderwhy-er/desktop-commander@latest setup最後にClaude Desktopを再起動します。
「ファイル」➛「終了」をクリックし終了後再起動します。
再起動すると、MCPが有効になります。
2.3: Desktop Commanderをしてみる
ドキュメントフォルダ直下のファイルを取得してもらう
Dドライブを圧縮しているデータを探してもらう
3.Desktop Commander にて使用可能なツール一覧
🔧 設定関連
get_config
サーバーの現在の設定をJSON形式で取得します。これには以下の項目が含まれます:blockedCommands: 実行を禁止するシェルコマンドのリスト
defaultShell: コマンド実行時に使用するシェル(例: bash, zsh, powershell)
allowedDirectories: ファイル操作が許可されているディレクトリのリスト(※ターミナルコマンドはこの制限を受けません)(GitHub)
set_config_value
特定の設定項目の値を変更します。利用可能な設定項目は上記と同様です。
💻 ターミナル操作
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
ファイル内の特定の部分を精密に置換します。ファイルサイズの20%未満の変更に最適です。
4.感想
Desktop Commander MCP導入により、LLM Chat + ターミナルを実現させ、Claude Desktopがより高度な作業ができるようになりました。
これは、Claude DesktopにShellの調査能力と実行能力を融合することで、Claude Desktopがより複雑なタスクを処理可能になりました。
しかし、ターミナルの自動化の視点で見るとDesktop Commanderによるshellの自動化は問題を抱えています。
生成されたコマンドについて、ユーザーによるレビューが難しいため、意図しないコマンドが実行される恐れがあること。
ユーザーが手動でコマンドを入力できないことです。
例えば、インフラエンジニアが本構成で、サーバーメンテナンスを半自動化するようなタスクには、本MCPは全く向いていません。
意図しないコマンドが実行され、サーバーをクラッシュさせる可能性があるためです。
またパスワード情報などユーザーが手動入力したい情報についても直接ターミナルを叩けないため、ターミナルのサポートツールとして利用が推奨出来ないのが現状です。。



コメント