Claude Code + MCPでAIプログラミングワークフローを構築:入門から実践まで

Claude Code + MCPでAIプログラミングワークフローを構築:入門から実践まで

Claude Code + MCP:なぜこの組み合わせが注目すべきなのか

Claude Code自体はすでに十分に強力だ——コードベース全体を理解し、ファイルをまたいでコードを修正し、ターミナルでコマンドを実行できる。しかし、その「世界」はプロジェクトフォルダ内に限定されている。

Claude CodeライフサイクルフックとMCP統合の概念図

MCPプロトコルの登場により、この壁が打ち破られた。MCPサーバーを通じて、Claude Codeは開発ツールチェーン全体へのアクセス能力を獲得する:

  • プロジェクト管理システム:Jira、Linear、Notion
  • コードホスティングプラットフォーム:GitHub、GitLab
  • データベース:PostgreSQL、SQLite、MongoDB
  • 監視ツール:Sentry、Datadog
  • デザインツール:Figma
  • コミュニケーションツール:Slack、Telegram、Discord

もうチケットの説明を手動でチャットウィンドウにコピーペーストしたり、データベースのクエリ結果をスクリーンショットしてAIに送ったりする必要はない。Claude Codeがこれらのシステムを直接読み取り、操作できる。


ステップ1:Claude Codeのインストール

Claude Codeをまだインストールしていない場合は、以下の方法がある:

macOS / Linux / WSL(推奨ワンクリックインストール):

curl -fsSL https://claude.ai/install.sh | bash

Homebrew(macOS):

brew install --cask claude-code

Windows PowerShell:

irm https://claude.ai/install.ps1 | iex

インストール完了後、任意のプロジェクトディレクトリで以下を実行:

cd your-project
claude

初回実行時にログインを促される。Claude Pro/Max/Teamサブスクリプション、Anthropic Console APIアカウント、およびAmazon Bedrock、Google Vertex AIなどのサードパーティプロバイダーに対応している。

ログイン後、認証情報はローカルに保存され、以降の再ログインは不要。

インストールの詳細:Claude Code公式ドキュメント


ステップ2:MCPの3つの接続方法を理解する

Claude Codeは3つのMCPサーバー転送プロトコルをサポートしており、それぞれ異なるシーンに対応する:

1. リモートHTTPサーバー(推奨)

クラウドサービスへの接続に適しており、現在最も広くサポートされている転送方式。

# Notion MCPに接続
claude mcp add --transport http notion https://mcp.notion.com/mcp

# 認証付きAPI接続
claude mcp add --transport http secure-api https://api.example.com/mcp \
  --header "Authorization: Bearer your-token"

.mcp.json設定ファイルでは、typeフィールドはhttpのエイリアスとしてstreamable-httpも受け付けるため、他のMCPドキュメントからコピーした設定をそのまま使用できる。

2. リモートSSEサーバー

# Asanaに接続(注:SSE転送は非推奨、HTTPを優先推奨)
claude mcp add --transport sse asana https://mcp.asana.com/sse

3. ローカルstdioサーバー

ローカルシステムリソースへの直接アクセスが必要なシーンに適している。Claude CodeはCLAUDE_PROJECT_DIR環境変数をサブプロセスに自動的に渡し、サーバーがプロジェクト相対パスを解決しやすくする。

# Airtable MCPサーバーに接続
claude mcp add --transport stdio --env AIRTABLE_API_KEY=YOUR_KEY airtable \
  -- npx -y airtable-mcp-server

⚠️ オプションの順序が重要:すべてのオプション(--transport--env--scope--header)はサーバー名の前に配置する必要がある。--(二重ハイフン)の後がMCPサーバーに渡すコマンドと引数。


ステップ3:実践——開発ワークフローの構築

以下は完全な実践シナリオ:Claude Code + MCPを使って、チケットからPRまでの自動化フローを実現する。

シナリオ説明

Webプロジェクトを保守しているとする。プロダクトマネージャーがLinearで新しい要件を作成し、あなたは以下を行う必要がある:

  1. 要件の説明を読む
  2. コードベースに機能を実装する
  3. テストを実行する
  4. コードをコミットしてGitHub PRを作成する
  5. Slackでチームに通知する

MCPサーバーの設定

まずGitHubとLinearを接続する:

