ガイド2026年4月1日

Claude CodeでMCPを使いこなす完全ガイド:設定から活用まで

室谷東吾
監修者室谷東吾(@0x__tom

株式会社MYUUU 代表取締役 / 日本最大級AIコミュニティ「.AI」創設者(累計2,000名超)/ セプテーニ・ホールディングス(電通グループ)と資本業務提携 / 著書「お金を使わず、AIを働かせる『Dify』活用」(ぱる出版、3刷)/ Xフォロワー約2万人

テキトー教師
監修者テキトー教師(@tekitoo_T_cher

.AI 認定講師 / 教育×AIの専門家 / 累計300名以上にAI活用を指導 / 「テキトーに学ぶ」がモットーの実践派講師 / Xアカウント

Claude CodeでMCPを使いこなす完全ガイド:設定から活用まで

Claude CodeでMCPを使うと、何が変わるのか

Claude CodeとMCPサーバーの接続構成図 — GitHub、PostgreSQL、Slack、SentryとClaude Codeがstdio/HTTPで連携する全体像

室谷室谷
今回はClaude CodeとMCPの話をしましょう。これ、.AI(ドットエーアイ)コミュニティでも相当盛り上がっているテーマなんですよね・・・正直、MCPを使うかどうかで生産性が全然違います。
テキトー教師テキトー教師
ですね。コミュニティのメンバーさんから「Claude Codeって単体でも十分すごいのに、MCPまで必要ですか?」ってよく聞かれるんですが、答えは「全然違う別物になる」です。
室谷室谷
MCP(Model Context Protocol)は、AnthropicがオープンソースでリリースしたAIと外部システムを接続するための標準プロトコルです。これを使うと、Claude CodeがGitHub、Slack、データベース、Figmaなど、外部のツールに直接アクセスできるようになる。
テキトー教師テキトー教師
具体例で言うと、「JIRAのこのチケットの内容を実装してGitHubにPRを出して」みたいなことを、1つの指示で完結させられるようになりますよね。
室谷室谷
そう。MYUUUでもこれ使ってますが、「外部ツールへの手動コピペ」が消えるんですよ。

Claudeがそのまま各サービスにアクセスして作業を進めてくれる。
テキトー教師テキトー教師
整理すると、MCPを使うことでClaude Codeにできることはこんな感じに広がります。
  • 課題管理(JIRAのissueを読んで実装、GitHubのPRを作成)
  • 監視・分析(Sentryのエラーログを確認、SentryとStatsigを横断して分析)
  • データベース操作(PostgreSQLに直接クエリを実行)
  • デザイン連携(FigmaのデザインをSlackから取得してコードに反映)
  • ワークフロー自動化(Gmailで特定ユーザーへの招待メールを下書き作成)
  • 外部イベントへの反応(Telegramのメッセージ、CI結果、Webhookへの自動応答)
室谷室谷
この「外部イベントへの反応」ってのが地味にえぐいんですよ。MCP serverをチャンネルとして使うと、Claude Codeが自分で席を立っていても、外からメッセージが来たら反応する。

エージェントとして24時間働かせるイメージに近づきますね。

MCPの「スコープ」概念を理解する

MCPスコープの3層構造 — local(自分だけ)、project(チーム共有)、user(全プロジェクト共通)

テキトー教師テキトー教師
講座でClaude CodeのMCP設定を教えるとき、一番最初に「スコープ」の話をするんですよ。ここを理解せずにやると、「なんで動かないの?」ってなりがちなので。
室谷室谷
スコープは3種類ありますね。どこに設定を保存するか、という話です。
テキトー教師テキトー教師
公式ドキュメントの整理を見てみましょう。
スコープ保存場所用途
local(デフォルト)~/.claude.json(プロジェクトパスごと)自分専用・現在のプロジェクトのみ。機密情報を含む設定に向く
projectプロジェクトルートの .mcp.jsonチーム全員で共有(gitに含める)。全員が同じMCPツールを使える
user~/.claude.json(全プロジェクト共通)複数プロジェクトをまたいで個人が使うサーバーに向く
室谷室谷
優先順位は「local > project > user」の順。同じ名前のサーバーが複数スコープにあった場合は、localが勝ちます。
テキトー教師テキトー教師
チームで開発しているなら、projectスコープで .mcp.json を書いてgitにコミットすれば、全員が同じMCPを使えるようになります。「新メンバーが来たらMCPの設定を口頭で共有する」みたいな作業がなくなるので、ここはぜひ活用してほしいですね。
室谷室谷
セキュリティ的に言うと、APIキーとかトークンは localuser スコープに入れましょう。 .mcp.json(projectスコープ)にAPIキーを直書きしてgitにpushするのは絶対NG・・・。

環境変数で渡す設計にするのが正解です。
テキトー教師テキトー教師
.mcp.json では環境変数の展開もサポートされています。${VAR_NAME} という書き方でシェルの環境変数を参照できますし、${VAR:-デフォルト値} という形でフォールバックも指定できます。
{
  "mcpServers": {
    "api-server": {
      "type": "http",
      "url": "${API_BASE_URL:-https://api.example.com}/mcp",
      "headers": {
        "Authorization": "Bearer ${API_KEY}"
      }
    }
  }
}
室谷室谷
これで .mcp.json をgitに上げつつ、実際のAPIキーは各自の環境変数から読む、という設計が作れます。

MCPサーバーを追加する3つの方法

テキトー教師テキトー教師
設定方法は「どんな種類のMCPサーバーか」によって変わります。大きく分けると3種類ですね。
室谷室谷
リモートHTTP、リモートSSE、ローカルstdioの3つ。公式はHTTPを推奨しています。
テキトー教師テキトー教師
それぞれのコマンドをまとめます。
# Option 1: リモートHTTPサーバー(推奨)
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"
# Option 2: リモートSSEサーバー(非推奨・廃止予定)
# 可能であればHTTPに移行を推奨
claude mcp add --transport sse <名前> <URL>
# Option 3: ローカルstdioサーバー(ローカルプロセスとして動く)
claude mcp add [オプション] <名前> -- <コマンド> [引数...]

# 例: Airtableサーバーを追加
claude mcp add --transport stdio --env AIRTABLE_API_KEY=YOUR_KEY airtable \
  -- npx -y airtable-mcp-server
室谷室谷
stdioタイプはローカルのPCで動くプロセスです。直接システムにアクセスする必要があるサーバーや、カスタムスクリプトに使いますね。
テキトー教師テキトー教師
大事な注意点が1つあります。オプション(--transport--env--scope--header)はすべてサーバー名より前に指定しなければいけません。

サーバー名の後に --(ダブルダッシュ)を入れると、その後がMCPサーバーへ渡すコマンドとして解釈されます。
室谷室谷
これ間違えてハマる人が多いんですよ・・・。コマンドの順序は覚えておいた方がいいです。
テキトー教師テキトー教師
Windowsユーザーへの補足も重要です。Windows(WSLではないネイティブ環境)で npx を使うローカルMCPサーバーは、cmd /c のラッパーが必要です。
# Windows環境でのstdioサーバー追加例
claude mcp add --transport stdio my-server -- cmd /c npx -y @some/package
室谷室谷
これを忘れると「Connection closed」エラーになります。公式ドキュメントにも明記されているので要注意ですね。

設定を管理するコマンド一覧

室谷室谷
MCPサーバーを追加した後の管理コマンドも確認しておきましょう。
# 設定済みのサーバー一覧
claude mcp list

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

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

# Claude Code起動中にサーバーの状態確認
/mcp
テキトー教師テキトー教師
/mcp コマンドはClaude Codeのセッション中に使うコマンドです。接続しているMCPサーバーの一覧、接続状態、ツールの数と詳細が確認できます。

これ、意外と知られていない機能で、コミュニティのメンバーさんに教えると「知らなかった」ってなりますね(笑)
室谷室谷
で、こんなツイートを以前したんですが・・・
室谷室谷
MCPを使い続けるとコンテキストウィンドウが消費されていく問題があって、これが「MCPが使いにくい」と言われる理由の1つだったんですよ。
テキトー教師テキトー教師
「MCP使い続けるほど賢くなくなる」という問題ですね。ツールが増えれば増えるほど定義がコンテキストを食い尽くしていた。

MCP Tool Searchでコンテキスト問題を解決する

Tool Searchの処理フロー — ユーザーのプロンプトから意図を分析し、複数MCPサーバーから必要なツールだけを選択して実行する

室谷室谷
これを解決したのが「Tool Search」という機能です。公式ドキュメントでも解説されています。
テキトー教師テキトー教師
仕組みを整理すると、こうです。

従来の問題:

  • セッション開始時に全MCPツールの定義がコンテキストに読み込まれる
  • MCPサーバーを増やすほどコンテキストが圧迫される
  • 長い対話ほど使えるコンテキストが減っていく

Tool Search導入後:

  • セッション開始時はツール名だけ読み込む(定義は遅延ロード)
  • Claudeが必要なタイミングで検索して該当ツールだけコンテキストに入れる
  • MCPサーバーをいくら増やしても初期コンテキスト消費はほぼゼロ
室谷室谷
ユーザー視点では何も変わらないんですよ。MCPツールは今まで通り使える。

ただ裏側でコンテキスト効率が全然違う。
テキトー教師テキトー教師
Tool Searchはデフォルトで有効です。環境変数 ENABLE_TOOL_SEARCH で制御できます。
設定値動作
(未設定)全MCPツールを遅延ロード。ANTHROPIC_BASE_URL が非公式ホストの場合は無効になる
true非公式ホスト経由でも強制的に遅延ロード有効
auto閾値モード: コンテキストウィンドウの10%以内に収まる場合は先読み、超えたら遅延ロード
auto:<N>カスタム閾値(例: auto:5 で5%)
false全ツールを先読み(Tool Search無効)
室谷室谷
ただし対応モデルに制限があります。Sonnet 4以降、またはOpus 4以降が必要です。

Haikuモデルは非対応。ここはチェックしておかないとです。
テキトー教師テキトー教師
MCPサーバーを自作している人向けの話ですが、Tool Searchが有効な環境では「サーバーインストラクション」フィールドが特に重要になります。Claudeがツールをいつ検索すべきか判断する材料になるので、「このサーバーはどんな作業をするときに使うか」を明確に書いておくといいですね。
室谷室谷
あと、ツールの説明とサーバーインストラクションはそれぞれ2KB上限で切り捨てられます。重要な情報は冒頭に書く、というのが設計のコツです。

実践:人気のMCPサーバーを追加してみる

テキトー教師テキトー教師
公式ドキュメントに具体的な使用例が載っているので紹介します。現場でよく使われているパターンです。
室谷室谷
まずはSentryとの連携から。エラー監視が捗りますね・・・。

Sentry(エラー監視)との連携

# Sentryを追加
claude mcp add --transport http sentry https://mcp.sentry.dev/mcp

# OAuth認証
/mcp

認証後はこういった指示が自然言語で出せるようになります。

直近24時間の主要エラーを確認して
エラーID abc123 のスタックトレースを見せて
どのデプロイでこの新しいエラーが発生し始めたか調べて
テキトー教師テキトー教師
これ、コミュニティのメンバーさんに教えると目が輝くんですよ(笑)。今まで「Sentryを開く→エラーを確認→コードを開く→修正」という流れが、Claude Code上で完結するようになりますから。

GitHub(コードレビュー・Issue管理)との連携

# GitHubを追加
claude mcp add --transport http github https://api.githubcopilot.com/mcp/

# OAuth認証
/mcp
PR #456をレビューして改善点を提案して
今見つけたバグ用のissueを作成して
自分にアサインされているPR一覧を表示して
室谷室谷
これが日常になると、GitHubのUIを開く機会がマジで減りますね。実際MYUUUのエンジニアはほぼClaude Code経由でGitHubを操作してます。

PostgreSQLデータベースとの連携

# PostgreSQLを追加(読み取り専用ユーザーを推奨)
claude mcp add --transport stdio db -- npx @bytebase/dbhub@latest --transport stdio --dsn "postgresql://readonly:[email protected]:5432/analytics"
今月の総売上は?
ordersテーブルのスキーマを表示して
90日間購入がないユーザーを抽出して
テキトー教師テキトー教師
データベースとの連携は特に気をつけてほしいのが、読み取り専用ユーザーで接続することです。書き込み権限を持つユーザーで接続すると、Claudeが意図しないデータ更新をしてしまうリスクがあります。
室谷室谷
サードパーティのMCPサーバーは信頼できるものを選ぶ必要があります・・・。公式サイトには「サードパーティのMCPサーバーはご自身の責任で使用してください」と明示されています。

外部コンテンツをフェッチするMCPサーバーはプロンプトインジェクションのリスクもあるので注意が必要です。

リモートMCPサーバーの認証を設定する

室谷室谷
クラウド系のMCPサーバーはOAuth 2.0認証が必要なものが多いです。Claude CodeはOAuth 2.0をサポートしています。
テキトー教師テキトー教師
基本的な流れはシンプルですね。
  1. サーバーを追加: claude mcp add --transport http sentry https://mcp.sentry.dev/mcp
  2. セッション内で /mcp を実行
  3. ブラウザが開くのでログイン
  4. 認証トークンは自動で保存・更新される
室谷室谷
一度認証すれば次回以降は自動で更新されます。「Clear authentication」でアクセスを失効させることもできます。
テキトー教師テキトー教師
ちょっと複雑なパターンとして、特定のリダイレクトURIを事前登録する必要があるMCPサーバーもあります。その場合は --callback-port でポートを固定します。
# コールバックポートを固定して追加
claude mcp add --transport http \
  --callback-port 8080 \
  my-server https://mcp.example.com/mcp
室谷室谷
動的クライアント登録(Dynamic Client Registration)をサポートしていないサーバーもあります。その場合はあらかじめOAuthアプリを登録してクライアントIDを取得し、--client-id オプションで指定します。
claude mcp add --transport http \
  --client-id your-client-id --client-secret --callback-port 8080 \
  my-server https://mcp.example.com/mcp
テキトー教師テキトー教師
--client-secret フラグはインタラクティブに入力を促す形になっていて、シークレットが設定ファイルに直書きされないようになっています。セキュリティが考慮された設計ですね。

Claude CodeをMCPサーバーとして使う

室谷室谷
これが個人的にかなり面白い使い方だと思っているんですが・・・Claude Code自体をMCPサーバーとして動かして、Claude Desktopや他のクライアントから利用する、という逆転の発想があります。
テキトー教師テキトー教師
「Claude CodeをMCPサーバー化」ですね。これコミュニティのメンバーさんに教えると「え、逆にするんですか?」ってなります(笑)
室谷室谷
コマンドはシンプルです。
# Claude CodeをstdioのMCPサーバーとして起動
claude mcp serve

Claude Desktopで使う場合は claude_desktop_config.json にこう書きます。

{
  "mcpServers": {
    "claude-code": {
      "type": "stdio",
      "command": "claude",
      "args": ["mcp", "serve"],
      "env": {}
    }
  }
}
テキトー教師テキトー教師
注意点として、command フィールドは claude の実行ファイルを正しく参照していなければいけません。claude コマンドがシステムのPATHに通っていない場合はフルパスを指定します。
# フルパスを調べるコマンド
which claude

調べたパスを設定に使います。

{
  "mcpServers": {
    "claude-code": {
      "type": "stdio",
      "command": "/full/path/to/claude",
      "args": ["mcp", "serve"],
      "env": {}
    }
  }
}
室谷室谷
フルパスを指定しないと spawn claude ENOENT というエラーになります。ここでハマる人が実際に多いので要注意です。
テキトー教師テキトー教師
Claude CodeをMCPサーバー化すると、Claude Codeが持っているView、Edit、LS、Bash等のツールが外部クライアントに公開されます。Claude Desktopから「特定ディレクトリのファイルを読んで」「コードを編集して」といった操作ができるようになります。
室谷室谷
ただし注意点があって、Claude Code MCPサーバーはツールを外部クライアントに公開するだけです。個々のツール呼び出しの承認確認はクライアント側(Claude Desktop等)の責任になります。

Claude.aiのMCPサーバーをClaude Codeで使う

テキトー教師テキトー教師
Claude.aiアカウントでClaude Codeにログインしている場合、claude.aiで設定したMCPサーバーが自動的にClaude Codeでも使えるようになります。
室谷室谷
これ地味に便利ですよ。ブラウザとCLIで同じMCPの設定を二重管理しなくていい。
テキトー教師テキトー教師
Claude.aiでの設定は claude.ai/settings/connectors から行います。TeamプランとEnterpriseプランではadminのみが追加できます。

Claude Codeで /mcp を実行すると、claude.aiから来たサーバーはその旨が表示されます。

# claude.ai MCPサーバーを無効化する場合
ENABLE_CLAUDEAI_MCP_SERVERS=false claude
室谷室谷
逆に無効化もできるので、「Claude Codeでは使いたくない」という細かい制御も可能です。

Claude Desktopから設定をインポートする

室谷室谷
すでにClaude DesktopでMCPを設定している人は、設定をClaude Codeにインポートできます。
claude mcp add-from-claude-desktop
テキトー教師テキトー教師
対話形式でどのサーバーをインポートするか選べます。ただしこの機能はmacOSとWSL(Windows Subsystem for Linux)のみ対応です。
室谷室谷
インポートするとサーバーが同じ名前で追加されます。同名のサーバーがあった場合は数字のサフィックスが付きます(例: server_1)。
テキトー教師テキトー教師
講座で「Claude DesktopからClaude Codeに乗り換え」を支援するとき、この機能は必ず紹介しています。設定を1から書き直す必要がないので移行が楽ですね。

JSON設定でMCPサーバーを追加する

室谷室谷
コマンドラインではなくJSON設定でサーバーを追加することもできます。claude mcp add-json コマンドです。
# 基本構文
claude mcp add-json <名前> '<JSON設定>'

# HTTPサーバーの例
claude mcp add-json weather-api '{"type":"http","url":"https://api.weather.com/mcp","headers":{"Authorization":"Bearer token"}}'

# stdioサーバーの例
claude mcp add-json local-weather '{"type":"stdio","command":"/path/to/weather-cli","args":["--api-key","abc123"],"env":{"CACHE_DIR":"/tmp"}}'

# OAuth付きHTTPサーバー
claude mcp add-json my-server '{"type":"http","url":"https://mcp.example.com/mcp","oauth":{"clientId":"your-client-id","callbackPort":8080}}' --client-secret
テキトー教師テキトー教師
すでにJSON形式のMCP設定を持っている場合や、設定をスクリプトで自動化したい場合に便利ですね。
室谷室谷
MCPの設定情報を共有するとき、「このJSONを add-json で追加してください」と伝えれば確実です。コマンドのオプションを順番通りに覚えなくていいので、チームへの展開にも使いやすいですね。

MCP出力の上限と大量データの扱い

テキトー教師テキトー教師
MCPを使っていると、大きなデータを返すサーバーでコンテキストが一気に埋まることがあります。公式ドキュメントによると、MCPツールのアウトプットが10,000トークンを超えるとClaude Codeが警告を出します。
室谷室谷
デフォルトの上限は25,000トークンです。大量のデータを扱うMCPサーバーを使う場合は環境変数で上限を上げられます。
# MCP出力上限を50,000トークンに設定
export MAX_MCP_OUTPUT_TOKENS=50000
claude
テキトー教師テキトー教師
データベースへの大量クエリ、詳細なレポート生成、大きなログファイルの処理などをMCPで行う場合に使います。ただし上限を上げすぎるとコンテキストウィンドウが圧迫されるので、サーバー側でページネーションやフィルタリングを入れる設計の方が長期的にはいいですね。
室谷室谷
MCP_TIMEOUTという環境変数でサーバーの起動タイムアウトも設定できます。
# 起動タイムアウトを10秒に設定
MCP_TIMEOUT=10000 claude
テキトー教師テキトー教師
重いMCPサーバーが起動に時間がかかってタイムアウトする場合に使います。これも知っておくと詰まらないポイントですね。

「MCPはコンテキストを食いすぎる」問題の現在地

室谷室谷
Xで話題になっていたのが、YコンビネーターのCEO、Garry Tanの「MCPはコンテキストウィンドウを食いすぎる」という指摘でした。
テキトー教師テキトー教師
この問題に対する回答が、先ほど解説したTool Searchですね。Claudeが必要なタイミングだけツールを呼び出す仕組みで、コンテキスト消費を抑えています。
室谷室谷
MCPの問題点として「認証がひどい」「オン・オフが面倒」という声もありましたが、OAuth認証のサポートが充実してきて、認証周りは大分マシになりましたよね。
テキトー教師テキトー教師
認証の話で言うと、カスタム認証(Kerberosや社内SSOなど)には headersHelper という機能があります。コネクション時にコマンドを実行して認証ヘッダーを動的に生成できます。
{
  "mcpServers": {
    "internal-api": {
      "type": "http",
      "url": "https://mcp.internal.example.com",
      "headersHelper": "/opt/bin/get-mcp-auth-headers.sh"
    }
  }
}
室谷室谷
スクリプトがJSON形式で認証ヘッダーを標準出力に返す設計です。10秒のタイムアウトあり。

複数のMCPサーバーに1つのヘルパースクリプトを使い回せるよう、CLAUDE_CODE_MCP_SERVER_NAMECLAUDE_CODE_MCP_SERVER_URL という環境変数が渡されます。
テキトー教師テキトー教師
社内システムをMCPでつなぎたい場合は、このheadersHelperを使うのがスマートですね。

動的なツール更新とチャンネル機能

室谷室谷
あまり話題になっていないんですが、MCPサーバーがリアルタイムでツールを追加・削除できる「動的ツール更新」という機能があります。
テキトー教師テキトー教師
list_changed 通知というやつですね。MCPサーバーがこの通知を送ると、Claude Codeが自動でツールの一覧を再取得します。

セッションを再起動しなくてもサーバー側の変更が反映される、ということです。
室谷室谷
そしてチャンネル機能。MCPサーバーが外部イベントをClaude Codeのセッションに「プッシュ」できる機能です。

claude/channel ケーパビリティを宣言して、起動時に --channels フラグを付けると有効になります。
テキトー教師テキトー教師
具体的には、CIの結果が出たら通知、監視アラートが来たら対応、Discordのチャットに反応する、といったユースケースです。
室谷室谷
AIが能動的に外部イベントに反応するアーキテクチャが作れる。これ、普通のCLIツールではできない芸当ですよね。

チームやエンタープライズでのMCP管理

テキトー教師テキトー教師
企業での利用を考えると、「どのMCPサーバーを使ってもいいか」をIT部門が管理したいというニーズが出てきますよね。
室谷室谷
そのためのManaged MCP Configurationという仕組みがあります。managed-mcp.json というファイルでIT管理者がMCPサーバーを制御できます。
テキトー教師テキトー教師
2つのモードがあります。

Option 1: 排他的制御(managed-mcp.json)

  • IT管理者が設定したMCPサーバーのみ使用可能
  • ユーザーが自分でMCPを追加することを禁止できる

Option 2: ポリシーベース制御(allowlist/denylist)

  • allowedMcpServers: 使用を許可するサーバーのリスト
  • deniedMcpServers: 使用を禁止するサーバーのリスト
  • ユーザーによる追加は可能だが、許可リストのものだけ動く
室谷室谷
エンタープライズ利用ではallowlist/denylistが使いやすいですね。「社内データベースとGitHubは許可、それ以外は禁止」みたいな設定が細かくできる。
テキトー教師テキトー教師
コマンド名で制限するパターンと、HTTPのURL/ドメインで制限するパターンがあります。例えば *://api.github.com/* というワイルドカードで「GitHubの全APIエンドポイントは許可」みたいな書き方ができます。
室谷室谷
セキュリティとフレキシビリティを両立する設計ですね。大企業がClaude Codeを全社展開するときはここの設定が重要になってくると思います。

人気MCPサーバー詳解:開発現場でよく使われる連携パターン

室谷室谷
「とりあえず何から試せばいいか」という質問は本当に多いんですよね。MCPサーバーの数が多すぎて選べないというのもわかります。
テキトー教師テキトー教師
講座で私がよく使うのは「開発フローの各ステップにどのMCPが刺さるか」という整理です。設計→実装→テスト→デプロイ、それぞれのフェーズに有効なMCPがあります。

ブラウザ・Webスクレイピング系

室谷室谷
まずウェブ系から。最近よく聞くのがChrome DevTools MCPですね。
テキトー教師テキトー教師
Chrome Dev MCPを使うと、Claude Codeがブラウザを直接操作できます。「このページのスクリーンショットを撮って」「このフォームに入力して送信して」みたいなことを自然言語で指示できる。
室谷室谷
Playwright MCPも同じようなことができますね。どちらを選ぶかは用途次第ですが、Playwrightは自動化テストのエコシステムが厚いので、テストコードを書きながらブラウザ操作をするなら使いやすいです。
テキトー教師テキトー教師
ウェブリサーチに特化するならBrave Search MCPという選択肢もあります。Claudeのトレーニングデータには情報の鮮度に限界がありますが、Brave Search MCPをつなぐとリアルタイムの検索結果を取得できます。
# Brave Search MCPを追加(APIキーが必要)
claude mcp add --transport stdio brave-search \
  --env BRAVE_API_KEY=your-api-key \
  -- npx -y @modelcontextprotocol/server-brave-search
室谷室谷
APIキーはBraveのデベロッパーサイトで無料で取得できます。

Figma・デザイン系

室谷室谷
フロントエンド開発でFigmaとの連携は特にインパクトが大きいですね。FigmaのDev Mode MCPを使うと、Figmaで選択しているコンポーネントの構造(階層、オートレイアウトのルール、デザイントークン、バリアント)がそのままClaudeに渡ります。
テキトー教師テキトー教師
「このデザインをReactコンポーネントに実装して」という指示で、スペーシングの値やカラートークンまで正確なコードが生成されるようになります。スクリーンショットを渡して「雰囲気でコードを生成」していた頃とは全然違いますね。
室谷室谷
デザイナーとエンジニアの間で「数値違う」「このコンポーネントのボーダー半径は?」みたいなやり取りが減ります。Figmaを直接読めるので。

AWS・クラウドインフラ系

テキトー教師テキトー教師
インフラ系だとAWSのMCPも注目されています。AWS Documentation MCPというのがあって、AWSのドキュメントを自然言語で検索・取得できます。
# AWS Documentation MCPを追加
claude mcp add aws-documentation-mcp-server uvx "awslabs.aws-documentation-mcp-server@latest"
室谷室谷
AWSのドキュメントって膨大でどこに何があるかわからないことがありますよね・・・。「S3バケットのライフサイクルポリシーの設定方法」みたいな質問をClaude Codeに投げると、AWSのドキュメントを直接引いて回答してくれる。
テキトー教師テキトー教師
Claudeの学習データの中のAWSの情報より、公式ドキュメントを直接参照する方が最新で正確ですしね。

Context7:ドキュメント最新情報を取得する

室谷室谷
Context7 MCPというのも最近よく話題に出てきますね。これはライブラリやフレームワークの最新ドキュメントをリアルタイムで取得するMCPです。
テキトー教師テキトー教師
Claude Codeが「このライブラリの使い方がわからない」となったとき、Context7があると最新のドキュメントを直接参照してくれます。学習データのカットオフより後にリリースされた機能でも対応できる。
# Context7 MCPを追加
claude mcp add --transport http context7 https://mcp.context7.com/mcp
室谷室谷
これ、実際に使うと体感が変わりますよ。「古いAPIの使い方を提案してきた」みたいな問題が減ります。

Sequential Thinking MCP:複雑な問題に段階的に取り組む

テキトー教師テキトー教師
Sequential Thinking MCPというのもよく聞きます。これはAIが複雑な問題を段階的に分解して考えるための補助ツールです。
室谷室谷
Claudeが「まずこう考えて、次にこう検証して、それからコードを書く」という思考プロセスを明示的にやってくれるようになります。複雑なアーキテクチャ設計や難しいバグのデバッグに使うと効果が出やすいです。
テキトー教師テキトー教師
コミュニティのメンバーさんから「MCPを入れたら答えが変わった」という感想をもらうことがあって、このような「思考補助系」のMCPが効いていることが多いですね。

ローカルMCPの設定ファイルを直接書く

テキトー教師テキトー教師
claude mcp add コマンドではなく、設定ファイルを直接書くほうが管理しやすいという人もいます。特にチームで .mcp.json を共有する場合は、手動でファイルを書く方がわかりやすいです。
室谷室谷
プロジェクトのルートに .mcp.json を置くのがproject scopeの設定方法ですね。
{
  "mcpServers": {
    "github": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GITHUB_PERSONAL_ACCESS_TOKEN",
        "ghcr.io/github/github-mcp-server"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_PERSONAL_ACCESS_TOKEN}"
      }
    },
    "sentry": {
      "type": "http",
      "url": "https://mcp.sentry.dev/mcp"
    }
  }
}
テキトー教師テキトー教師
GitHubのMCPサーバーをDockerで動かしている例ですね。${GITHUB_PERSONAL_ACCESS_TOKEN} は環境変数から展開されるので、トークンが設定ファイルに直書きされません。
室谷室谷
複数のGitHubアカウントを使い分けるケースもあります。仕事用と個人用で別々のトークンを使いたい場合は、こんな設定になります。
{
  "mcpServers": {
    "github_work": {
      "command": "docker",
      "args": ["-i", "--rm", "-e", "GITHUB_PERSONAL_ACCESS_TOKEN", "ghcr.io/github/github-mcp-server"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_WORK_TOKEN}"
      }
    },
    "github_personal": {
      "command": "docker",
      "args": ["-i", "--rm", "-e", "GITHUB_PERSONAL_ACCESS_TOKEN", "ghcr.io/github/github-mcp-server"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_PERSONAL_TOKEN}"
      }
    }
  }
}
テキトー教師テキトー教師
サーバー名を github_workgithub_personal に分けることで、Claude Codeにも「仕事のGitHubリポジトリを操作して」「個人のリポジトリを操作して」と区別して指示できるようになります。
室谷室谷
こういう設定を .mcp.json に書いておいて、チームでgit管理する。APIキーは各自の環境変数に入れてもらう。

