はじめに
Claude Codeは単体でも強力なAIコーディングアシスタントですが、MCPサーバーと連携することでその能力を大幅に拡張できます。Model Context Protocol(MCP)は、AIアプリケーションと外部システムを接続するためのオープンスタンダードであり、Claude CodeをGitHub、Sentry、Slack、Notion、データベースなど様々なサービスと統合可能にします。
本記事では、MCPの基本概念から主要MCPサーバーの導入方法、claude mcp addコマンドの使い方、認証設定まで詳しく解説します。この記事を読むことで、以下のことができるようになります。
- MCPの仕組みとClaude Codeでの活用方法を理解する
- 主要なMCPサーバーをClaude Codeに追加・設定する
- OAuth認証を使用してリモートMCPサーバーに接続する
- チームで共有できるMCP設定を構築する
実行環境
- オペレーティングシステム: macOS 10.15以上、Ubuntu 20.04以上/Debian 10以上、Windows 10以上(WSL 1/2またはGit for Windows)
- ハードウェア: 4GB以上のRAM
- Node.js 18以上(npmインストールの場合のみ必要)
- インターネット接続(認証およびAI処理に必要)
- シェル環境: Bash、Zsh、またはFish推奨
前提条件
- Claude Codeがインストール済みであること
- コマンドライン操作の基礎知識
- 連携したいサービス(GitHub、Sentry等)のアカウント
Model Context Protocol(MCP)とは
MCPの基本概念
MCPは、AIモデルと外部システムを接続するためのオープンスタンダードです。USB-Cポートが様々な電子機器を標準化された方法で接続するように、MCPはAIアプリケーションと外部システムを統一されたインターフェースで接続します。
graph LR
A[Claude Code<br>MCPホスト] --> B[MCPクライアント1]
A --> C[MCPクライアント2]
A --> D[MCPクライアント3]
B --> E[GitHub<br>MCPサーバー]
C --> F[Sentry<br>MCPサーバー]
D --> G[PostgreSQL<br>MCPサーバー]上図のように、Claude Code(MCPホスト)は複数のMCPクライアントを作成し、各クライアントが対応するMCPサーバーと接続を維持します。
MCPのアーキテクチャ
MCPは2つの主要レイヤーで構成されています。
| レイヤー | 役割 |
|---|---|
| データレイヤー | JSON-RPC 2.0ベースのプロトコルでクライアント・サーバー間通信を定義 |
| トランスポートレイヤー | 通信チャネルと認証を管理(stdio、HTTP、SSE) |
MCPサーバーが提供する3つの機能
MCPサーバーは、AIアプリケーションに対して以下の3つのプリミティブ(基本機能)を提供します。
ツール(Tools)
特定のアクションを実行する機能を定義します。ファイル取得、API呼び出し、データベースクエリなど、Claude Codeが実行できる操作を提供します。
リソース(Resources)
データソースへのアクセスを提供します。ファイル内容、データベースレコード、APIレスポンスなど、Claude Codeのコンテキストとして利用できる情報を公開します。
プロンプト(Prompts)
事前定義されたテンプレートを提供します。よく使うタスク向けのプロンプトを/mcp__servername__promptname形式のスラッシュコマンドとして呼び出せます。
Claude CodeにMCPサーバーを追加する
MCPサーバーの追加方法
Claude Codeでは、claude mcp addコマンドを使用してMCPサーバーを追加します。サーバーの種類によって3つの方法があります。
リモートHTTPサーバーの追加(推奨)
クラウドベースのMCPサーバーに接続する場合は、HTTPトランスポートを使用します。
|
|
リモートSSEサーバーの追加
SSE(Server-Sent Events)トランスポートは非推奨となっていますが、一部のサービスでは引き続きサポートされています。
|
|
ローカルstdioサーバーの追加
ローカルで実行するMCPサーバーには、stdioトランスポートを使用します。
|
|
重要なのは、すべてのオプション(--transport、--env、--scope、--header)はサーバー名の前に指定し、--(ダブルダッシュ)でサーバー名とコマンド・引数を区切ることです。
Windowsでの注意点
Windows環境(WSL以外)では、npxを使用するローカルMCPサーバーにcmd /cラッパーが必要です。
|
|
cmd /cラッパーがないと、「Connection closed」エラーが発生します。
主要MCPサーバーの導入方法
GitHub MCPサーバー
GitHubとの連携により、PR操作、Issue管理、コードレビューなどが可能になります。
|
|
連携後は以下のような操作が可能です。
|
|
Sentry MCPサーバー
エラー監視とデバッグのためにSentryと連携します。
|
|
連携後の使用例は以下の通りです。
|
|
Slack MCPサーバー
Slackとの連携により、メッセージ送信、Canvas作成、データ取得が可能になります。
|
|
Linear MCPサーバー
プロジェクト管理ツールLinearとの連携により、Issue、プロジェクト、コメントの管理が可能になります。
|
|
Notion MCPサーバー
Notionとの連携により、ドキュメントやデータベースへのアクセスが可能になります。
|
|
データベース接続(PostgreSQL)
PostgreSQLなどのデータベースに直接接続することも可能です。
|
|
連携後は自然言語でデータベースをクエリできます。
|
|
MCPサーバーの管理
サーバー一覧の確認
|
|
Claude Code内での確認
Claude Code内で/mcpコマンドを実行すると、サーバーのステータス確認や認証操作が可能です。
MCP設定のスコープ
MCPサーバーは3つのスコープレベルで設定できます。目的に応じて適切なスコープを選択してください。
ローカルスコープ(デフォルト)
現在のプロジェクトでのみ使用でき、~/.claude.jsonに保存されます。個人的な開発サーバーや機密性の高い設定に適しています。
|
|
プロジェクトスコープ
プロジェクトルートの.mcp.jsonに保存され、チームメンバー全員が同じ設定を共有できます。
|
|
生成される.mcp.jsonの形式は以下の通りです。
|
|
セキュリティ上の理由から、.mcp.jsonからのプロジェクトスコープサーバーを使用する際は承認を求められます。承認選択をリセットするにはclaude mcp reset-project-choicesを使用します。
ユーザースコープ
~/.claude.jsonに保存され、すべてのプロジェクトで使用可能です。複数のプロジェクトで頻繁に使用するサービスに適しています。
|
|
スコープの優先順位
同じ名前のサーバーが複数のスコープに存在する場合、以下の優先順位で解決されます。
- ローカルスコープ(最優先)
- プロジェクトスコープ
- ユーザースコープ
OAuth認証の設定
多くのクラウドベースMCPサーバーはOAuth 2.0認証を必要とします。Claude Codeは安全な接続のためにOAuthをサポートしています。
認証手順
- 認証が必要なサーバーを追加します
|
|
- Claude Code内で
/mcpコマンドを実行します
|
|
- ブラウザでログイン手順に従います
認証トークンは安全に保存され、自動的に更新されます。アクセスを取り消すには、/mcpメニューで「Clear authentication」を選択します。
JSONから直接MCPサーバーを追加
JSON設定からMCPサーバーを直接追加することも可能です。
|
|
Claude DesktopからMCPサーバーをインポート
Claude Desktopで既に設定済みのMCPサーバーをインポートできます(macOSおよびWSLのみ対応)。
|
|
環境変数の展開
.mcp.jsonファイルでは環境変数の展開がサポートされています。これにより、チーム間で設定を共有しつつ、APIキーなど機密情報は個別管理できます。
|
|
サポートされる構文は以下の通りです。
${VAR}: 環境変数VARの値に展開${VAR:-default}: VARが設定されていれば使用、なければdefaultを使用
MCPリソースの活用
MCPサーバーは@メンションで参照できるリソースを公開できます。
リソースの参照方法
|
|
リソースは参照時に自動的に取得され、添付ファイルとして含まれます。
MCPプロンプトをスラッシュコマンドとして使用
MCPサーバーが公開するプロンプトは、Claude Codeでスラッシュコマンドとして利用できます。
|
|
実践的な活用例
Issue対応からPR作成まで一気通貫
MCPを活用することで、複数のツールを横断したワークフローが可能になります。
|
|
MCP連携のワークフロー図
sequenceDiagram
participant Dev as 開発者
participant CC as Claude Code
participant JIRA as JIRA MCP
participant GH as GitHub MCP
participant Sen as Sentry MCP
Dev->>CC: "ENG-4521を実装してPRを作成して"
CC->>JIRA: Issue詳細を取得
JIRA-->>CC: 機能要件
CC->>CC: コード実装
CC->>GH: PR作成
GH-->>CC: PR #456作成完了
CC-->>Dev: 実装とPR作成完了
Dev->>CC: "リリース後のエラーを確認して"
CC->>Sen: エラー情報を取得
Sen-->>CC: エラーレポート
CC-->>Dev: 分析結果を報告セキュリティに関する注意事項
MCPサーバーを使用する際は、以下の点に注意してください。
サードパーティサーバーのリスク
Anthropic社はすべてのサードパーティMCPサーバーの正確性やセキュリティを検証していません。インストールするMCPサーバーは信頼できるものであることを確認してください。
プロンプトインジェクションのリスク
信頼できないコンテンツを取得する可能性のあるMCPサーバーを使用する場合、プロンプトインジェクションのリスクに特に注意が必要です。
認証情報の管理
APIキーや認証トークンは安全に管理し、.mcp.jsonにコミットする設定からは除外してください。環境変数を使用することを推奨します。
まとめ
MCPは、Claude Codeの能力を大幅に拡張するための強力なプロトコルです。GitHub、Sentry、Slack、Linear、Notionなど主要サービスとの連携により、開発ワークフロー全体をAIで強化できます。
claude mcp addコマンドを使用してサーバーを追加し、OAuth認証で安全に接続することで、Issue対応からPR作成、エラー監視、データベース操作まで、Claude Codeから直接実行可能になります。
次のステップとして、自分のワークフローに必要なMCPサーバーを追加し、実際の開発タスクで活用してみてください。