MCP
概要
Claude Codeの外部ツール連携機能は、Model Context Protocol (MCP) を通じて、Git、テストツール、CI/CDパイプラインなどの外部ツールとシームレスに統合します。これにより、既存の開発ワークフローを中断することなく、AI支援開発を実現できます。
©株式会社ジェネラティブエージェンツ / はじめてのClaude Code ※引用画像は本サイト利用規約に基づく自由な使用、複製、翻案等の対象外です。
Model Context Protocol(MCP)について
MCP(Model Context Protocol)とは、AIアプリケーションを外部システムに接続するためのプロトコルの一種です。 MCPを使用するとAIアプリケーションは、データソース(ローカル ファイル、データベースなど)/ツール(検索エンジン、計算機など)/ワークフロー(専用のプロンプトなど)に接続して、重要な情報にアクセスし、タスクを実行できるようになります。
Claude Codeでは、このプロトコルを使用して様々な開発ツールと接続してタスクが実行できます。
MCPの利点
- 標準プロトコル: 統一されたインターフェースで複数のツールと連携
- セキュリティ: 安全な認証と権限管理
- 拡張性: 新しいツールを簡単に追加可能
- 効率性: 最適化された通信プロトコル
MCPアーキテクチャと外部システム
┌───────────────┐
│ MCPホスト │
│┌─────────────┐│
││MCPクライアント││
│└─────────────┘│
└───────────────┘
↓ MCP(JSON-RPC)
┌───────────────┐
│ MCPサーバ │
└───────────────┘
↓ 各ツール固有の接続方法
┌───────────────┐
│ 外部システム │
└───────────────┘
- MCPホスト: 1つまたは複数のMCPクライアントを調整および管理するAIアプリケーション
- ここではClaude CodeがMCPホスト
- MCPクライアント: MCPサーバへの接続を維持し、MCPホストが使用するためにMCPサーバからコンテキストを取得するコンポーネント
- ここではClaude CodeのMCP接続機能
- MCPサーバ: 各種外部ツールへのアダプターとして機能し、JSON-RPCプロトコルで通信
- ローカルMCPサーバの場合、ここもClaude Codeが担当
- リモートMCPサーバの場合は外部のクラウドサービスが提供
- 外部システム: Git、データベース、各種APIなどの実際のツール・サービス
- 通信プロトコル: ホストとサーバ間はJSON-RPC、サーバと外部システム間は各ツール固有のプロトコル
MCPでできること
MCPサーバが接続されると、Claude Codeに以下のようなことを依頼できます。
- 課題トラッカーから機能を実装する: “JIRA課題ENG-4521で説明されている機能を追加し、GitHubでPRを作成してください。”
- 監視データを分析する: “SentryとStatsigをチェックして、ENG-4521で説明されている機能の使用状況を確認してください。”
- データベースをクエリする: “Postgresデータベースに基づいて、機能ENG-4521を使用したランダムな10人のユーザのメールアドレスを見つけてください。”
- デザインを統合する: “Slackへ投稿された新しいFigmaデザインに基づいて、標準のメールテンプレートを更新してくだ さい”
- ワークフローを自動化する: “新機能についてのフィードバックセッションにこれらの10人のユーザを招待するGmailの下書きを作成してください。“
MCPサーバの設定
ファイルシステム操作などのMCPサーバはClaude CodeがMCPサーバを起動する「ローカルMCPサーバ」として、クラウドサービスが接続を提供しているMCPサーバは「リモートMCPへの接続」としてMCPサーバを設定します。
その際、ローカル間はstdioのトランスポート方式で、リモートMCPサーバとの間はSSE方式かStreamable HTTP方式での接続になります。将来的にはStreamable HTTP形式がより普及してくるものと想定しています。
ローカルMCPサーバの設定追加
# 基本構文
claude mcp add <name> <command> [args...]
# 実際の例: Airtableサーバを追加
claude mcp add airtable --env AIRTABLE_API_KEY=YOUR_KEY \
-- npx -y airtable-mcp-server