これがベストプラクティスだと思います。

Remote MCPを自作する

室谷室谷
ちょっと上級者向けの話をすると・・・Remote MCPを自作することもできますよね。
テキトー教師テキトー教師
DifyのワークフローをリモートMCP化する方法も紹介されていましたね。ノーコードでMCPサーバーを作るイメージです。
室谷室谷
使い方のイメージとしては、自社のデータや処理ロジックをMCPサーバーとして公開して、Claude Codeからアクセスする形です。社内のナレッジベース、独自のデータ分析ツール、社内APIなどをMCP化すると、Claude Codeがそれらを活用した作業ができるようになります。
テキトー教師テキトー教師
リモートMCPを作る選択肢は主に2つです。

Dify経由(ノーコード):

  • DifyのワークフローをそのままリモートMCP化
  • コードを書かずに既存のDifyフローを公開できる
  • 素早くPoCを作るときに有効

Cloudflare Workers(コードあり):

  • より柔軟で複雑な処理が可能
  • HTTP/SSEのリモートMCPサーバーを作れる
  • 本番環境での運用に向く
室谷室谷
「ちょっと試してみたい」ならDifyから始めて、「本格的に使いたい」になったらCloudflare Workersに移行するのがいい流れだと思います。

MCPサーバーが動かないときのトラブルシューティング

