はじめに

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トランスポートを使用します。

1
2
3
4
5
6
7
8
9
# 基本構文
claude mcp add --transport http <名前> <URL>

# 例:Notionサーバーを追加
claude mcp add --transport http notion https://mcp.notion.com/mcp

# Bearer認証トークンを使用する場合
claude mcp add --transport http secure-api https://api.example.com/mcp \
  --header "Authorization: Bearer your-token"

リモートSSEサーバーの追加

SSE(Server-Sent Events)トランスポートは非推奨となっていますが、一部のサービスでは引き続きサポートされています。

1
2
3
4
5
# 基本構文
claude mcp add --transport sse <名前> <URL>

# 例:Asanaサーバーを追加
claude mcp add --transport sse asana https://mcp.asana.com/sse

ローカルstdioサーバーの追加

ローカルで実行するMCPサーバーには、stdioトランスポートを使用します。

1
2
3
4
5
6
# 基本構文
claude mcp add [オプション] <名前> -- <コマンド> [引数...]

# 例:Airtableサーバーを追加
claude mcp add --transport stdio --env AIRTABLE_API_KEY=YOUR_KEY airtable \
  -- npx -y airtable-mcp-server

重要なのは、すべてのオプション(--transport--env--scope--header)はサーバー名の前に指定し、--(ダブルダッシュ)でサーバー名とコマンド・引数を区切ることです。

Windowsでの注意点

Windows環境(WSL以外)では、npxを使用するローカルMCPサーバーにcmd /cラッパーが必要です。

1
2
# Windows PowerShellでの追加例
claude mcp add --transport stdio my-server -- cmd /c npx -y @some/package

cmd /cラッパーがないと、「Connection closed」エラーが発生します。

主要MCPサーバーの導入方法

GitHub MCPサーバー

GitHubとの連携により、PR操作、Issue管理、コードレビューなどが可能になります。

1
2
3
4
5
6
# GitHubサーバーを追加
claude mcp add --transport http github https://api.githubcopilot.com/mcp/

# 認証(Claude Code内で実行)
/mcp
# 「Authenticate」を選択してGitHubにログイン

連携後は以下のような操作が可能です。

1
2
3
4
# 使用例
> "PR #456をレビューして改善点を提案して"
> "今見つけたバグのIssueを作成して"
> "私に割り当てられているオープンPRを表示して"

Sentry MCPサーバー

エラー監視とデバッグのためにSentryと連携します。

1
2
3
4
5
# Sentryサーバーを追加
claude mcp add --transport http sentry https://mcp.sentry.dev/mcp

# 認証
/mcp

連携後の使用例は以下の通りです。

1
2
3
> "過去24時間で最も頻発しているエラーは?"
> "エラーID abc123のスタックトレースを表示して"
> "この新しいエラーはどのデプロイで発生した?"

Slack MCPサーバー

Slackとの連携により、メッセージ送信、Canvas作成、データ取得が可能になります。

1
2
3
4
5
# Slackサーバーを追加
claude mcp add slack --transport http https://mcp.slack.com/mcp

# 認証
/mcp

Linear MCPサーバー

プロジェクト管理ツールLinearとの連携により、Issue、プロジェクト、コメントの管理が可能になります。

1
2
3
4
5
# Linearサーバーを追加
claude mcp add --transport http linear https://mcp.linear.app/mcp

# 認証
/mcp

Notion MCPサーバー

Notionとの連携により、ドキュメントやデータベースへのアクセスが可能になります。

1
2
3
4
5
# Notionサーバーを追加
claude mcp add --transport http notion https://mcp.notion.com/mcp

# 認証
/mcp

データベース接続(PostgreSQL)

PostgreSQLなどのデータベースに直接接続することも可能です。

1
2
3
# PostgreSQLサーバーを追加
claude mcp add --transport stdio db -- npx -y @bytebase/dbhub \
  --dsn "postgresql://readonly:pass@prod.db.com:5432/analytics"

連携後は自然言語でデータベースをクエリできます。

1
2
3
> "今月の総売上はいくら?"
> "ordersテーブルのスキーマを表示して"
> "90日間購入がない顧客を見つけて"

MCPサーバーの管理

サーバー一覧の確認

1
2
3
4
5
6
7
8
# 設定済みサーバーの一覧表示
claude mcp list

# 特定サーバーの詳細確認
claude mcp get github

# サーバーの削除
claude mcp remove github

Claude Code内での確認

Claude Code内で/mcpコマンドを実行すると、サーバーのステータス確認や認証操作が可能です。

MCP設定のスコープ

MCPサーバーは3つのスコープレベルで設定できます。目的に応じて適切なスコープを選択してください。

ローカルスコープ(デフォルト)

現在のプロジェクトでのみ使用でき、~/.claude.jsonに保存されます。個人的な開発サーバーや機密性の高い設定に適しています。

1
2
3
4
5
# ローカルスコープで追加(デフォルト)
claude mcp add --transport http stripe https://mcp.stripe.com

# 明示的に指定する場合
claude mcp add --transport http stripe --scope local https://mcp.stripe.com

