Docker MCP ToolkitでClaudeコードにMCPサーバーを追加する方法

投稿日 10月 10, 2025

AI コーディング アシスタントは、単純なオートコンプリート ツールから完全な開発パートナーへと進化しました。しかし、Claude Codeのような最高のものでさえ、あなたの環境に直接作用することはできません。Claude Codeはデータベースクエリを提案することはできますが、実行することはできません。GitHub の問題を下書きすることはできますが、作成することはできません。Slack メッセージは書き込めますが、送信することはできません。ツール間のコピー、貼り付け、コンテキスト切り替えは引き続き行っています。

そこで、モデル コンテキスト プロトコル (MCP) と Docker MCP Toolkit の出番です。MCPはClaude Codeを実際のツール、データベース、リポジトリ、ブラウザ、APIに接続し、Docker MCP Toolkitはセットアップを簡単かつ安全にします。最近、Docker Desktopでワンクリックで簡単に有効にできるクライアントとしてClaude Codeを追加しました。

このガイドでは、次の方法について説明します。

  • Claude Codeをセットアップし、Docker MCP Toolkitに接続します。
  • Jira 統合用に Atlassian MCP サーバーを構成します。  
  • リポジトリ履歴にアクセスし、git コマンドを実行するように GitHub MCP サーバーを構成します。
  • ローカルコードベースをスキャンして読み取るようにファイルシステムMCPサーバーを設定します。
  • 15 TODO コメントを追跡された Jira チケットに変換することで、技術的負債の追跡を自動化します。
  • Claude Codeが開発環境を離れることなく、Git履歴のクエリ、課題の分類、チケットの作成を行う方法をご覧ください。

200以上の事前構築されたコンテナ化されたMCPサーバー、Docker Desktopでのワンクリックデプロイ、および自動認証情報処理により、開発者はClaude Codeを信頼できる環境に数時間ではなく数分で接続できます。依存関係の問題や手動設定はなく、Mac、Windows、Linux 全体で一貫した安全なワークフローが実現します。

Claude CodeとDocker MCP Toolkitが連携して機能する理由 

MCP はプロトコルを提供しますが、Docker MCP Toolkit はそれを実用的にします。コンテナ化がない場合、MCP サーバーをセットアップするには、Node.js バージョン、Python の依存関係、プレーンテキスト構成ファイル内の資格情報、および開発者のマシンごとに異なる構成を管理する必要があります。2分かかるはずのセットアップには、開発者あたり2〜6時間かかります。

Docker MCP Toolkitは、この摩擦を排除します。

  • 200+ カタログ内の事前構築済み MCP サーバー
  • Docker Desktop によるワンクリック展開
  • OAuthまたは暗号化ストレージによる安全な認証情報管理
  • Mac、Windows、Linux 全体で一貫した構成
  • 新しいサーバーバージョンがリリースされたときの自動更新

Docker MCP Toolkit は、開発者の現状に合わせて構築しました。Claude Codeを使用している場合は、インフラストラクチャに悩まされることなくツールに接続できるはずです。

Docker MCP ToolkitでのClaudeコードの設定

前提 条件

ステップ 1.Claude Codeをインストールする

Claude Codeをインストールするには、以下のコマンドを実行します。

# Install Claude Code
curl -fsSL https://claude.ai/install.sh | sh

# Verify installation
claude --version  # Should show 2.0.5+

ステップ 2.ClaudeコードをDocker MCP Toolkitに接続する

オプション 1:ワンクリック接続(推奨)

  1. Docker Desktop を開く
  2. サイドバーの MCP Toolkit に移動します。
  3. [ クライアント] タブをクリックします
  4. リストで「Claude Code」を見つけます。
  5. [接続] をクリックします。
画像4 1

Docker Desktop は、MCP ゲートウェイ接続を自動的に構成します。

オプション 2: 手動コマンドライン設定

コマンドライン設定を希望する場合、または特定のプロジェクトを構成する必要がある場合:

  1. ターミナルでプロジェクトフォルダに移動します
  2. 次のコマンドを実行します。
docker mcp client connect claude-code

次のような出力が表示されます。

=== Project-wide MCP Configurations (/your/project/path) ===
 ● claude-code: connected
   MCP_DOCKER: Docker MCP Catalog (gateway server) (stdio)
 ● cursor: no mcp configured
 ● vscode: no mcp configured
You might have to restart 'claude-code'.

connectedステータスは、Claude CodeがDocker MCPゲートウェイにリンクされていることを確認します。

ボンネットの下で何が起こっているのでしょうか?

connection コマンドは、プロジェクト ディレクトリに .mcp.json ファイルを作成します。