テキトー教師テキトー教師
MCPを設定したけど動かない、というのは定番のハマりポイントです。よくある原因と対処法をまとめます。
室谷室谷
/mcp コマンドで確認するのが最初のステップですね。

よくある問題と対処法

問題1: サーバーが接続されない(Connection closed)

# 設定確認
claude mcp list
claude mcp get <サーバー名>

原因として多いのは:

  • Windowsでnpx使用時に cmd /c が抜けている
  • claude コマンドのフルパスが通っていない(Claude CodeをMCPサーバー化する場合)
  • 環境変数が設定されていない
テキトー教師テキトー教師
Windowsユーザーで cmd /c を忘れているケースは本当に多いですね(笑)。Connection closed というエラーが出たらまずここを疑ってください。

問題2: MCPが認識されているが使えない

/mcp コマンドでサーバーの状態が Connected になっているか確認します。認証が必要なサーバーは Authenticate の選択肢が出ます。

室谷室谷
認証が必要なのにスキップしていた、というパターンも意外と多い・・・。OAuth認証が必要なサーバーは /mcp からブラウザで認証する手順が必要です。

問題3: 出力が大きすぎて警告が出る

# 出力上限を増やす
export MAX_MCP_OUTPUT_TOKENS=50000
claude

10,000トークンを超えるとClaude Codeが警告を出します。データベースの大量クエリや詳細なレポートを扱う場合は上限を調整してください。

