AI開発の世界で注目されているModel Context Protocol(MCP)を、Dockerを活用してより安全かつ簡単に利用する方法のメモ。 設定時にはまった内容も含みます。

Docker MCPとは何か?
Model Context Protocol(MCP)の基本
Model Context Protocol(MCP)は、Anthropic社が開発したオープンスタンダードで、AI アシスタントと外部データソースやツールを接続するための標準化されたプロトコルです。MCPにより、AI アプリケーションは外部ソースからデータを取得し、第三者サービスとの操作を実行できるようになります。
MCPは以下の要素から構成されています:
- MCPクライアント: Claude Desktop AppなどのLLMベースのアプリケーションに組み込まれる
- MCPサーバー: 外部システムとの接続を提供し、特定の機能を実装する
Docker MCPで解決できること
従来のMCP実装では、以下のような課題がありました:
- 環境競合: MCP サーバーのインストールで、Node.js、Python などの特定バージョンが必要で、既存環境と競合する可能性
- ホスト隔離の欠如: MCP サーバーがホスト上で実行され、すべてのホストファイルとリソースにアクセス可能
- 複雑なセットアップ: ユーザーがすべてのコードをダウンロードし、環境を設定する必要がある
- クロスプラットフォームの課題: 異なるアーキテクチャ(x86 vs ARM、Windows vs Mac)での一貫した実行が困難
Docker MCPは、これらの課題をコンテナ技術で解決します:
- 環境分離: 各 MCP サーバーが独立したコンテナで実行される
- 一貫性: すべてのプラットフォームで予測可能な動作
- セキュリティ: サンドボックス化された実行環境
- 簡単なデプロイ: ワンクリックでのインストールと設定
Docker MCP Catalog と Toolkit
Docker MCP Catalog
Docker MCP Catalogは、Docker Hub に統合された信頼できるMCPサーバーのレジストリです。2025年5月現在、以下の特徴があります:
- 100以上のMCPサーバー: Stripe、Elastic、Neo4j、New Relicなどの主要企業が提供
- 検証済みツール: 出版社検証、バージョン管理、キュレーションされたコレクション
- Docker Hub統合:
mcp/名前空間でアクセス可能
主なMCPサーバー例: - Filesystem: ローカルファイルシステムへの安全なアクセス - GitHub: リポジトリ管理とGitHub API統合 - Puppeteer: Webページスクリーンショットとブラウザ操作 - Google Calendar: Googleカレンダーイベント管理 - Postgres: PostgreSQLデータベース操作
Docker MCP Toolkit
Docker MCP Toolkitは、MCPサーバーの設定、管理、実行を可能にするゲートウェイです:
- クロスLLM互換性: Claude Desktop、Cursor、Continue.dev、Gordonで即座に動作
- 統合ツール検出: Docker Desktop内でMCPサーバーを直接参照・起動
- ゼロ手動設定: 依存関係管理、ランタイム設定、サーバー設定が不要
- セキュリティ: CPUを1コア、メモリを2GBに制限、デフォルトでファイルシステムアクセス無し
Windowsでの設定方法
事前準備
Docker Desktopのインストール
- 最新版のDocker Desktop for Windowsをダウンロード・インストール
- 推奨バージョン: 4.43.0以降
Claude Desktopのインストール
- Anthropic公式サイトからClaude for Desktopをダウンロード
- Windowsバージョンをインストール
方法1: Docker MCP Toolkitを使用(推奨)
ステップ1: MCP Toolkitの有効化
1. Docker Desktopの設定を開く 2. 「Beta features」を選択 3. 「Enable Docker MCP Toolkit」を有効化 4. 「Apply」をクリック
ステップ2: MCPサーバーの追加
- Docker Desktopで「MCP Toolkit」を選択
- 「Catalog」タブを開く
- 使用したいMCPサーバーを選択(例:GitHub Official、Puppeteer)
- プラスアイコンをクリックして追加
- 必要に応じて「Config」タブで設定を行う
ステップ3: Claude Desktopとの接続
- Docker MCP Toolkitの「Clients」タブを選択
- 「Claude Desktop」の横の「Connect」ボタンをクリック
- Claude Desktopを再起動
これで、Claude Desktopの設定ファイル(claude_desktop_config.json)に以下の設定が自動追加されます:
{ "mcpServers": { "MCP_DOCKER": { "command": "docker", "args": [ "mcp", "gateway", "run" ], "env": { "LOCALAPPDATA": "C:\\Users\\ユーザー名\\AppData\\Local", "ProgramFiles": "C:\\Program Files" } } } }
Claude Desktopとの接続
接続確認
Claude Desktopを再起動後、以下を確認してください:
- MCPアイコンの表示: チャット入力欄の右下にハンマーアイコンが表示される
- 開発者設定での確認:
- 設定 → Developer タブを開く
- MCPサーバーが「running」状態になっている
権限の確認
MCPツールを初回使用時、Claude は権限の確認を求めます:
ファイルシステム(ローカル)からツールを許可する ファイルシステムから write_file を実行
使用前に各アクションを慎重に確認してから許可してください。
実際の使用例
例1: ファイル操作
プロンプト: C:\Users\username\Documents\test.txt に「Hello, Docker MCP!」と記載したテキストファイルを作成してください。
Claude は Filesystem MCP サーバーを使用してファイルを作成します。
例2: Webスクリーンショット
Puppeteer MCPサーバーを有効にした場合:
プロンプト: docs.docker.com のスクリーンショットを撮影して、色を反転させてください。
例3: GitHub操作
GitHub MCP サーバーを設定した場合:
プロンプト: 私のGitHubリポジトリ一覧を表示してください。
注意: GitHub MCPサーバーを使用するには、Personal Access Token(PAT)の設定が必要です。
注意点とベストプラクティス
セキュリティ上の注意点
信頼できるソースのみ使用
- Docker Hub の
mcp/名前空間の検証済みイメージを使用 - 不明なソースのMCPサーバーは避ける
- Docker Hub の
ファイルシステムアクセスの制限
- 必要最小限のディレクトリのみアクセス許可
- 機密データが含まれるフォルダは除外
定期的な更新
- Docker MCP Toolkitとサーバーイメージを定期更新
- セキュリティパッチの適用
パフォーマンス最適化
リソース管理
- 不要なMCPサーバーは無効化
- Docker Desktop のリソース設定を適切に調整
ネットワーク設定
- プロキシ環境では適切な設定が必要
- ファイアウォール設定の確認
トラブルシューティング
一般的な問題
MCPサーバーが認識されない
- Claude Desktop の完全な再起動を実行
- タスクマネージャーでClaude プロセスが完全に終了していることを確認
設定ファイルが反映されない
- JSON構文エラーの確認
- パスの記述方法(Windows では
\\を使用)
Docker接続エラー
- Docker Desktop が起動していることを確認
- Docker サービスの状態を確認
- Windows管理者権限でDockerを実行
特定のエラーケース
1. ProgramDataエラー
ログに以下のようなエラーが表示される場合:
panic: unable to get 'ProgramData'
これはDocker MCP Gatewayが環境変数にアクセスできない問題です。解決方法(実証済み):
Claude Desktopの設定ファイル(claude_desktop_config.json)で、環境変数を明示的に指定:
{ "mcpServers": { "MCP_DOCKER": { "command": "docker", "args": [ "mcp", "gateway", "run" ], "env": { "LOCALAPPDATA": "C:\\Users\\ユーザー名\\AppData\\Local", "ProgramFiles": "C:\\Program Files", "ProgramData": "C:\\ProgramData" } } } }
重要: ユーザー名の部分を実際のWindowsユーザー名に置き換えてください。
この解決策は、Docker for Windows GitHub Issue #14860 で報告・解決された実際の問題です。
ログの確認
Windows環境でのログファイル場所:
%APPDATA%\Claude\logs\mcp*.log
PowerShellでログを確認:
Get-Content -Path "$env:APPDATA\Claude\logs\mcp*.log" -Tail 20 -Wait
現在の既知の問題と解決策(2025年7月時点)
Docker MCP Gateway ProgramDataエラー ✅ 解決済み
- 症状:
panic: unable to get 'ProgramData'エラーで接続失敗 - 原因: Docker MCP GatewayがWindows環境変数にアクセスできない
- 解決策: Claude Desktop設定で環境変数を明示的に指定(上記参照)
- 参考: Docker for Windows Issue #14860
- 症状:
MCPサーバーの接続タイムアウト
- 一部のMCPサーバーで初回接続時にタイムアウトが発生
- 回避策:Claude Desktopの再起動を複数回試行
Claude Pro推奨
- 無料版では利用制限が厳しく、実用的な作業には不向き
- Sonnet 3.5 は特に制限が厳しい
MCPサーバーの制限
- 一部のMCPサーバーはAPIキーやトークンが必要
- Windows特有の設定が必要な場合がある
ネットワーク依存
- インターネット接続が必要なMCPサーバーが多い
- オフライン環境での制限
まとめ
Docker MCPは、従来のMCP実装の課題を解決する画期的なソリューションです。特にWindows環境では、Docker MCP Toolkitを使用することで、複雑な環境設定を回避し、安全で一貫したMCPサーバーの実行が可能になります。
Claude Desktopとの統合により、AIアシスタントの能力を大幅に拡張でき、ファイル操作、Web操作、データベース操作、API統合など、様々なタスクを自動化できます。
今後、Docker MCP Catalogには更に多くのMCPサーバーが追加される予定で、AI開発のエコシステムは急速に進化しています。セキュリティベストプラクティスに従いながら、この革新的な技術を活用してください。
次のステップ - Docker MCP Toolkitで様々なMCPサーバーを試す - 独自のMCPサーバーの開発を検討 - セキュリティ設定の見直しと最適化
参考にした情報源
公式ドキュメント
- Model Context Protocol 公式サイト
- Docker MCP Catalog and Toolkit 公式ドキュメント
- Docker MCP Toolkit ドキュメント
- Docker MCP Catalog ドキュメント
Docker公式ブログ
- The Model Context Protocol: Simplifying Building AI apps with Anthropic Claude Desktop and Docker (2024年12月24日)
- Introducing Docker MCP Catalog and Toolkit: The Simple and Secure Way to Power AI Agents with MCP (2025年5月5日)
- Introducing MCP Catalog and Toolkit (2025年5月19日)
Anthropic公式
GitHub リポジトリ・Issues
- docker/mcp-servers: Model Context Protocol Servers
- QuantGeekDev/docker-mcp
- Docker for Windows Issue #14860: MCP Tools ProgramData Error (ProgramDataエラー解決策)
技術記事・チュートリアル
- The Easiest Way to Set Up MCP with Claude Desktop and Docker Desktop - DEV Community (2025年5月1日)
- Run MCP Servers In Seconds With Docker - DEV Community (2週間前)
- Docker AI, Model Runner, and MCP Toolkit · Bret Fisher (2025年5月19日)
日本語記事
- Claude Desktop に Docker を使って MCP Server を構築する方法 ~①Systemfile編~ - Qiita (2025年4月4日)
- 今になって Claude for Desktop で MCP に入門してみた - Qiita (2025年4月1日)
- Claude DesktopとDocker DesktopでMCPを超簡単に構築する - Qiita (2025年3月24日)
- Claude for DesktopにMCPサーバーを追加する(Windows) - iret.media (2025年4月15日)
- Claude for Desktop(Windows版)でMCP(Filesystem)を使う!- Qiita (2024年12月6日)