Claude CoworkでローカルMCPサーバーを動かせるようにするまで(見落とされがちなガイド)

Dev.to / 2026/3/26

💬 オピニオンDeveloper Stack & InfrastructureIdeas & Deep AnalysisTools & Practical Usage

要点

  • この記事では、Claude Cowork がサンドボックス化されたVM上で動作するため、ローカルの stdio ベースMCPサーバーがユーザーのマシン上の子プロセスに直接接続できないことを説明している。
  • MCPは「MCPは未対応」というように繰り返し語られがちな主張に頼らず、2つの支援メカニズムを組み合わせることで、Cowork上でも動作させられることを示す。
  • まず(未公開の)Claude Desktop SDK のブリッジを利用し、claude_desktop_config.json で設定されたMCPサーバーを自動的に Cowork のVMへ転送する。
  • 次に、supergateway と pm2 を使ってローカルMCPサーバーを到達可能にし、本番環境で確実に稼働させる。著者は 18+ 個のサーバーが動いていると報告している。
  • 投稿では、設定例を含む完全に動作するセットアップ手順を提示し、実践者が Cowork と MCP を統合するための「見落とされがちなガイド」として役立てることを意図している。

TL;DR: 「CoworkではMCPが動かない」とみんな言っています。私たちは supergateway + pm2 を使って解決しました。最初の試行で動きました。完全なセットアップはこちらです。

問題

Claude Code の Coworkモード は、サンドボックス化されたVM内で動作します。つまり、ローカルの stdio MCPサーバー(あなたのマシン上で子プロセスとして実行されます)は、単純に接続できません。VMにはローカルのプロセスへのアクセス権がありません。

コミュニティの反応は一様です: 「CoworkではMCPはサポートされていない」

しかし、それは完全に正しいわけではありません。

解決策:2つのレイヤー

私たちは、Cowork が実際には 2つの異なる仕組み によって MCP をサポートしていることを突き止めました。そしてそれらを組み合わせることで、本番環境で 18+ の MCP サーバーを確実に動かすことができました。

レイヤー1:Claude Desktop SDKブリッジ(内蔵、非公開ドキュメント)

多くの人が気づいていない点: claude_desktop_config.json で MCP サーバーを設定すると、Claude Desktop が SDKレイヤー経由で 自動的にそれらを Cowork VM にブリッジします。

// claude_desktop_config.json  ローカル マシン上)
{
  "mcpServers": {
    "outlook-mcp": {
      "command": "node",
      "args": ["C:/apps/outlook-mcp/dist/index.js"]
    },
    "Windows-MCP": {
      "command": "npx",
      "args": ["-y", "@anthropic/windows-mcp"]
    }
  }
}

これらは Cowork 上では "type": "sdk" として表示されます。つまり、Desktop がそれらを透過的にプロキシします。追加の設定は不要です。

これだけで、ローカルで設定した任意の stdio MCP サーバーにアクセスできます。

レイヤー2:supergateway HTTPブリッジ(追加サーバー向け)

Desktop の設定に含まれていない MCP サーバー、または別のマシンでホストしたい MCP サーバーについては、supergateway を使って stdio MCP サーバーを HTTP エンドポイントに変換します。

アーキテクチャ:

[Cowork VM] --HTTP--> [あなたのサーバ:8001-800x] --supergateway--> [MCP サーバ (stdio)]

セットアップ手順:

1. supergateway をインストール

npm install -g supergateway

2. 各 MCP サーバー用の起動スクリプトを作成

# start-mcp-servers.sh
supergateway --stdio "npx -y @anthropic/alphabanana-mcp" --port 8001 --baseUrl /mcp &
supergateway --stdio "npx -y @anthropic/mermaid-mcp" --port 8002 --baseUrl /mcp &
supergateway --stdio "npx -y @anthropic/pandoc-mcp" --port 8003 --baseUrl /mcp &
supergateway --stdio "npx -y @anthropic/antv-chart-mcp" --port 8004 --baseUrl /mcp &
supergateway --stdio "npx -y @anthropic/un-markdown-mcp" --port 8005 --baseUrl /mcp &

3. プロセス管理に pm2 を使う

npm install -g pm2
pm2 start start-mcp-servers.sh --name mcp-bridge
pm2 save
pm2 startup  # 起動時に自動実行

4. プロジェクトの .mcp.json に追加

{
  "mcpServers": {
    "alphabanana": {
      "type": "streamable-http",
      "url": "http://localhost:8001/mcp"
    },
    "mermaid": {
      "type": "streamable-http",
      "url": "http://localhost:8002/mcp"
    }
  }
}

5.(任意)Tailscale 経由で別のマシンからアクセスする

あなたの MCP ホストマシンが Tailscale のネットワーク上にある場合は、localhost を Tailscale の IP に置き換えれば、ネットワーク内のどのデバイスからでもこれらの MCP サーバーにアクセスできます。

完全なアーキテクチャ

共同作業VM(Cowork VM)
  |
  +-- SDKブリッジ(自動)
  |     +-- Claude Desktop はローカル設定済みの MCP をプロキシする
  |         +-- outlook-mcp
  |         +-- Windows-MCP
  |         +-- PDF Tools
  |         +-- Notion
  |         +-- Chrome 内の Claude
  |         +-- Playwright
  |         +-- Excel MCP
  |         +-- ...(claude_desktop_config.json 内の任意の stdio MCP)
  |
  +-- HTTPブリッジ(supergateway)
        +-- サーバ上のリモートHTTPエンドポイント
            +-- :8001 -> alphabanana(画像生成)
            +-- :8002 -> mermaid(図のプレビュー)
            +-- :8003 -> pandoc(ドキュメント変換)
            +-- :8004 -> antv-chart(30種類以上のチャート)
            +-- :8005 -> un-markdown(ドキュメント公開)

結果

最初の試行でうまくいきました。現在、次のものが揃っています:

  • 18個のMCPサーバが Cowork 内で同時に稼働
  • ダウンタイムなし(クラッシュ時に pm2 が自動再起動)
  • 完全な機能 — ドキュメント生成、ブラウザ自動化、メール、カレンダー、Excel、チャート、図が、すべて Cowork 内で動作

これが重要な理由

「MCP は Cowork では動かない」という物語が、多くのチームの足かせになっています。この2層構成により、Cowork セッションの中でMCP のフルパワーを得ることができるため、Claude Desktop + Cowork は本当に実現可能なチーム協業プラットフォームになります。

— Murat_construction_Germany