問題4: .mcp.json の環境変数が展開されない

環境変数が未設定の場合、デフォルト値のない ${VAR} の展開に失敗してClaude Codeが設定ファイルのパースに失敗します。.zshrc.bashrc でシェルに環境変数を設定してから起動するのが確実です。

問題5: project scopeのMCPサーバーが承認を求める

project scope(.mcp.json)のサーバーは、セキュリティの観点からClaude Codeが初回起動時に承認を求めます。承認の選択をリセットしたい場合は:

claude mcp reset-project-choices
テキトー教師テキトー教師
新メンバーが誤って「Deny」してしまった場合はこのコマンドでリセットして再承認してもらえばOKです。

まとめ

テキトー教師テキトー教師
Claude CodeのMCPについて一通り話してきました。改めて要点を整理しましょう。
室谷室谷
MCPを使うことで、Claude Codeが単なるコーディングアシスタントから、外部ツールを横断して動くエージェントになります。GitHub、データベース、監視ツール、デザインツールを自然言語で操作できる。
テキトー教師テキトー教師
設定の重要ポイントはこの3つですね。
  • スコープを正しく選ぶ: チーム共有はproject(.mcp.json)、個人設定はlocal/user、APIキーはgitに上げない
  • Transport方式を選ぶ: クラウドサービスはHTTP(推奨)、ローカルツールはstdio
  • Tool Searchを活かす: デフォルトで有効、コンテキスト消費を抑えつつ多くのMCPサーバーを使える
室谷室谷
claude mcp serve でClaude Code自体をMCPサーバー化できること、claude.aiで設定したMCPがそのままClaude Codeでも使えること、この2点は見落としがちなので覚えておきましょう。
テキトー教師テキトー教師
まず1つMCPを試してみるなら、GitHubかSentryがおすすめです。すぐに「これで良かった」と実感できる連携なので。
室谷室谷
MCPのエコシステムは今も広がっています。気になったMCPサーバーを試して、自分の開発フローに合うものを見つけていく過程が楽しいんですよね。

出典

#claude-code#mcp#model-context-protocol#ai-tools
.AI TIMES一覧に戻る