Skip to main content
Glama
temporary111111

Desktop Commander MCP

Desktop Commander MCP

AIでファイルの検索・更新・管理、ターミナルコマンドの実行

npm downloads AgentAudit Verified Trust Score Buy Me A Coffee

Discord

コードやテキストを操作し、プロセスを実行し、タスクを自動化できます。他のAIエディタをはるかに超える機能を、APIトークン費用の代わりにホストクライアントのサブスクリプションを利用して実現します。

🖥️ Desktop Commanderアプリを試す(ベータ版)

より良い体験をお求めですか? Desktop Commanderアプリは、MCPサーバーが提供するすべての機能に加えて、以下の機能を提供します:

  • 任意のAIモデルを使用 — Claude、GPT-4.5、Gemini 2.5、またはお好みのモデル

  • ファイルの変更をライブで確認 — AIがファイルを編集する際の視覚的なファイルプレビュー

  • カスタムMCPとコンテキストを追加 — 設定ファイル不要で独自ツールを追加拡張

  • 近日中に提供予定 — スキルシステム、音声入力、バックグラウンドでの予定タスクなど

👉 アプリをダウンロード (macOS & Windows)

以下のMCPサーバーは、Claude Desktopや他のMCPクライアントでも引き続き問題なく動作します。アプリは、専用の洗練された体験を求める方向けです。

Related MCP server: TermPipe MCP

目次

すべてのAI開発ツールを1つの場所に。 Desktop Commanderは、すべての開発ツールを1つのチャットにまとめます。 コンピューター上で長時間実行するターミナルコマンドを実行し、Model Context Protocol(MCP)を通じてプロセスを管理できます。MCP Filesystem Server をベースに構築され、追加の検索・置換ファイル編集機能を提供します。

機能

  • リモートAI制御 - Remote MCP を介して、ChatGPT、Claudeウェブ、その他のAIサービスからDesktop Commanderを使用

  • ファイルプレビューUI - レンダリングされたMarkdown、インライン画像、展開可能なコンテンツ、組み込みのMarkdownエディタ、クイック「フォルダーで開く」アクセスを備えた視覚的なファイルプレビュー

  • 対話的なプロセス制御を備えた拡張ターミナルコマンド

  • ファイルを保存せずにコードをメモリ内で実行(Python、Node.js、R)

  • 即時データ分析 - CSV/JSON/Excelファイルの分析を依頼するだけ

  • Excelファイルのネイティブサポート - 外部ツールなしでExcelファイル(.xlsx、.xls、.xlsm)の読み取り、書き込み、編集、検索

  • PDFサポート - テキスト抽出によるPDFの読み取り、Markdownからの新しいPDFの作成、既存PDFの変更

  • DOCXサポート - 精密なXML編集とMarkdownからDOCXへの変換によるWord文書(.docx)の読み取り、作成、編集、検索

  • 実行中のプロセスとの対話(SSH、データベース、開発サーバー)

  • 出力ストリーミング付きのターミナルコマンド実行

  • コマンドタイムアウトとバックグラウンド実行のサポート

  • プロセス管理(プロセスの一覧表示と強制終了)

  • 長時間実行コマンドのセッション管理

  • プロセス出力のページネーション - コンテキストの過負荷を防ぐために、オフセット/長さ制御でターミナル出力を読み取る

  • サーバー設定管理:

    • 設定値の取得/設定

    • 複数の設定を一度に更新

    • サーバーの再起動なしでの動的な設定変更

  • 完全なファイルシステム操作:

    • ファイルの読み書き(テキスト、Excel、PDF、DOCX)

    • ディレクトリの作成/一覧表示

    • 再帰的なディレクトリ一覧 - 大規模フォルダー向けの設定可能な深さとコンテキスト過負荷保護

    • ファイル/ディレクトリの移動

    • ファイルとコンテンツの検索(Excelコンテンツを含む)

    • ファイルメタデータの取得

    • 負のオフセットでのファイル読み取り - Unixのtailのように、負のオフセット値を使用してファイルの末尾から読み取る

  • コード編集機能:

    • 小さな変更のための外科的なテキスト置換

    • 大きな変更のためのファイル全体の書き換え

    • 複数ファイルのサポート

    • パターンに基づく置換

    • フォルダー内のコードまたはテキストの再帰検索(vscode-ripgrepベース)

  • 包括的な監査ログ:

    • すべてのツール呼び出しが自動的にログ記録

    • 10MBのサイズ制限付きログローテーション

    • 詳細なタイムスタンプと引数

  • 安全のためのガードレール(サンドボックスではありません — SECURITY.md を参照):

    • ファイル操作におけるシンボリックリンクトラバーサル防止

    • 誤実行防止のコマンドのブロックリスト

    • 完全な分離のためのDocker分離

インストール方法

Claude Desktopにインストール

Desktop Commanderは、Claude Desktop向けに複数のインストール方法を提供します。

📋 アップデートとアンインストール情報: オプション1、2、3、4、6は自動アップデートに対応しています。オプション5は手動アップデートが必要です。詳細は以下を参照してください。

ターミナルでこれを実行するだけ:

npx @wonderwhy-er/desktop-commander@latest setup

デバッグモード(Node.jsインスペクタ接続を許可)の場合:

npx @wonderwhy-er/desktop-commander@latest setup --debug

セットアップ時のコマンドラインオプション:

  • --debug:Node.jsインスペクタのデバッグモードを有効化

  • --no-onboarding:新規ユーザー向けのオンボーディングプロンプトを無効化