# GitHubに接続(個人トークンを使用)
claude mcp add --transport stdio \
  --env GITHUB_PERSONAL_ACCESS_TOKEN=ghp_xxxx \
  github -- npx -y @anthropic/mcp-server-github

# Linearに接続
claude mcp add --transport http linear https://mcp.linear.app/mcp \
  --header "Authorization: Bearer lin_api_xxxx"

接続後、以下のコマンドで状態を確認できる:

claude mcp list

Claude Codeセッションで/mcpを実行すると、各サーバーのツール数と接続状態を確認できる。

実際の使用方法

これで、自然言語で全体のワークフローを完了できる:

LinearチケットWEB-123の要件を読み取り、この機能を実装し、
GitHubにfeature/web-123ブランチを作成し、
書き終わったらテストを実行し、パスしたらPRを提出してチームに通知して。

Claude Codeは以下を行う:

  1. Linear MCPサーバーでチケットの詳細を読み取る
  2. Gitブランチを作成する
  3. 要件を理解してコードを書く
  4. npm testなどのテストコマンドを実行する
  5. GitHub MCPサーバーでPull Requestを作成する
  6. Slack MCPサーバーで通知を送信する

データベースクエリワークフロー

開発の補助としてデータベースをクエリする必要もある場合:

# PostgreSQLに接続
claude mcp add --transport stdio \
  --env PG_CONNECTION_STRING=postgresql://user:pass@host:5432/db \
  postgres -- npx -y @modelcontextprotocol/server-postgres

それからClaude Codeにこう尋ねられる:

過去1週間の/api/searchエンドポイントのユーザーデータを調査して、
パフォーマンスのボトルネックを分析し、関連コードの最適化を手伝って。

ステップ4:上級テクニック

ダイナミックツールの更新

Claude CodeはMCPのlist_changed通知をサポートしており、MCPサーバーはセッションを再起動せずに利用可能なツールリストを動的に更新できる。これにより以下が可能:

  • セッション内で一時的に一部のツールを有効/無効にする
  • プロジェクトのコンテキストに応じてツールセットを切り替える
  • 条件付きツール露出を実装する

ClaudeでMCPサーバーを自動生成

既存のMCPサーバーで要件を満たせない場合、Claude Code自体が構築を手伝える:

# Claude Codeセッションで公式プラグインをインストール
/plugin install mcp-server-dev@claude-plugins-official

# プラグインを再読み込み
/reload-plugins

# ビルドツールを実行
/mcp-server-dev:build-mcp-server

Claudeはユースケースを聞き取り、リモートHTTPまたはローカルstdioサーバーのスキャフォールドコードを自動生成する。

プロジェクトレベルのMCP設定

MCP設定は特定のプロジェクトに限定できる。プロジェクトルートディレクトリに.mcp.jsonを作成すると、その設定は現在のプロジェクトにのみ有効になる:

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@anthropic/mcp-server-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxxx"
      }
    }
  }
}

これにより、異なるプロジェクトで完全に異なるMCPサーバーセットを持ち、互いに干渉しない。


セキュリティに関する注意

MCPサーバーへの接続時は、以下のセキュリティ問題に必ず注意すること:

  • 信頼するサーバーのみに接続する:外部コンテンツを取得するサーバーはプロンプトインジェクションのリスクをもたらす可能性がある
  • 最小権限の原則:MCPサーバーのAPIトークンには必要な権限のみを付与する
  • 接続済みサーバーの定期確認claude mcp listで設定を監査し、使用しなくなったサーバーを削除する
  • 機密データの分離:データベース接続文字列などの機密情報は環境変数で管理し、ハードコードしない

まとめ

Claude Code + MCPの組み合わせは、本質的に一つの核心的問題を解決している:AIプログラミングアシスタントを「コードが書ける」状態から「仕事ができる」状態に変えること

Claude Codeがチケットを直接読み取り、データベースをクエリし、Gitを操作し、通知を送信できるようになると、それはもはや受動的なQ&Aツールではなく、完全な開発フローを自律的に実行できるインテリジェントエージェントになる。

このワークフローの導入ハードルは高くない——Claude Codeをインストールし、いくつかのMCPサーバーを接続し、自然言語で要件を記述し、残りはAIに任せる。まだ手動でチケット内容をコピーペーストし、手動でデータベースをクエリし、手動でPRを作成しているなら、このソリューションをぜひ試してみる価値がある。


おすすめ記事:

v1779