プロジェクトスコープ

プロジェクトルートの.mcp.jsonに保存され、チームメンバー全員が同じ設定を共有できます。

1
2
# プロジェクトスコープで追加
claude mcp add --transport http paypal --scope project https://mcp.paypal.com/mcp

生成される.mcp.jsonの形式は以下の通りです。

1
2
3
4
5
6
7
8
{
  "mcpServers": {
    "paypal": {
      "type": "http",
      "url": "https://mcp.paypal.com/mcp"
    }
  }
}

セキュリティ上の理由から、.mcp.jsonからのプロジェクトスコープサーバーを使用する際は承認を求められます。承認選択をリセットするにはclaude mcp reset-project-choicesを使用します。

ユーザースコープ

~/.claude.jsonに保存され、すべてのプロジェクトで使用可能です。複数のプロジェクトで頻繁に使用するサービスに適しています。

1
2
# ユーザースコープで追加
claude mcp add --transport http hubspot --scope user https://mcp.hubspot.com/anthropic

スコープの優先順位

同じ名前のサーバーが複数のスコープに存在する場合、以下の優先順位で解決されます。

  1. ローカルスコープ(最優先)
  2. プロジェクトスコープ
  3. ユーザースコープ

OAuth認証の設定

多くのクラウドベースMCPサーバーはOAuth 2.0認証を必要とします。Claude Codeは安全な接続のためにOAuthをサポートしています。

認証手順

  1. 認証が必要なサーバーを追加します
1
claude mcp add --transport http sentry https://mcp.sentry.dev/mcp
  1. Claude Code内で/mcpコマンドを実行します
1
> /mcp
  1. ブラウザでログイン手順に従います

認証トークンは安全に保存され、自動的に更新されます。アクセスを取り消すには、/mcpメニューで「Clear authentication」を選択します。

JSONから直接MCPサーバーを追加

JSON設定からMCPサーバーを直接追加することも可能です。

1
2
3
4
5
# HTTP サーバーをJSON設定で追加
claude mcp add-json weather-api '{"type":"http","url":"https://api.weather.com/mcp","headers":{"Authorization":"Bearer token"}}'

# stdioサーバーをJSON設定で追加
claude mcp add-json local-weather '{"type":"stdio","command":"/path/to/weather-cli","args":["--api-key","abc123"],"env":{"CACHE_DIR":"/tmp"}}'

Claude DesktopからMCPサーバーをインポート

Claude Desktopで既に設定済みのMCPサーバーをインポートできます(macOSおよびWSLのみ対応)。

1
2
3
4
5
# Claude Desktopからインポート
claude mcp add-from-claude-desktop

# インタラクティブにインポートするサーバーを選択後、確認
claude mcp list

環境変数の展開

.mcp.jsonファイルでは環境変数の展開がサポートされています。これにより、チーム間で設定を共有しつつ、APIキーなど機密情報は個別管理できます。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
{
  "mcpServers": {
    "api-server": {
      "type": "http",
      "url": "${API_BASE_URL:-https://api.example.com}/mcp",
      "headers": {
        "Authorization": "Bearer ${API_KEY}"
      }
    }
  }
}

サポートされる構文は以下の通りです。

  • ${VAR}: 環境変数VARの値に展開
  • ${VAR:-default}: VARが設定されていれば使用、なければdefaultを使用

MCPリソースの活用

MCPサーバーは@メンションで参照できるリソースを公開できます。

リソースの参照方法

1
2
3
4
5
6
7
8
# 利用可能なリソースを表示
> @

# 特定のリソースを参照
> @github:issue://123 を分析して修正を提案して

# 複数リソースの参照
> @postgres:schema://users と @docs:file://database/user-model を比較して

リソースは参照時に自動的に取得され、添付ファイルとして含まれます。

MCPプロンプトをスラッシュコマンドとして使用

MCPサーバーが公開するプロンプトは、Claude Codeでスラッシュコマンドとして利用できます。

1
2
3
4
5
6
7
8
9
# 利用可能なコマンドを表示
> /

# 引数なしでプロンプトを実行
> /mcp__github__list_prs

# 引数付きでプロンプトを実行
> /mcp__github__pr_review 456
> /mcp__jira__create_issue "ログインフローのバグ" high

実践的な活用例

Issue対応からPR作成まで一気通貫

MCPを活用することで、複数のツールを横断したワークフローが可能になります。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# JIRAのIssueから機能を実装しGitHubにPRを作成
> "JIRA Issue ENG-4521に記載されている機能を実装して、GitHubにPRを作成して"

# モニタリングデータを分析
> "SentryとStatsigを確認して、ENG-4521で実装した機能の使用状況をチェックして"

# データベースから情報を取得
> "PostgreSQLデータベースから、機能ENG-4521を使用した10人のユーザーのメールアドレスを取得して"

# Slackで共有されたデザインを反映
> "Slackで共有された新しいFigmaデザインに基づいて、標準メールテンプレートを更新して"

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サーバーを追加し、実際の開発タスクで活用してみてください。

参考リンク