実行中の場合は、Claudeを再起動します。

✅ 自動アップデート: はい - Claudeを再起動すると自動更新されます
🔄 手動アップデート: セットアップコマンドを再度実行
🗑️ アンインストール: npx @wonderwhy-er/desktop-commander@latest remove を実行

curl -fsSL https://raw.githubusercontent.com/wonderwhy-er/DesktopCommanderMCP/refs/heads/main/install.sh | bash

このスクリプトは、すべての依存関係と設定を自動的に処理します。

✅ 自動アップデート: はい
🔄 手動アップデート: 上記のbashインストーラーコマンドを再実行
🗑️ アンインストール: npx @wonderwhy-er/desktop-commander@latest remove を実行

  1. アクセス: https://smithery.ai/server/@wonderwhy-er/desktop-commander

  2. まだお済みでない場合は、Smitheryにログイン

  3. 右側でクライアント(Claude Desktop)を選択

  4. クライアント選択後に表示される提供されたキーでインストール

  5. Claude Desktopを再起動

✅ 自動アップデート: はい - Claudeを再起動すると自動更新されます
🔄 手動アップデート: Smitheryのページにアクセスして再インストール

このエントリを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@latest"
      ]
    }
  }
}

実行中の場合は、Claudeを再起動します。

✅ 自動アップデート: はい - Claudeを再起動すると自動更新されます
🔄 手動アップデート: セットアップコマンドを再度実行
🗑️ アンインストール: npx @wonderwhy-er/desktop-commander@latest remove を実行するか、claude_desktop_config.jsonからエントリを削除

git clone https://github.com/wonderwhy-er/DesktopCommanderMCP.git
cd DesktopCommanderMCP
npm run setup

実行中の場合は、Claudeを再起動します。

セットアップコマンドは、依存関係をインストールし、サーバーをビルドし、Claudeデスクトップアプリを設定します。

❌ 自動アップデート: いいえ - 手動でのアップデートが必要です
🔄 手動アップデート: cd DesktopCommanderMCP && git pull && npm run setup
🗑️ アンインストール: npx @wonderwhy-er/desktop-commander@latest remove を実行するか、クローンしたディレクトリとMCPサーバーのエントリをClaude設定から削除

分離を希望するユーザーやNode.jsがインストールされていないユーザーに最適です。永続的な作業環境を持つサンドボックス化されたDockerコンテナ内で実行されます。

前提条件: Docker Desktopがインストールされて起動していること、Claude Desktopアプリがインストールされていること。

macOS / Linux:

bash <(curl -fsSL https://raw.githubusercontent.com/wonderwhy-er/DesktopCommanderMCP/refs/heads/main/install-docker.sh)

Windows PowerShell:

iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/wonderwhy-er/DesktopCommanderMCP/refs/heads/main/install-docker.ps1'))

インストーラーがDockerを確認し、イメージを取得し、フォルダーのマウントを求め、Claude Desktopを設定します。

Dockerの永続性: ツール、設定、作業ファイル、パッケージキャッシュはすべて再起動後も保持されます。

基本設定(ファイルアクセスなし):

{
  "mcpServers": {
    "desktop-commander-in-docker": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "mcp/desktop-commander:latest"]
    }
  }
}

フォルダーのマウント付き:

{
  "mcpServers": {
    "desktop-commander-in-docker": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-v", "/Users/username/Desktop:/mnt/desktop",
        "-v", "/Users/username/Documents:/mnt/documents",
        "mcp/desktop-commander:latest"
      ]
    }
  }
}

高度なフォルダーのマウント:

{
  "mcpServers": {
    "desktop-commander-in-docker": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-v", "dc-system:/usr",
        "-v", "dc-home:/root", 
        "-v", "dc-workspace:/workspace",
        "-v", "dc-packages:/var",
        "-v", "/Users/username/Projects:/mnt/Projects",
        "-v", "/Users/username/Downloads:/mnt/Downloads",
        "mcp/desktop-commander:latest"
      ]
    }
  }
}

macOS / Linux:

# Check status
bash <(curl -fsSL https://raw.githubusercontent.com/wonderwhy-er/DesktopCommanderMCP/refs/heads/main/install-docker.sh) --status

# Reset all persistent data
bash <(curl -fsSL https://raw.githubusercontent.com/wonderwhy-er/DesktopCommanderMCP/refs/heads/main/install-docker.sh) --reset

Windows PowerShell:

# Check status
$script = (New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/wonderwhy-er/DesktopCommanderMCP/refs/heads/main/install-docker.ps1'); & ([ScriptBlock]::Create("$script")) -Status

# Reset all data
$script = (New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/wonderwhy-er/DesktopCommanderMCP/refs/heads/main/install-docker.ps1'); & ([ScriptBlock]::Create("$script")) -Reset

# Show help
$script = (New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/wonderwhy-er/DesktopCommanderMCP/refs/heads/main/install-docker.ps1'); & ([ScriptBlock]::Create("$script")) -Help

トラブルシューティング: リセットして最初から再インストール:

bash <(curl -fsSL https://raw.githubusercontent.com/wonderwhy-er/DesktopCommanderMCP/refs/heads/main/install-docker.sh) --reset && bash <(curl -fsSL https://raw.githubusercontent.com/wonderwhy-er/DesktopCommanderMCP/refs/heads/main/install-docker.sh)

✅ 自動アップデート: はい - latest タグが新しいバージョンを自動取得
🔄 手動アップデート: docker pull mcp/desktop-commander:latest を実行後、Claudeを再起動

他のクライアントへのインストール

Desktop Commanderは、MCP互換のクライアントならすべて動作します。標準のJSON設定は次のとおりです:

{
  "mcpServers": {
    "desktop-commander": {
      "command": "npx",
      "args": ["-y", "@wonderwhy-er/desktop-commander@latest"]
    }
  }
}

クライアントのMCP設定ファイルの以下の場所に、これを追加します:

Install MCP Server

MCPサーバーをディレクトリで見る

または、~/.cursor/mcp.json(グローバル)またはプロジェクトフォルダー内の .cursor/mcp.json(プロジェクト固有)に手動で追加します。

詳細は Cursor MCPドキュメント を参照してください。

~/.codeium/windsurf/mcp_config.json に追加します。詳細は Windsurf MCPドキュメント を参照してください。

プロジェクトまたはVS Codeのユーザー設定(JSON)内の .vscode/mcp.json に追加します。チャット>MCPでMCPが有効になっていることを確認してください。エージェントモードで動作します。

詳細は VS Code MCPドキュメント を参照してください。

VS Code内のCline拡張機能の設定から設定します。Clineのサイドバーを開き、MCP Serversアイコンをクリックして、上記のJSON設定を追加します。詳細は Cline MCPドキュメント を参照してください。

CRoo CodeのMCP設定ファイルに追加します。詳細は Roo Code MCPドキュメント を参照してください。

claude mcp add --scope user desktop-commander -- npx -y @wonderwhy-er/desktop-commander@latest

現在のプロジェクトのみにインストールするには、--scope user を削除します。詳細は Claude Code MCPドキュメント を参照してください。

「手動で追加」機能を使用し、上記のJSON設定を貼り付けます。詳細は Trae MCPドキュメント を参照してください。

Kiro > MCP Servers に移動し、+ Add をクリックして、上記の JSON 設定を貼り付けます。詳細については Kiro MCP ドキュメント を参照してください。

Codex は TOML 設定を使用します。次のコマンドを実行して Desktop Commander を追加します:

codex mcp add desktop-commander -- npx -y @wonderwhy-er/desktop-commander@latest

または、~/.codex/config.toml に手動で追加します:

[mcp_servers.desktop-commander]
command = "npx"
args = ["-y", "@wonderwhy-er/desktop-commander@latest"]

詳細については Codex MCP ドキュメント を参照してください。

JetBrains IDE では、Settings → Tools → AI Assistant → Model Context Protocol (MCP) に移動し、+ Add をクリックして、As JSON を選択し、上記の JSON 設定を貼り付けます。詳細については JetBrains MCP ドキュメント を参照してください。

~/.gemini/settings.json に追加します:

{
  "mcpServers": {
    "desktop-commander": {
      "command": "npx",
      "args": ["-y", "@wonderwhy-er/desktop-commander@latest"]
    }
  }
}

詳細については Gemini CLI ドキュメント を参照してください。

Cmd/Ctrl+Shift+P を押し、Augment パネルを開き、上記の JSON 設定で desktop-commander という名前の新しい MCP サーバーを追加します。詳細については Augment Code MCP ドキュメント を参照してください。

次のコマンドを実行して Desktop Commander を追加します:

qwen mcp add desktop-commander -- npx -y @wonderwhy-er/desktop-commander@latest

または、.qwen/settings.json(プロジェクト)または ~/.qwen/settings.json(グローバル)に追加します。詳細については Qwen Code MCP ドキュメント を参照してください。

ChatGPTClaude ウェブ、その他の AI サービスから Remote MCP 経由で Desktop Commander を使用できます。デスクトップアプリは不要です。

👉 mcp.desktopcommander.app で始める

仕組み:

  1. コンピューターで軽量な Remote Device を実行します

  2. これはクラウドの Remote MCP サービスに安全に接続します

  3. あなたの AI がクラウドを通じてデバイスにコマンドを送信します

  4. コマンドはローカルで実行され、結果が AI に返されます

  5. あなたがコントロールを維持 — いつでも Ctrl+C で停止できます

セキュリティ

  • ✅ デバイスは起動したときのみ実行されます

  • ✅ コマンドはあなたのユーザー権限で実行されます

  • ✅ 安全な OAuth 認証と暗号化された通信チャネル

Desktop Commander の更新とアンインストール

自動更新(オプション 1、2、3、4、6)

オプション 1(npx)、オプション 2(bash インストーラー)、3(Smithery)、4(手動設定)、6(Docker) は、Claude を再起動するたびに自動的に最新バージョンへ更新されます。手動での操作は不要です。

手動更新(オプション 5)

  • オプション 5(ローカルチェックアウト): cd DesktopCommanderMCP && git pull && npm run setup

Desktop Commander のアンインストール

🤖 自動アンインストール(推奨)

Desktop Commander を完全に削除する最も簡単な方法:

npx @wonderwhy-er/desktop-commander@latest remove

この自動アンインストーラーは以下を行います:

  • ✅ Claude の MCP サーバー設定から Desktop Commander を削除

  • ✅ 変更前に Claude 設定のバックアップを作成

  • ✅ パッケージの完全な削除のためのガイダンスを提供

  • ✅ 問題が発生した場合はバックアップから復元

🔧 手動アンインストール

自動アンインストーラーが機能しない場合、または手動での削除を希望する場合:

Claude 設定から削除する
  1. Claude 設定ファイルの場所を確認します:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • Linux: ~/.config/Claude/claude_desktop_config.json

  1. 設定ファイルを編集します:

  • ファイルをテキストエディタで開きます

  • "mcpServers" セクションから "desktop-commander" エントリを見つけて削除します

  • ファイルを保存します

例:このセクションを削除します:

{
    "desktop-commander": {
      "command": "npx",
      "args": ["@wonderwhy-er/desktop-commander@latest"]
    }
}

Claude を閉じて再起動すると、削除が完了します。

🆘 トラブルシューティング

アンインストール後に問題が発生した場合:

  • フォールバックとして手動アンインストールを使用します

アンインストール後に Claude が起動しない場合:

  • アンインストーラーが作成したバックアップから復元します

  • または、claude_desktop_config.json の JSON を手動で修正します

ヘルプが必要ですか?

はじめに

Desktop Commander がインストールされ、Claude が再起動されると、Claude のエクスペリエンスを強化する準備が整います!

🆕 新規ユーザー向けオンボーディング

Desktop Commander には、可能性を広げるためのインテリジェントなオンボーディングが含まれています:

新規ユーザーの場合: 成功したコマンドが 10 回未満の場合、Claude は Desktop Commander を正常に使用した後に、初心者向けのチュートリアルと実践的な例を自動的に提案します。

いつでもオンボーディング支援をリクエストできます: 次のように言うだけです:

  • 「Desktop Commander の使い方を教えて」

  • 「Desktop Commander の例を見せて」

  • 「Desktop Commander で何ができますか?」

Claude は初心者向けのチュートリアルと例を表示します。以下のようなものが含まれます:

  • 📂 ダウンロードフォルダを自動的に整理する

  • 🐍 Python で CSV/Excel ファイルを分析する

  • ⚙️ GitHub Actions CI/CD を設定する

  • 🔍 コードベースを探索して理解する

  • 🤖 インタラクティブな開発環境を実行する

使用方法

サーバーは、いくつかのカテゴリに分類された包括的なツールセットを提供します。

利用可能なツール

Category

Tool

Description

設定

get_config

サーバー設定全体をJSONとして取得します(blockedCommands、defaultShell、allowedDirectories、fileReadLineLimit、fileWriteLineLimit、telemetryEnabledを含む)

set_config_value

キーを指定して特定の設定値を設定します。利用可能な設定:blockedCommands: 実行できないシェルコマンドの配列defaultShell: コマンドに使用するシェル(例:bash、zsh、powershell)allowedDirectories: ファイル操作でサーバーがアクセスできるファイルシステムパスの配列(⚠️ ターミナルコマンドはこれらのディレクトリ外のファイルにもアクセスできます)fileReadLineLimit: 一度に読み取る最大行数(デフォルト:1000)fileWriteLineLimit: 一度に書き込む最大行数(デフォルト:50)telemetryEnabled: テレメトリの有効/無効(ブール値)

ターミナル

start_process

入力を受け付けられる状態をスマートに検出してプログラムを起動します

interact_with_process

実行中のプログラムにコマンドを送信し、応答を取得します

read_process_output

実行中のプロセスから出力を読み取ります

force_terminate

実行中のターミナルセッションを強制終了します

list_sessions

アクティブなターミナルセッションをすべて一覧表示します

list_processes

詳細情報を含む実行中のプロセスをすべて一覧表示します

kill_process

PIDを指定して実行中のプロセスを終了します

ファイルシステム

read_file

ローカルファイルシステム、URL、Excelファイル(.xlsx、.xls、.xlsm)、PDFから行/ページ単位のページネーションで内容を読み取ります

read_multiple_files

複数のファイルを同時に読み取ります

write_file

上書きまたは追記モードのオプションを指定してファイル内容を書き込みます。Excelファイル(JSON 2次元配列形式)に対応しています。PDFの場合はwrite_pdfを使用してください

write_pdf

Markdownから新しいPDFファイルを作成するか、既存のPDFを変更します(ページの挿入/削除)。HTML/CSSスタイリングとSVGグラフィックに対応しています

create_directory

新しいディレクトリを作成するか、既存のディレクトリを確認します

list_directory

ファイルとディレクトリの詳細な再帰的一覧を取得します(depthパラメータ対応、デフォルトdepth=2)

move_file

ファイルとディレクトリを移動または名前変更します

start_search

ファイル名または内容パターンによるストリーミング検索を開始します(テキストファイルとExcelの内容を検索します)

get_more_search_results

オフセット対応でアクティブな検索からページ分割された結果を取得します

stop_search

アクティブな検索を正常に停止します

list_searches

アクティブな検索セッションをすべて一覧表示します

get_file_info

ファイルまたはディレクトリに関する詳細なメタデータを取得します(Excelファイルのシート情報を含む)

テキスト編集

edit_block

テキストファイルへの対象を絞ったテキスト置換、またはExcelファイルへの範囲ベースのセル更新を適用します

アナリティクス

get_usage_stats

自身の分析用に使用状況統計を取得します

get_recent_tool_calls

デバッグとコンテキスト復元のために、引数と出力を含む最近のツール呼び出し履歴を取得します

give_feedback_to_desktop_commander

ブラウザでフィードバックフォームを開き、Desktop Commander Teamにフィードバックを提供します

クイック例

データ分析:

"Analyze sales.csv and show top customers" → Claude runs Python code in memory

リモートアクセス:

"SSH to my server and check disk space" → Claude maintains SSH session

開発:

"Start Node.js and test this API" → Claude runs interactive Node session

ツール使用例

検索・置換ブロック形式:

filepath.ext
<<<<<<< SEARCH
content to find
=======
new content
>>>>>>> REPLACE

例:

src/main.js
<<<<<<< SEARCH
console.log("old message");
=======
console.log("new message");
>>>>>>> REPLACE

拡張編集ブロック機能

edit_block ツールには、信頼性を高めるためのいくつかの拡張機能が含まれています:

  1. プロンプトの改善: ツールの説明では、1つの大きな変更ではなく、小さく焦点を絞った編集を複数行うことを強調するようになりました

  2. ファジー検索フォールバック: 完全一致が失敗した場合、ファジー検索を実行し、詳細なフィードバックを提供します

  3. 文字レベルの差分: {-削除-}{+追加+} 形式を使用して、正確に何が異なるかを表示します

  4. 複数出現のサポート: expected_replacements パラメータで複数のインスタンスを置換できます

  5. 包括的なロギング: すべてのファジー検索は分析とデバッグのためにログに記録されます

検索が失敗すると、見つかった最も近い一致に関する詳細情報(類似度パーセンテージ、実行時間、文字の違いを含む)が表示されます。これらの詳細はすべて、ファジー検索ログツールを使用した後日の分析のために自動的にログに記録されます。

Docker サポート

🐳 分離環境での使用

Desktop Commander は Docker コンテナ内で実行でき、ホストシステムから完全に分離され、コンピュータへのリスクゼロを実現します。これはテスト、開発、または完全なサンドボックス化が必要な場合に最適です。

インストール手順

  1. Windows/Mac 用 Docker をインストール

    • docker.com から Docker Desktop をダウンロードしてインストールします

  2. Desktop Commander の Docker 設定を取得

    • アクセス先: https://hub.docker.com/mcp/server/desktop-commander/manual

    • オプション A: 提供されているターミナルコマンドを使用して自動セットアップ

    • オプション B: 「Standalone」をクリックして設定 JSON を取得し、Claude Desktop の設定に手動で追加します docker-config.png

  3. マシンフォルダのマウント(近日公開)

    • ローカルディレクトリを Docker コンテナにマウントする方法の説明は近日公開予定です

    • これにより、完全な分離を維持しながらファイルを操作できるようになります

Docker 使用の利点

  • ホストシステムからの完全な分離

  • 異なるマシン間での一貫した環境

  • 簡単なクリーンアップ - 完了したらコンテナを削除するだけ

  • 新機能や設定のテストに最適

URL サポート

  • read_file はローカルファイルと URL の両方からコンテンツを取得できるようになりました

  • 例: isUrl: true パラメータを指定した read_file で Web リソースから読み取り

  • リモートソースからのテキストと画像コンテンツの両方を処理します

  • 画像(ローカルまたは URL からの)は、テキストとしてではなく、Claude のインターフェースに視覚的に表示されます

  • Claude は実際の画像コンテンツを表示して分析できます

  • URL リクエストのデフォルトタイムアウトは 30 秒

ファイルプレビュー UI と Markdown エディタ

Desktop Commander には、Claude Desktop にリッチなファイルプレビューウィジェットが含まれており、AI がファイルを操作する際に視覚的にレンダリングします。

サポートされているファイルタイプ

  • Markdown — 組み込みエディタ付きのレンダリング済みプレビュー

  • 画像 — インライン表示(PNG、JPEG、GIF、WebP など)

  • コードファイル — 構文ハイライト付きのソースビュー

  • HTML — ソースビューへの切り替え付きのレンダリング済みプレビュー

  • ディレクトリ — 展開/折りたたみと遅延読み込みを備えたインタラクティブなツリー

  • PDF、Excel、DOCX — ネイティブなコンテンツ抽出と表示

Markdown エディタ

Claude Desktop で .md ファイルを表示するとき、プレビューパネル内で直接編集できます — 別のアプリを開く必要はありません。

使用方法:

  1. Claude にマークダウンファイルを読み取るか作成するよう依頼します

  2. ⤢ 展開 ボタンを使用してファイルプレビューを全画面に拡大します

  3. エディタは全画面モードで自動的にアクティブになります

  4. ライブプレビューの切り替え、コピー、元に戻す、保存コントロールを使用してコンテンツを編集します

  5. 変更はディスクに保存されます。折りたたむとインラインビューに戻ります

エディタ機能:

  • ライブの編集/プレビュー切り替え — 生のマークダウンとレンダリング出力を切り替えます

  • 保存ステータスインジケータ付きのディスクへの自動保存

  • 未保存の変更を元に戻す元に戻すサポート

  • 完全なマークダウンソースを取得するコピーボタン

  • エディタで開く — パネルから直接デフォルトのマークダウンアプリを起動します

  • 部分ファイル認識 — ファイルが部分的にしか読み取られていない場合、周囲の行を読み込んでマージします

  • テキスト選択コンテキスト — プレビューモードでテキストを選択すると、AI がその選択を参照できます

ディレクトリブラウザ

Claude が list_directory を実行すると、結果は生のテキスト出力ではなく、プレビューパネル内のインタラクティブなファイルツリーとして開きます。

機能:

  • 展開可能なツリー — フォルダはクリックで展開・折りたたみ。最上位の内容はすぐに表示されます

  • 遅延読み込み — サブフォルダはオンデマンドで読み込まれ、初期ビューを高速に保ちます

  • 大規模ディレクトリの処理 — 多数のアイテムを含むディレクトリでは、ビューを圧倒する代わりに ⚠ クリックしてすべて読み込み ボタンが表示されます

  • Finder/Explorer で開く — 各フォルダには、ファイルマネージャで表示するためのクイックオープンボタンがあります

  • クリックでプレビュー — ツリー内の任意のファイルをクリックすると、ファイルプレビューパネルで直接開きます

  • 戻るナビゲーション — ツリーからファイルを開いた後、← 戻るボタンでディレクトリビューに戻ります

その他のプレビュー機能

  • 展開/折りたたみ — コンパクトなサマリー行とフルパネルを切り替えます

  • フォルダで開く — ワンクリックで Finder/Explorer でファイルを表示します

  • さらに行を読み込む — 部分的な読み取りウィンドウの上または下のコンテンツを段階的に読み込みます

  • テキスト選択 — 任意のプレビューでテキストをハイライト。AI が選択を表示して参照できます

ファジー検索ログ分析(npm スクリプト)

ファジー検索ロギングシステムには、MCP 環境外でログを分析するための便利な npm スクリプトが含まれています:

# View recent fuzzy search logs
npm run logs:view -- --count 20

# Analyze patterns and performance
npm run logs:analyze -- --threshold 0.8

# Export logs to CSV or JSON
npm run logs:export -- --format json --output analysis.json

# Clear all logs (with confirmation)
npm run logs:clear

これらのスクリプトの詳細なドキュメントについては、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

わかること

ファジー検索ログは以下を理解するのに役立ちます:

  1. 完全一致が失敗する理由: 空白の違い、行末、文字エンコーディングなどの一般的な問題

  2. パフォーマンスパターン: 検索の複雑さが実行時間にどのように影響するか

  3. ファイルタイプの問題: どのファイル拡張子で一致問題がよく発生するか

  4. 文字エンコーディングの問題: 差分を引き起こす特定の文字コード

監査ロギング

Desktop Commander には、すべてのツール呼び出しの包括的なロギングが含まれるようになりました:

記録される内容

  • すべてのツール呼び出しは、タイムスタンプ、ツール名、引数(プライバシー保護のためサニタイズ)とともに記録されます

  • ログはサイズが 10MB に達すると自動的にローテーションされます

ログの場所

ログは以下に保存されます:

  • macOS/Linux: ~/.claude-server-commander/claude_tool_call.log

  • Windows: %USERPROFILE%\.claude-server-commander\claude_tool_call.log

この監査証跡は、デバッグ、セキュリティ監視、および Claude がシステムとどのようにやり取りしているかを理解するのに役立ちます。

長時間実行コマンドの処理

時間がかかる可能性のあるコマンドの場合:

設定管理

⚠️ 重要なセキュリティ警告

包括的なセキュリティ情報と脆弱性報告については: SECURITY.md を参照してください

  1. 既知のセキュリティ制限: ディレクトリ制限とコマンドブロッキングは、シンボリックリンク、コマンド置換、絶対パスやコード実行など、さまざまな方法でバイパスされる可能性があります

  2. 設定は必ず実際の作業とは別のチャットウィンドウで変更してください。Claude は、ファイルシステムアクセス制限に遭遇した場合、設定(allowedDirectories など)を変更しようとすることがあります。

  3. allowedDirectories 設定は現在、ファイルシステム操作のみを制限し、ターミナルコマンドは制限しません。ターミナルコマンドは、許可されたディレクトリ外のファイルに引き続きアクセスできます。

  4. 本番環境のセキュリティには: ホストシステムから完全に分離された Docker インストール を使用してください。

設定ツール

提供されているツールを使用してサーバー設定を管理できます:

// Get the entire config
get_config({})

// Set a specific config value
set_config_value({ "key": "defaultShell", "value": "/bin/zsh" })

// Set multiple config values using separate calls
set_config_value({ "key": "defaultShell", "value": "/bin/bash" })
set_config_value({ "key": "allowedDirectories", "value": ["/Users/username/projects"] })

設定はサーバーの作業ディレクトリ内の config.json に保存され、サーバー再起動後も保持されます。

fileWriteLineLimit について

fileWriteLineLimit 設定は、1回の write_file 操作で書き込める行数を制御します(デフォルト: 50行)。この制限にはいくつかの重要な理由があります:

制限が存在する理由:

  • AI はトークンを無駄に使う: ファイル内で2つの小さな編集を行う代わりに、AI が全体を書き直すことを選択する場合があります。時間とトークンを節約するため、AI に小さな変更で作業させることを意図しています

  • Claude UX メッセージ制限: 1つのメッセージ内には制限があり、「続行」を押しても実際には機能しません。ここでの目的は、AI が小さなチャンクで作業するようにし、その制限に達したときに複数のチャンクが成功していて作業が失われないようにすることです - 最後のチャンクから再開するだけで済みます

制限の設定:

// You can set it to thousands if you want
set_config_value({ "key": "fileWriteLineLimit", "value": 1000 })

// Or keep it smaller to force more efficient behavior
set_config_value({ "key": "fileWriteLineLimit", "value": 25 })

最大値: 必要に応じて数千に設定できます - 技術的な制限はありません。

ベストプラクティス:

  • 効率的な AI 動作を促進し、トークンの無駄を避けるためにデフォルト(50)を維持します

  • 制限を超えると、システムが自動的にチャンク分割を提案します

  • チャンクが小さいほど、Claude がメッセージ制限に達したときに失われる作業が少なくなります

ベストプラクティス

  1. 設定変更用の専用チャットを作成する: すべての設定変更を1つのチャットで行い、実際の作業用に新しいチャットを開始します。

  2. 空の allowedDirectories に注意する: これを空の配列([])に設定すると、ファイル操作のためにファイルシステム全体へのアクセスが許可されます。

  3. 具体的なパスを使用する: / のような広いパスではなく、アクセスしたい正確なディレクトリを指定します。

  4. 変更後は常に設定を確認する: get_config({}) を使用して、変更が正しく適用されたことを確認します。

コマンドラインオプション

Desktop Commander は、動作をカスタマイズするためのいくつかのコマンドラインオプションをサポートしています:

オンボーディングの無効化

デフォルトでは、Desktop Commander は新規ユーザー(ツール呼び出しが10回未満のユーザー)に役立つオンボーディングプロンプトを表示します。この動作を無効にできます:

# Disable onboarding for this session
node dist/index.js --no-onboarding

# Or if using npm scripts
npm run start:no-onboarding

# For npx installations, modify your claude_desktop_config.json:
{
  "mcpServers": {
    "desktop-commander": {
      "command": "npx",
      "args": [
        "-y",
        "@wonderwhy-er/desktop-commander@latest",
        "--no-onboarding"
      ]
    }
  }
}

オンボーディングが自動的に無効になる場合:

  • MCP クライアント名が "desktop-commander" に設定されている場合

  • --no-onboarding フラグを使用している場合

  • ユーザーがオンボーディングプロンプトを使用した後、またはツール呼び出しが10回以上行われた後

デバッグ情報: サーバーはオンボーディングが無効になったときにログを記録します: "Onboarding disabled via --no-onboarding flag"

異なるシェルの使用

コマンド実行に使用するシェルを指定できます:

// Using default shell (bash or system default)
execute_command({ "command": "echo $SHELL" })

// Using zsh specifically
execute_command({ "command": "echo $SHELL", "shell": "/bin/zsh" })

// Using bash specifically
execute_command({ "command": "echo $SHELL", "shell": "/bin/bash" })

これにより、シェル固有の機能を使用したり、コマンド間で一貫した環境を維持したりできます。

  1. execute_command はタイムアウト後に初期出力を返します

  2. コマンドはバックグラウンドで継続します

  3. read_output を PID とともに使用して新しい出力を取得します

  4. 必要に応じて force_terminate を使用して停止します

デバッグ

サーバーをデバッグする必要がある場合は、デバッグモードでインストールできます:

# Using npx
npx @wonderwhy-er/desktop-commander@latest setup --debug

# Or if installed locally
npm run setup:debug

これにより:

  1. Claude が別の "desktop-commander" サーバーを使用するように設定されます

  2. --inspect-brk=9229 フラグで Node.js インスペクタプロトコルが有効になります

  3. デバッガが接続されるまで実行が開始時に一時停止されます

  4. 追加のデバッグ環境変数が有効になります

デバッガを接続するには:

  • Chromeでchrome://inspectにアクセスし、Node.jsインスタンスを探します

  • VS Codeでは「Attach to Node Process」デバッグ構成を使用します

  • 他のIDE/ツールにもNode.jsデバッグ用の同様の「アタッチ」オプションがある場合があります

重要なデバッグメモ:

  • サーバーはデバッガーが接続するまで起動時に一時停止します(--inspect-brkフラグによる)

  • デバッグ中にアクティビティが表示されない場合は、正しいNode.jsプロセスに接続していることを確認してください

  • 複数のNodeプロセスが実行されている可能性があります。ポート9229のプロセスに接続してください

  • デバッグサーバーはClaudeのMCPサーバーリストで「desktop-commander-debug」として識別されます

トラブルシューティング:

  • デバッグサーバーの使用中にClaudeがタイムアウトした場合、デバッガーが正しく接続されていない可能性があります

  • 正しく接続されている場合、最初のブレークポイントに到達した後、プロセスは実行を継続します

  • 接続後、IDEで追加のブレークポイントを設定できます

Model Context Protocol統合

このプロジェクトはMCP Filesystem Serverを拡張して以下を可能にします:

  • Claude Desktopでのローカルサーバーサポート

  • 完全なシステムコマンド実行

  • プロセス管理

  • ファイル操作

  • 検索/置換ブロックによるコード編集

Claude MCPの探索の一環として作成されました: https://youtube.com/live/TlbjFDbl5Us

Desktop Commanderをサポート

❤️ サポーター名誉の殿堂

寛大なサポーターの皆様をここで紹介します。このプロジェクトを可能にしてくれてありがとうございます!

ウェブサイト

最新情報、ドキュメント、アップデートについては、公式ウェブサイト https://desktopcommander.app/ をご覧ください。

メディア

以下のリソースを通じてこのプロジェクトについて詳しく学べます:

記事

Claude with MCPs replaced Cursor & Windsurf. How did that happen? - Model Context Protocol機能を備えたClaudeがどのように開発者のワークフローを変えているかについての詳細な探求。

ビデオ

Claude Desktop Commander Video Tutorial - Commanderのセットアップと効果的な使用方法をご覧ください。

AnalyticsIndiaMagでの掲載

analyticsindiamag.png This Developer Ditched Windsurf, Cursor Using Claude with MCPs

コミュニティ

Discordサーバーに参加して、ヘルプを得たり、フィードバックを共有したり、他のユーザーとつながりましょう。

お客様の声

It's a life saver! I paid Claude + Cursor currently which I always feel it's kind of duplicated. This solves the problem ultimately. I am so happy. Thanks so much. Plus today Claude has added the web search support. With this MCP + Internet search, it writes the code with the latest updates. It's so good when Cursor doesn't work sometimes or all the fast requests are used. https://www.youtube.com/watch?v=ly3bed99Dy8\&lc=UgyyBt6\_ShdDX\_rIOad4AaABAg

This is the first comment I've ever left on a youtube video, THANK YOU! I've been struggling to update an old Flutter app in Cursor from an old pre null-safety version to a current version and implemented null-safety using Claude 3.7. I got most of the way but had critical BLE errors that I spent days trying to resolve with no luck. I tried Augment Code but it didn't get it either. I implemented your MCP in Claude desktop and was able to compare the old and new codebase fully, accounting for the updates in the code, and fix the issues in a couple of hours. A word of advice to people trying this, be sure to stage changes and commit when appropriate to be able to undo unwanted changes. Amazing! https://www.youtube.com/watch?v=ly3bed99Dy8\&lc=UgztdHvDMqTb9jiqnf54AaABAg

Great! I just used Windsurf, bought license a week ago, for upgrading old fullstack socket project and it works many times good or ok but also many times runs away in cascade and have to revert all changes losing hundereds of cascade tokens. In just a week down to less than 100 tokens and do not want to buy only 300 tokens for 10$. This Claude MCP ,bought claude Pro finally needed but wanted very good reason to also have next to ChatGPT, and now can code as much as I want not worrying about token cost.
Also this is much more than code editing it is much more thank you for great video! https://www.youtube.com/watch?v=ly3bed99Dy8\&lc=UgyQFTmYLJ4VBwIlmql4AaABAg

it is a great tool, thank you, I like using it, as it gives claude an ability to do surgical edits, making it more like a human developer. https://www.youtube.com/watch?v=ly3bed99Dy8\&lc=Ugy4-exy166\_Ma7TH-h4AaABAg

You sir are my hero. You've pretty much summed up and described my experiences of late, much better than I could have. Cursor and Windsurf both had me frustrated to the point where I was almost yelling at my computer screen. Out of whimsy, I thought to myself why not just ask Claude directly, and haven't looked back since.
Claude first to keep my sanity in check, then if necessary, engage with other IDEs, frameworks, etc. I thought I was the only one, glad to see I'm not lol.
33
1 https://medium.com/@pharmx/you-sir-are-my-hero-62cff5836a3e

このプロジェクトが役立つと感じたら、GitHubで⭐スターを付けることをご検討ください! これにより、他の人がこのプロジェクトを見つけ、さらなる開発が促進されます。

コミュニティからの貢献を歓迎します! バグを見つけた場合、機能リクエストがある場合、コードの貢献をしたい場合、以下の方法で支援できます:

  • バグを見つけましたか? github.com/wonderwhy-er/DesktopCommanderMCP/issues でイシューを開いてください

  • 機能のアイデアがありますか? イシューセクションで機能リクエストを提出してください

  • コードの貢献をしたいですか? リポジトリをフォークし、ブランチを作成し、プルリクエストを提出してください

  • 質問や議論がありますか? GitHub Discussionsタブでディスカッションを開始してください

大小を問わず、すべての貢献を大いに感謝しています!

このツールがあなたのワークフローに価値があると感じたら、プロジェクトのサポートをご検討ください。

よくある質問

よくある質問への回答を以下に示します。より包括的な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を通じてインストールした場合、Desktop CommanderはClaudeを再起動すると自動的に最新バージョンに更新されます。手動の更新プロセスは不要です。

最も一般的なユースケースは何ですか?

  • 複雑なコードベースの探索と理解

  • 図とドキュメントの生成

  • システム全体でのタスクの自動化

  • 複数のプロジェクトでの同時作業

  • 精密な制御による外科的なコード変更

ツールのインストールや使用に問題があります。どこでヘルプを得られますか?

コミュニティサポートについてはDiscordサーバーに参加し、既知の問題についてはGitHubイシューを確認し、トラブルシューティングのヒントについては完全なFAQを確認してください。よりユーザーフレンドリーな体験については、ウェブサイトのFAQセクションもご覧いただけます。新しい問題に遭遇した場合は、問題の詳細とともにGitHubイシューを開くことをご検討ください。

セキュリティの脆弱性をどのように報告しますか?

発見したセキュリティの脆弱性についての詳細情報を含むGitHubイシューを作成してください。責任ある開示の完全なガイドラインについては、セキュリティポリシーをご覧ください。

データ収集とプライバシー

Desktop Commanderはツールを改善するために限定的で匿名化されたテレメトリを収集します。ファイルの内容、ファイルパス、コマンド引数は収集しません。

オプトアウト: Claudeに「Desktop Commanderテレメトリを無効化」と依頼するか、設定で"telemetryEnabled": falseを設定してください。

完全な詳細については、プライバシーポリシーをご覧ください。

検証

ライセンス

MIT

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides AI assistants with direct terminal access to execute commands, manage files, and run persistent REPL sessions. It features automated installation scripts that educate AI assistants on its capabilities for seamless integration.
    MIT
  • A
    license
    Not graded
    quality
    F
    maintenance
    Enables AI assistants to automate macOS desktop tasks including mouse control, keyboard input, screenshots, window management, and UI interaction.
    11
    415
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to control Windows systems through natural language commands, providing 200+ automation tools for system control, file operations, web automation, and more.
    48
    MIT

View all related MCP servers

Related MCP Connectors

  • Operate Linux, macOS and Windows from your LLM. Every action runs through an auditable allowlist.

  • Let ChatGPT, Claude & Cursor use your Mac: email, calendar, iMessage, Teams, files. Local, free.

  • Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/temporary111111/agent-mcp-gateway-v2'

If you have feedback or need assistance with the MCP directory API, please join our Discord server