{
  "mcpServers": {
    "MCP_DOCKER": {
      "command": "docker",
      "args": ["mcp", "gateway", "run"],
      "type": "stdio"
    }
  }
}

この設定は、すべてのMCPサーバーアクセスにDockerのMCPゲートウェイを使用するようにClaude Codeに指示します。ゲートウェイは、コンテナー化されたサーバーへのルーティングを処理します。

ステップ 3.Claude Codeの再起動

# Exit Claude Code if running, then restart
claude code

画像9

ステップ 4.接続を確認する

Claude Code内で /mcp と入力すると、利用可能なMCPサーバーが表示されます。

画像3 1

Docker MCP ゲートウェイが一覧表示され、有効なすべての MCP サーバーへのアクセスが提供されます。/MCP_DOCKERツールは、接続が成功したことを示します。Docker Desktop でさらに多くの MCP サーバーを有効にすると、自動的にここに表示されます。

画像5

初回実行:期待すること

Docker MCP Toolkitに接続した後、Claude Codeを初めて起動すると、新しいMCPサーバーに関するプロンプトが表示されます。

New MCP server found in .mcp.json: MCP_DOCKER

MCP servers may execute code or access system resources. All tool calls require approval.
Learn more in the MCP documentation (https://docs.claude.com/s/claude-code-mcp).

❯ 1. Use this and all future MCP servers in this project
  2. Use this MCP server
  3. Continue without using this MCP server

Enter to confirm · Esc to reject

オプション 1 (推奨) を選択します。これにより、Docker MCP Toolkit と Docker Desktop で有効にした MCP サーバーを自動的に使用するようにプロジェクトが構成されます。MCP サーバーを毎回個別に承認する必要はありません。

確認後、Claude Codeのホーム画面が表示されます。

Claude Code v2.0.5

Welcome back!

Sonnet 4.5 · API Usage Billing
/…/your/project/path

Tips for getting started
  Run /init to create a CLAUDE.md file with…
  Run /terminal-setup to set up terminal in…
  Use claude to help with file analysis, ed…
  Be as specific as you would with another …

Recent activity
  No recent activity

これで、Docker DesktopのMCPサーバーでClaude Codeを使用する準備が整いました。

実世界のデモ:TODOからチケットへの自動化デモ

Claude CodeをDocker MCP Toolkitに接続したので、実際の例で実際の動作を見てみましょう。実際のコードベースの TODO コメントを、git 履歴、優先度の分類、適切なリンクを備えた追跡された Jira チケットに自動的に変換します。

必要な MCP サーバーの構成

この自動化では、次の 3 つの MCP サーバーを調整します。

3 つの MCP サーバーすべてを有効にして構成する手順を説明します。 

何がこれを現実的にするのでしょうか?

  • 実際のコードベース(catalog-service-node)を使用 
  • git blame 情報を抽出してコード作成者を識別します 
  • キーワード分析によるビジネス優先順位別に分類 
  • コンテキストを使用して適切にフォーマットされた Jira 課題を作成します。 
  • 正確なファイル/行番号へのリンクで、ナビゲーションが容易

時間投資: 

  • 手動プロセス:~20〜30 分 
  • Claudeコード+MCPで自動化:合計~2 分 

順を追って見ていきましょう。

1。Atlassian MCP サーバーの構成

Docker Desktop → MCP Toolkit → Catalog では、次のようになります。

  • 「Atlassian」を検索
  • [+ 追加] をクリックします。
  • [ 構成 ] タブに移動します
  • Atlassian 資格情報を追加します。
    • atlassian.jira.url に指定します。https://yourcompany.atlassian.net
    • atlassian.jira.username:あなたのメールアドレス
    • [シークレット] セクションの API トークン

重要な注意事項:

  • Atlassian API 認証の場合、「ユーザー名」は常に Atlassian アカウントのメール アドレスであり、基本認証に API トークンと一緒に使用します
  • [サーバーの開始] をクリックします。
画像7

スクリーンショットに示すように、Atlassian MCP には次のような 37 ツールが用意されています。

  • jira_create_issue – Jira 課題を作成する
  • jira_add_comment – コメントを追加する
  • jira_batch_create_issues – 一括作成
  • その他多くの Jira オペレーション

このデモンストレーションでは、プロジェクトキー「TD」を使用して「TODO Demo」という新しいJIRAプロジェクトを作成しました。

画像1 1

2。GitHub MCP Server の構成

GitHub MCP サーバーは 2 つの認証方法をサポートしています。最も簡単なセットアップとして OAuth をお勧めします。

オプション A: OAuth 認証 (推奨 – 最も簡単)

画像6 1
  1. Docker Desktop → MCP Toolkitカタログを開きます
  2. 「GitHub」を検索
  3. GitHub Official を見つけて [+ 追加] をクリックします。
  4. [ 構成 ] タブに移動します
  5. 認証方法として [OAuth ] を選択します
  6. 「GitHub OAuth プロバイダーで承認する」リンクをクリックします。
  7. 接続を承認するために GitHub にリダイレクトされます
  8. 承認後、Docker Desktop に戻ります
  9. [サーバーの開始] をクリックします。

利: 手動でトークンを作成する必要はありません。承認は、GitHub の安全な OAuth フローを通じて行われます。

オプション B: 個人用アクセス トークン (PAT)

個人用アクセス トークンを使用する場合、またはより詳細な制御が必要な場合は、次のようにします。

ステップ 1: GitHub Personal Access Token を作成する

  1. GitHub.com に移動し、アカウントにサインインします
  2. 右上隅にあるプロフィール写真をクリックします
  3. 「設定」を選択します
  4. 左側のサイドバーの「開発者設定」まで下にスクロールします
  5. 「個人用アクセストークン」→「トークン(クラシック)」をクリックします。
  6. 「新しいトークンの生成」→「新しいトークンの生成 (クラシック)」をクリックします。
  7. トークンに「Docker MCP GitHub Access」などのわかりやすい名前を付けます。
  8. 次のスコープ (アクセス許可) を選択します。
    • repo (プライベートリポジトリのフルコントロール)
    • workflow (ワークフローアクションが必要な場合)
    • read:org (組織へのアクセスが必要な場合)
  9. 「トークンの生成」をクリックして、 すぐにトークンをコピー します(二度と表示されません!

ステップ 2: Docker Desktop で構成する

  1. Docker Desktop → MCP Toolkitカタログ
  2. GitHub Official を見つけて [+ 追加] をクリックします。
  3. [ 構成 ] タブに移動します
  4. 認証方法として [個人用アクセス トークン] を選択します
  5. 表示されたフィールドにトークンを貼り付けます
  6. [サーバーの開始] をクリックします。
画像2 1

またはCLI経由で:

docker mcp secret set GITHUB.PERSONAL_ACCESS_TOKEN=github_pat_YOUR_TOKEN_HERE

これにより、ユーザーはワークフローに最適な方法を柔軟に選択でき、ほとんどのユーザーにとって OAuth の方が簡単なパスとなります。

3。ファイルシステムMCPサーバーの構成

ファイルシステムMCPサーバーは、Claude Codeがローカルシステムからファイルを読み取ることを可能にします。アクセスできるディレクトリを指定する必要があります。

ステップ 1: ファイルシステム MCP サーバーを有効にする

  1. Docker Desktop → MCP Toolkitカタログを開きます
  2. 「ファイルシステム」を検索
  3. ファイルシステム(参照)を見つけて、[+ 追加]をクリックします

ステップ 2: 許可されたパスの設定

  1. [ 構成 ] タブに移動します
  2. filesystem.paths で、Claude Codeがアクセスすべきディレクトリを追加します
  3. このデモでは、プロジェクトディレクトリ( /Users/your_username/ やプロジェクトパスなど)を追加します
  4. [+] ボタンをクリックすると、複数のパスを追加できます
  5. [保存] をクリックします
  6. [サーバーの開始] をクリックします。

大事な: Claude Codeの読み取りに慣れているディレクトリへのアクセスのみを許可します。ファイルシステムMCPサーバーは、セキュリティのためにこれらの特定のパスにスコープが設定されています。

オートメーションの実行

  1. リポジトリのクローンを作成する
git clone https://github.com/ajeetraina/catalog-service-node
  1. ディレクトリを catalog-service-node に変更し、次のコマンドを実行します。
claude code
  1. この命令をClaudeコードに貼り付けます。
Scan this codebase for all TODO and FIXME comments.
For each one:
1. Extract the comment and surrounding code context (5 lines before/after)
2. Use git blame to identify who wrote it and when
3. Determine priority based on keywords:
   - High: "race condition", "data loss", "security", "failure", "crash"
   - Medium: "performance", "slow", "cache", "optimization"
   - Low: "documentation", "refactor", "cleanup"
4. Create a Jira issue with:
   - Project: TD
   - Issue Type: Task
   - Summary: Extract from the TODO/FIXME comment
   - Description: Include code context and explanation
   - Priority: Based on categorization above (use additional_fields: {"priority": {"name": "High"}})
   - Labels: ["tech-debt"]
   - Add a comment with link to exact GitHub file and line number

Provide a summary showing:
- Total TODOs/FIXMEs found
- Breakdown by priority (High/Medium/Low)
- List of created Jira issues with links

Claude Code Workを見る

Claude Codeは、このタスクを完了するために複数のMCPサーバーを調整します。

  1. src/ ディレクトリをスキャンするための ファイルシステムMCP
  2. GitHub MCP でgit blameを実行し、作成者情報を取得
  3. Atlassian MCP を使用して TODO デモ プロジェクトで Jira 課題を作成する

出力は次のようになります。

 I'll scan the codebase for TODO and FIXME comments, analyze them, and create Jira issues for tracking.

⏺ Search(pattern: "(TODO|FIXME|XXX|HACK):", output_mode: "content")
  ⎿  Found 22 lines (ctrl+o to expand)

⏺ Now let me read each file to get the full context around the TODO/FIXME comments (excluding git hooks):

⏺ Read(src/services/StorageService.js)
  ⎿  Read 70 lines (ctrl+o to expand)

⏺ Read(src/services/InventoryService.js)
  ⎿  Read 55 lines (ctrl+o to expand)

⏺ Read(src/services/ProductService.js)
  ⎿  Read 117 lines (ctrl+o to expand)

⏺ Read(src/services/PublisherService.js)
  ⎿  Read 67 lines (ctrl+o to expand)

⏺ Read(src/index.js)
  ⎿  Read 100 lines (ctrl+o to expand)

次に、Claude Codeはgit blameを実行して、各TODOを作成したユーザーを特定します。

⏺ Now let me run git blame on each file to identify authors and dates:

⏺ Bash(git blame -L 1,15 src/services/StorageService.js)
  ⎿  4bdb4454 (Ajeet Raina 2025-10-03 20:08:01 +0530  1) // FIXME: No error handling for S3 upload failures
     4bdb4454 (Ajeet Raina 2025-10-03 20:08:01 +0530  2) // Failed uploads leave products without images
     4bdb4454 (Ajeet Raina 2025-10-03 20:08:01 +0530  3) // Need to rollback product creation or retry upload
     … +12 lines (ctrl+o to expand)

⏺ Bash(git blame -L 1,15 src/services/InventoryService.js)
  ⎿  4bdb4454 (Ajeet Raina 2025-10-03 20:08:01 +0530  1) // FIXME: No retry logic for inventory service failures
     4bdb4454 (Ajeet Raina 2025-10-03 20:08:01 +0530  2) // When WireMock/external service is down, requests fail immediately
     4bdb4454 (Ajeet Raina 2025-10-03 20:08:01 +0530  3) // Need exponential backoff retry mechanism
     … +12 lines (ctrl+o to expand)

⏺ Bash(git blame -L 1,13 src/services/ProductService.js)
  ⎿ 4bdb4454 (Ajeet Raina 2025-10-03 20:08:01 +0530  1)
    4bdb4454 (Ajeet Raina 2025-10-03 20:08:01 +0530  2) // TODO: Add pagination support for product listing
    4bdb4454 (Ajeet Raina 2025-10-03 20:08:01 +0530  3) // Currently returns all products - will cause performance issues with large
    … +11 lines (ctrl+o to expand)


⏺ Bash(git blame -L 1,16 src/services/PublisherService.js)
  ⎿  4bdb4454 (Ajeet Raina 2025-10-03 20:08:01 +0530  1) // FIXME: Kafka publish failures are silently ignored
     4bdb4454 (Ajeet Raina 2025-10-03 20:08:01 +0530  2) // If Kafka is unavailable, product updates aren't tracked
     4bdb4454 (Ajeet Raina 2025-10-03 20:08:01 +0530  3) // Need dead letter queue or retry mechanism
     … +13 lines (ctrl+o to expand)

⏺ Bash(git blame -L 1,12 src/index.js)
  ⎿  4bdb4454 (Ajeet Raina 2025-10-03 20:08:01 +0530  1) // TODO: Add request rate limiting
     4bdb4454 (Ajeet Raina 2025-10-03 20:08:01 +0530  2) // API has no throttling, vulnerable to abuse
     4bdb4454 (Ajeet Raina 2025-10-03 20:08:01 +0530  3) // Need per-IP rate limiting
     … +9 lines (ctrl+o to expand)

⏺ Now let me categorize by priority and create Jira issues. First, let me get the GitHub remote URL to include in the Jira issues:

⏺ Bash(git remote get-url origin)
  ⎿  https://github.com/ajeetraina/catalog-service-node

Claude Codeは、課題を優先度で分類し、Jiraチケットを作成します。

 Now I'll create Jira issues for all the TODO/FIXME comments. Based on my analysis:

  HIGH Priority (contains keywords: race condition, data loss, security, failure, crash):
  1. Inventory sync race condition
  2. S3 upload failures (data loss potential)
  3. Kafka publish failures (data loss)
  4. Kafka acknowledgment handling (data loss)
  5. Error responses expose internal details (security)
  6. Inventory service failures

  MEDIUM Priority (performance, slow, cache, optimization):
  1. Cache inventory data (performance)
  2. Add pagination support (performance)
  3. Image resizing/optimization (performance)
  4. Batch publishing (performance)

  LOW Priority (documentation, refactor, cleanup):
  1. LocalStack configuration not documented
  2. Product deletion doesn't clean up S3 images (cleanup)
  3. No validation for duplicate SKUs
  4. Request rate limiting
  5. Health check endpoint
  6. Event schema versioning
  7. Multiple images per product
  8. Search functionality
  9. Inventory low-stock alerts

2分以内に、Claude Codeは以下を実現しました。

  • コードベース全体をスキャンしました
  • 特定された 15+ TODO/FIXME コメント
  • それぞれの取得されたgit履歴
  • ビジネスの優先順位別に分類
  • 完全なコンテキストで適切にフォーマットされた Jira 課題を作成
  • 各問題を正確なファイルと行番号にリンクしました

20かかっていたはずの作業が、30分の手作業が自動化され、一貫性が保たれました。この Jira 自動化は一例にすぎません。MCP が他の一般的な開発ワークフローをどのように変革するかは次のとおりです。

ワークフローの比較: 導入前とMCP後

タスク

MCP前(手動)

MCP 後 (自動)

節約された時間

チェックアウトの失敗のデバッグ

1。ClaudeにSQLクエリを依頼する

2。データベースクライアントへのクエリのコピー

3。クエリを実行して結果をコピーする

4。結果をClaudeに貼り付け直す

5。分析の取得

6。ClaudeにGitHubの課題の下書きを依頼する

7。GitHub で課題を手動で作成する

8。Slack でチームに通知する

あなた: 「なぜチェックアウトが失敗するのですか?GitHub の問題を調査して作成します。」 

Claude Code: 本番データベースをクエリし、 23%の支払いタイムアウトを見つけ、接続プールの枯渇を根本原因として特定し、GitHubの問題#1847を作成し、Slackの #backend アラートに投稿します。
結果: 完了。問題リンクが提供されます。

~15 分 → ~2 分

パフォーマンスの問題の調査

1。複数の監視ダッシュボードを確認する

2。低速クエリログのエクスポート

3。ローカルで分析する

4。Google ドキュメントでの文書化の結果

5。Jira チケットを手動で作成する

6。docとticketの間にリンクを追加する

7。チームに通知する

あなた: 「API の応答時間が急増するのはなぜですか?」

クロードコード:

• ログslow_queriesクエリ

•検索:>2秒かかる127クエリ

• users.email 上の欠落しているインデックスを識別

• マイグレーションファイルを作成します。

• 修正で PR を開きます

•#backend に要約を投稿します

~20 分 → ~3 分

セキュリティのためのコードレビュー

1。PR を手動で確認する

2。セキュリティスキャナーを個別に実行する

3。メモ帳での調査結果の文書化

4。レビューコメントを1つずつ投稿する

5。課題の追跡チケットを作成する

6。セキュリティダッシュボードの更新

あなた: 「セキュリティ上の問題については PR #234 を確認してください」

クロードコード:

•変更されたファイルを分析12

• ハードコードされた API キー (config.js:47) を検索します。

• 検索: クエリ構築における SQL インジェクションのリスク

•修正を含むインラインレビューコメントを投稿します

• セキュリティチケット SEC-445 を作成します。

•セキュリティ追跡ボードを更新します

~25 分 → ~4 分

15 分間のコンテキスト切り替えから2まで、3 分間の連続フロー。

画像8

結論

Docker MCP ToolkitがClaude Codeを孤立したコーディングアシスタントから統合開発パートナーに変える方法を見てきました。以前は、端末、Web ブラウザー、ドキュメント間でコピーする必要がありましたが、今では 1 つの連続したフローで行われます。

次のステップ:

  • Docker MCP カタログの 220+ MCP サーバーを調べる
  • Claude Codeをデータベース、API、ツールに接続する
  • セットアップをチームと共有して、一貫したワークフローを実現

開発の未来は、ツールを切り替えることではなく、シームレスに連携するツールです。Docker MCP Toolkit は、その未来を今日利用できるようにします。

さらに詳しく

投稿カテゴリ

関連記事