ClaudeでMCPを使う — MCPとは何か・claude.ai/Desktop/Claude Codeへの接続手順
MCPはClaudeを外部のアプリやデータにつなぐオープン規格です。claude.aiとDesktopはコネクタ、Claude Codeはclaude mcp addで接続でき、Freeでもカスタムコネクタを1つ使えます。
ClaudeでMCPを使うと、NotionやGitHub、Slack、社内データベースの中身を、Claudeが直接読んで操作できるようになります。MCP(Model Context Protocol)は、AIアプリを外部のツールやデータにつなぐためのオープン規格です。Claudeでは、claude.aiとClaude Desktopの「コネクタ」、Claude Codeのclaude mcp add、APIのmcp_serversという3つの入口から使えます。
規格そのものは無料のオープンソースで、claude.aiのFreeプランでもカスタムコネクタを1つ追加できます。つなぐ前に知っておきたいのは、入口によって接続がAnthropicのクラウドから出るか、手元のPCから出るかが違うことです。
MCPとは何か — Claudeと外部ツールをつなぐ共通規格
MCPとは、AIアプリケーションと外部システムのつなぎ方を共通化したプロトコルです。Anthropicが2024年11月に公開し、2025年12月からはLinux Foundation傘下の中立組織が管理しています。
接続先の機能を公開するプログラムを「MCPサーバー」と呼びます。ClaudeやChatGPT、VS Codeのような対応アプリは、同じMCPサーバーにそのままつながります。claude.aiでは、MCPサーバーへの接続を「コネクタ」という名前で扱っています。
ClaudeでMCPを使うと何ができるか
サービスごとの連携コードを書かなくても、自然文の依頼がそのまま外部システムへの操作になります。人が画面間でコピー&ペーストしていた作業が、サーバーを1つ接続するだけで会話の射程に入ります。
ClaudeとMCPでできる依頼の例
課題管理とリポジトリを横断
「JIRAの
ENG-4521に書かれた機能を実装して、GitHubにPRを作成して」— 課題管理とリポジトリを1つの会話で行き来します。データベースへの問い合わせ
「PostgreSQLの
ordersテーブルから、この機能を使ったユーザー10人のメールアドレスを取得して」— SQLを書かずに照会します。監視データを調査に使う
「Sentryの直近24時間のエラーを調べて、どのデプロイが原因か推定して」— 監視ツールの記録をそのまま調査の材料にします。
外部からの通知に反応する
Claude Codeでは、MCPサーバーがチャネルとして働き、TelegramやDiscord、webhookのイベントをセッションへ送り込めます。
どの依頼も、Claudeが複数の外部システムを同じ流儀で読み書きしている点で共通します。会計や経理のような業務SaaSでも同じで、マネーフォワード クラウド会計の仕訳チェックを任せる例はClaudeでマネーフォワード クラウド会計の仕訳をチェックするで手順を追えます。
よく使われる接続先には、サービスごとの手順をまとめた記事があります。
ClaudeからMCPでよくつなぐサービス
Notion
ページとデータベースを検索・作成できます。Notion MCPサーバーの使い方はコネクタとの違いから入ると迷いません。
GitHub
IssueとPRの読み書き。リポジトリ作業の自動化はGitHub MCPサーバーの使い方で扱っています。
Slack
チャンネルの検索とメッセージ投稿ができます。Slack MCPサーバーをClaude Codeにつなぐ手順では、スコープの選び方まで追えます。
Google Drive
ファイルの検索と読み取り。接続URLの扱いはGoogle Drive MCPサーバーの使い方にまとめています。
Sentry
エラーの調査と原因の推定に使います。OAuth接続の流れならSentry MCPをClaude Codeに追加する手順が近道です。
Figma
デザインからコードを生成します。Claude Codeでの使い方はFigma MCPサーバーの使い方で確かめられます。
用途別の早見はおすすめMCPサーバー10選にもまとめています。
ClaudeでMCPを使う3つの入口 — コネクタ・claude mcp add・API
入口は3つで、どれを選ぶかは「誰が・どこで使うか」で決まります。同じMCPサーバーでも、入口によって接続のしかたと届く範囲が変わります。
ClaudeでMCPを使う入口の違い
claude.ai / Claude Desktop
チャットで使う人向けです。ディレクトリからサービスを選んでサインインするだけで、Web・デスクトップ・モバイルの会話で使えます。Desktopはこれに加えて、手元で動くローカルのMCPサーバーを拡張機能として入れられます。
Claude Code
開発者向けです。ターミナルで1行のコマンドを打つと、その端末のClaude Codeにサーバーが登録されます。.mcp.json をリポジトリに置けばチームで同じ構成を共有できます。
Claude API
自社アプリに組み込む人向けです。Messages APIのリクエストにサーバーのURLを書くと、MCPクライアントを実装せずにツールを呼べます。
選んだ後で効いてくるのは、接続がどこから出ていくかです。ここを取り違えると、社内のサーバーにつながらない理由が分からなくなります。
| 入口 | 接続の起点 | 対応する接続方式 | 認証 |
|---|---|---|---|
| claude.aiのコネクタ(Desktop・Coworkも同じ) | 接続の起点Anthropicのクラウド | 対応する接続方式リモート(Streamable HTTP) | 認証OAuth・固定のリクエストヘッダー |
| Claude Desktopの拡張機能 | 接続の起点自分のPC | 対応する接続方式ローカル(stdio) | 認証拡張機能の設定欄 |
| Claude Code | 接続の起点自分のPC | 対応する接続方式stdio・HTTP・SSE(非推奨)・WebSocket | 認証OAuth・ヘッダー・環境変数 |
| Claude API | 接続の起点インターネットに公開されたHTTPSのURLへ | 対応する接続方式HTTP(Streamable HTTP / SSE)のみ | 認証取得済みのOAuthトークンを自分で渡す |
claude.ai・Claude DesktopでMCPコネクタを追加する手順
ディレクトリに載っているサービスは、サインインまで4手順で終わります。claude.aiでもDesktopでも画面は同じ「カスタマイズ」です。
ディレクトリのコネクタをClaudeにつなぐ
- 1
カスタマイズ > コネクタを開く
Desktopではサイドバーの「カスタマイズ」から「コネクタ」を選びます。
- 2
サービスを探して開く
「Discover」で一覧を出し、サービス名で検索します。各サービスにはVerifiedかCommunityのラベルが付いています。
- 3
Connect to Claudeを押してサインイン
サービスのサインイン画面で、Claudeに許すアクセス範囲を確かめて承認します。
- 4
会話でオンにする
入力欄の「+」から「コネクタ」を開き、そのサービスのトグルをオンにします。初めてツールを使うときは、1回だけ許可するか、常に許可するかを選びます。
ディレクトリに無いサービスは、URLを指定するカスタムコネクタとして足します。Free・Pro・Max・Team・Enterpriseのどのプランでも使えますが、Freeは1つまでです。ProとMaxでは次の画面から追加します。
カスタムコネクタの追加(Pro・Maxの模式図)
カスタマイズ > コネクタ
コネクタの名前
リモートMCPサーバーURL
番号3は一覧に表示される名前で、番号4にサーバーのURLを入れます。続く画面で、サインインのタイミング(今すぐ / 必要に応じて / サインインなし)と、OAuthクライアントの扱いを選びます。APIキーで認証するサーバーは、リクエストヘッダーの欄に固定の認証情報を入れます。追加後に設定を変えるには、一度削除して入れ直します。
TeamとEnterpriseでは、組織設定の「コネクタ」からオーナーが追加し、メンバーが各自のアカウントで認証します。固定のAPIキーを使うコネクタは、使う全員がそのキーの権限で外部サービスに届きます。Coworkでの作り方はCoworkカスタムコネクタ自作ガイドで手順を追えます。
落とし穴
社内ネットワークにあるMCPサーバーをカスタムコネクタにすると、つながらない
カスタムコネクタは、自分のPCではなくAnthropicのクラウドからサーバーへ接続します。手元のブラウザから開けるサーバーでも、VPNの内側やファイアウォールの後ろにあれば届きません。DesktopやCoworkで使う場合も同じです。ファイアウォールでAnthropicのIPレンジを許可するか、Enterpriseなら後述のMCP tunnelsを使います。手元でしか動かないサーバーは、Desktopの拡張機能かClaude Codeから接続します。
Desktopの拡張機能は、.mcpb(MCP Bundle)形式のパッケージです。「設定 > デスクトップアプリ」で拡張機能の「管理」を開き、「拡張機能を参照」から入れます。Node.js・Python・バイナリのサーバーに対応し、Node.jsは同梱されているので別途のインストールは要りません。プラットフォームごとの対応範囲はClaudeアプリの入手方法と使い方で確かめられます。中身と導入の詳細はmcpbファイルとはへ。ディレクトリ外のサーバーをclaude_desktop_config.jsonに手書きするなら、Claude Desktop MCP設定ガイドが近道です。
コネクタを10個以上オンにしているなら、ツールアクセスを「オンデマンド」に切り替えると会話のスペースが空きます。「+」の「コネクタ」から「ツールアクセス」で選べます。モード別の挙動はClaudeのツールアクセスを管理するで比べられます。コネクタ全般の一覧とディレクトリの使い方はClaudeのコネクタとはで扱っています。
Claude CodeでMCPサーバーを追加する最短手順
Claude Codeへの追加はターミナルで行います。認証の要らないClaude Codeのドキュメント検索サーバーで流れを確かめると、他のサーバーでも同じ手順で進められます。
Claude CodeにMCPサーバーをつなぐ
- 1
ターミナルでサーバーを登録する
claude mcp add --transport http <名前> <URL>を、Claude Codeのセッションの外で実行します。 - 2
接続状態を確かめる
claude mcp listで、名前の横が✔ Connectedになっているかを見ます。 - 3
サインインが要るサーバーは認証する
! Needs authenticationと出たら、セッション内で/mcpを開き、ブラウザでログインします。 - 4
セッションで使う
claudeを起動して依頼します。ツール呼び出しにはサーバー名のラベルが付きます。
1と2を実際に打つと、次のようになります。
claude mcp add --transport http claude-code-docs https://code.claude.com/docs/mcp
claude mcp listSentryのようにOAuth対応のサーバーは、追加したあと/mcpかシェルのclaude mcp login sentryでサインインします。SSH先のようにブラウザが無い環境では、--no-browserを付けるとURLが表示されます。シェルからの認証はclaude mcp login/logoutで扱っています。
ローカルで動かすstdioサーバーは、--の後ろに起動コマンドを渡します。--が無いと、サーバーに渡すつもりのフラグをClaude Codeが自分のオプションとして読んでしまいます。
claude mcp add playwright -- npx -y @playwright/mcp@latest
claude mcp add --env AIRTABLE_API_KEY=YOUR_KEY --transport stdio airtable \
-- npx -y airtable-mcp-serverSSEしか公開していないサービスも、v2.1.265以降は--transport httpで追加すればSSEへ自動で切り替わります。Claude Desktopに設定済みのサーバーは、macOSとWSLならclaude mcp add-from-claude-desktopで取り込めます。名前にスペースなどを含むサーバーは取り込まれません。JSONのまま登録したい場合はclaude mcp add-jsonが使えます。
保存先は3つのスコープから選びます。既定はlocalで、追加したプロジェクトでだけ有効です。
| スコープ | 使える範囲 | 保存先 | チームとの共有 |
|---|---|---|---|
local(既定) | 使える範囲自分だけ・このプロジェクトだけ | 保存先~/.claude.json のプロジェクトの項目 | チームとの共有しない |
project | 使える範囲このプロジェクトを開く全員 | 保存先プロジェクト直下の .mcp.json | チームとの共有Gitで共有 |
user | 使える範囲自分だけ・全プロジェクト | 保存先~/.claude.json の mcpServers | チームとの共有しない |
projectスコープのサーバーは、初回の起動時に承認を求められます。同じ名前が複数のスコープにあると、local・project・user・プラグイン・claude.aiのコネクタの順で1つだけが使われます。.mcp.jsonの書式や出力上限の調整まで含めた全体ならClaude Code MCP設定ガイドが近道です。
落とし穴
手書きの.mcp.jsonにurlだけ書くと、そのサーバーは読み込まれない
type の無い項目をClaude Codeはstdioサーバーとして扱います。url だけを書いた項目はスキップされ、MCP server "<name>" has a "url" but no "type"; add "type": "http" (or "sse" / "ws") to this entry というメッセージが出ます。リモートのサーバーには "type": "http"(SSEなら sse、WebSocketなら ws)を書き添えます。
ClaudeのMCPは無料で使えるか — プラン別の料金と上限
MCPの仕様とSDKは無料です。かかるのは、どの入口からClaudeを使うかの料金と、つなぐ先のサービスの利用料です。
ClaudeでMCPを使うときのプラン料金
Free
$0
コネクタは使える。カスタムコネクタは1つまで。Claude Codeは対象外
Pro
$20/月
年払いなら月$17。Claude Codeを含む
Max
$100〜/月
Proの5倍か20倍の使用量
Team
$20〜$25/席・月
スタンダードシート(年払い$20・月払い$25)。プレミアムシートは$100〜$125。オーナーがコネクタを追加
Claude Codeをサブスクリプションで使うならPro以上かTeam・Enterpriseの契約が、APIキーで使うならトークンの従量課金が前提です。APIの料金表には、MCPコネクタ専用の項目がありません。ツールの定義・呼び出し・結果がすべて入力と出力のトークンとして数えられ、ほかのリクエストと同じトークン単価で課金されます。プランの全体はClaudeの料金プラン、Freeで使える範囲はClaudeの無料プランで比べられます。
claude.aiのコネクタとClaude CodeのMCP設定はどう連動するか
同じアカウントでも、claude.aiとClaude Codeの設定は片方向にしか流れません。つまずきやすい3点を会話の形で並べます。
claude.aiで追加したのに、Claude Codeに出てこない
- 後輩
claude.aiでNotionのコネクタを追加したのに、Claude Codeの
/mcpに出てきません。 - 先輩
Claude Codeがclaude.aiのコネクタを取りに行くのは、claude.aiのサブスクリプションでログインしているときだけなんだ。
ANTHROPIC_API_KEYやapiKeyHelperが効いていたり、Amazon Bedrockで動かしていたりすると届かない。 - 後輩
どれで動いているかは、どう確かめればいいですか?
- 先輩
/statusで今の認証方法が出るよ。APIキーの環境変数を外して/loginでclaude.aiのアカウントを選び直せば、/mcpにclaude.ai由来の印付きで並ぶ。 - 後輩
逆に、Claude Codeで追加したサーバーはclaude.aiでも使えますか?
- 先輩
使えない。
claude mcp addは端末の設定ファイルに書くだけだからね。同じURLが両方にあると、Claude Codeで追加したほうが使われて、コネクタは/mcpでhiddenと表示される。それからGmail・Google Calendar・Microsoft 365は、Claude Codeから直接サインインできない。claude.ai側でつなげば自動で見えるよ。
組織がツールごとに設定した「承認が必要」は、Claude Codeが呼び出しのたびに確認を出します。この確認はautoやbypassPermissionsの権限モードでも省かれません。例外はデスクトップアプリのローカルセッションとSSHセッションで、この設定がClaude Codeに届かず確認は出ません。claude.aiのコネクタをClaude Codeだけで止めたいときは、設定に"disableClaudeAiConnectors": trueを書きます。
MCPの仕組み — Claudeの中で動くホスト・クライアント・サーバー
Claude Codeに2つのMCPサーバーを追加すると、Claude Codeがホストになり、サーバーごとに専用のクライアントを1つずつ作ります。登場人物はこの3者で、役割ははっきり分かれています。
| 参加者 | 役割 | 具体例 |
|---|---|---|
| MCPホスト | 役割AIアプリ本体。複数のMCPクライアントを束ねる | 具体例Claude Code、Claude Desktop、VS Code、ChatGPT |
| MCPクライアント | 役割サーバー1つにつき1つ作られ、専用の接続を保つ部品 | 具体例ホスト内部のコネクタ |
| MCPサーバー | 役割外部システムの機能やデータをMCPの形で公開するプログラム | 具体例GitHubサーバー、Sentryサーバー、自作の社内APIサーバー |
GitHubとSentryにつなげば、Claude Codeの中では2つのクライアントがそれぞれの接続を持ちます。サーバー側は1度作れば、Claude CodeでもVS CodeでもChatGPTでも使い回せます。
ホスト・クライアント・サーバーの3層
MCPホスト
Claude Code・Claude Desktop・VS Codeなど
GitHubサーバー
Sentryサーバー
自作の社内APIサーバー
stdio、リモートのSaaS連携は Streamable HTTP が基本です。メッセージはJSON-RPC 2.0で運ばれます。データ層とトランスポート層
プロトコルの中身は2つの層に分かれます。内側のデータ層はJSON-RPC 2.0を土台にした交換形式で、機能の発見・実行・通知の書き方を決めています。外側のトランスポート層は、そのメッセージをどう運ぶかの通信路です。ローカルで完結する処理はstdio(標準入出力)、リモートのSaaS連携はStreamable HTTPが基本です。選び方は後の「接続方式と認証」の節で扱います。
サーバーの3要素 — Tools・Resources・Prompts
MCPサーバーがClaudeに渡せる機能は3種類です。Claude Codeではそれぞれ呼び出し方が違います。
| 種別 | 中身 | Claude Codeでの使い方 |
|---|---|---|
| Tools | 中身Claudeが呼べる関数(API呼び出し、DB照会など) | Claude Codeでの使い方通常のツール呼び出し。権限設定に従って承認を求める |
| Resources | 中身文脈として読めるデータ(ファイル、レコードなど) | Claude Codeでの使い方@server:protocol://resource/path の@メンション |
| Prompts | 中身再利用できる定型の指示 | Claude Codeでの使い方/mcp__server__prompt のコマンド |
サーバー側のツール一覧が変わると、購読しているクライアントに変更通知が届き、再接続なしで反映されます。再取得の失敗時の挙動や再接続の上限はMCPのツール更新と接続断からの自動再接続の仕組みで扱っています。サーバーが利用者に確認や追加入力を求める仕組み(Elicitation)もあります。
2026-07-28版で仕様はどう変わったか
MCPの仕様は日付で版を管理しており、最新は2026-07-28版です。この改訂で、接続の作法がステートレスなWeb APIに寄りました。接続の最初に交わしていたinitialize/initializedのハンドシェイクが無くなり、各リクエストが自分のプロトコルバージョンと対応機能を持ち歩きます。対応状況を先に知りたいクライアントは、いつでもserver/discoverを呼べます。
Streamable HTTPからは、プロトコルレベルのセッションとMcp-Session-Idヘッダーが削除されました。tools/listのような一覧は接続ごとに変わらなくなり、呼び出しをまたいで状態を持ちたいサーバーは、ツールの引数として渡すハンドルを使います。実験機能だったTasksはコア仕様から外れ、公式の拡張(io.modelcontextprotocol/tasks)に移りました。
サーバーからクライアントへの逆向きのやり取りは、Multi Round-Trip Requests(MRTR)に一本化されました。サーバーはresultType: "input_required"の結果で必要な情報をinputRequestsとして伝えます。クライアントはinputResponsesを添えて元のリクエストを送り直します。
同じ改訂で、Roots・Sampling・Loggingの3機能と、OAuth 2.0のDynamic Client Registration(DCR、クライアントの動的登録)が非推奨になりました。移行先は次のとおりです。
- Roots → ツールの引数やリソースURIでディレクトリを渡す
- Sampling → サーバーからモデルのAPIを直接呼ぶ
- Logging → 標準エラー出力かOpenTelemetryへ出す
- DCR → Client ID Metadata Documents(DCRは対応していない認可サーバーとの互換のために残る)
既存のサーバーがすぐ動かなくなるわけではありません。仕様は12か月以上の廃止猶予を設けており、2025-11-25版以前のハンドシェイク方式とも下位互換で通信できます。Claude Codeは、新しい版に対応したクライアント(v2ランタイム)を持っています。機能フラグを取得するセッションではv2.1.232以降、それ以外のセッションでもv2.1.274以降で、これが既定です。v2ランタイムは、新しい版に対応したサーバーにだけ新しい版で接続します。版ごとの差分はMCP仕様のバージョン履歴で追えます。
なぜMCPが必要なのか — M×N問題とFunction Callingとの違い
MCPが無ければ、ClaudeからNotionとGitHubを使うにも、ChatGPTから同じ2つを使うにも、それぞれ別の連携を作る必要がありました。M個のAIアプリとN個のサービスをつなぐと、個別の統合はM×N通りになります。
MCPはこれをM+Nに変えます。AIアプリはMCPクライアントを1度実装すれば任意のサーバーにつながり、サービス側はサーバーを1度書けば任意の対応アプリから使われます。エディタ横断で補完や診断を共通化したLanguage Server Protocol(LSP)と同じ発想で、MCPの仕様にもLSPから着想を得たと書かれています。
M×N の個別統合が、M+N になる
MCP以前: 3×3 = 9通りの個別統合
MCP: 3+3 = 6本で済む
従来の統合方法と並べると、違いは再利用の範囲と機能の発見のしかたに出ます。
| 観点 | 個別のAPI統合 | 各社の関数呼び出し機能 | MCP |
|---|---|---|---|
| 接続の単位 | 個別のAPI統合サービスごとに個別実装 | 各社の関数呼び出し機能モデルベンダーごとに定義 | MCP共通プロトコルで標準化 |
| 再利用性 | 個別のAPI統合低い(アプリ固有) | 各社の関数呼び出し機能ベンダー内に限られる | MCPクライアントをまたいで使える |
| 機能の発見 | 個別のAPI統合人がドキュメントを読む | 各社の関数呼び出し機能開発者が事前に定義 | MCP接続時に動的に発見 |
| 双方向性 | 個別のAPI統合なし | 各社の関数呼び出し機能原則なし | MCP通知・Elicitationあり |
MCPは、各モデルの関数呼び出し(Function Calling / Tool Use)を置き換えるものではありません。「どのツールをどの引数で呼ぶか」を決めるのは引き続きモデルの機能です。MCPはその外側にある、ツールの定義・発見・実行・データの受け渡しを標準化します。対応ホストは受け取ったツール定義を内部で関数呼び出しに渡しており、両者は階層が違うだけで一緒に動きます。
MCPのエコシステム — 採用状況・Registry・ガバナンス
MCPは、もはやAnthropicだけの規格ではありません。公開から約2年で、競合を含む主要なAIベンダーが採用する業界標準になりました。
MCPが業界標準になるまで
- 2024年11月Anthropicが公開
オープンソースの標準として公開されました。
- 2025年3月OpenAIがAgents SDKでMCPに対応
OpenAIのAgents SDKがMCPサーバーに接続できるようになりました。
- 2025年6月仕様2025-06-18版
Elicitationが加わりました。
- 2025年11月仕様2025-11-25版
OpenID Connect対応やTasksの実験導入が入りました。
- 2025年12月9日Agentic AI Foundationへ移管
Linux Foundation傘下の中立組織に管理が移りました。
- 2026年7月28日仕様2026-07-28版
ステートレス化と、Roots・Sampling・Loggingの非推奨化が入りました。
OpenAIの採用が転換点でした。最大の競合がAnthropic発のプロトコルをそのまま取り込んだことで、特定ベンダーの囲い込み規格になるという初期の懸念は薄れました。GeminiもMCPを採用しています。ChatGPT、Gemini、Microsoft Copilot、VS Code、CursorがMCPクライアントとして動き、同じサーバーを使い回せます。VS Code本体の設定はVS Code MCP設定ガイド、Cursorのmcp.jsonはCursor MCP設定ガイドで扱っています。claude.aiのコネクタとChatGPTのアプリで同じサーバーが動くかはClaudeのコネクタとChatGPTのアプリの違いで比べています。
ガバナンスの中立化 — Agentic AI Foundation
2025年12月9日、AnthropicはMCPをLinux Foundation傘下の新組織Agentic AI Foundation(AAIF)に寄贈しました。AAIFはAnthropic・Block・OpenAIの3社が共同で設立し、Google・Microsoft・AWS・Cloudflare・Bloombergが支援しています。競合同士が同じ財団に関わることで、プロトコルの行方が一企業の判断に左右されない体制になりました。
寄贈の時点で、公開中のMCPサーバーは1万件超、Claudeのコネクタのディレクトリは75件超ありました。PythonとTypeScriptのSDKは合計で月間9,700万ダウンロードを超えています。仕様の改訂は、GitHub上のSEP(仕様改善提案)とワーキンググループで進みます。2026年10月22日には、Agent SkillsもAAIFへ寄贈されました(経緯はAnthropicがAgent SkillsをAAIFへ寄贈)。
サーバーはどこから来るか — 供給元・Registry・信頼ラベル
接続先のMCPサーバーには、大きく3つの供給元があります。
1つ目は、サービス事業者が自ら運営する公開のリモートサーバーです。GitHub、Sentry、Notion、Stripe、Slackなどが代表例で、多くがOAuth認証を採用しています。データウェアハウスのSnowflakeもこの型で、読み取り専用のコネクタとして提供されています(詳細はClaude Snowflake連携ガイド)。
2つ目は、オープンソースのリファレンス実装やコミュニティ製のサーバーです。ファイルシステム操作やブラウザ自動化のPlaywrightのような汎用機能を、ローカルで提供します(導入はPlaywright MCPサーバーの使い方)。事業者が公式サーバーを出していない製品では、ここに頼るしかないこともあります。Workdayには公式のSana from Workdayコネクタが加わっており、条件はClaude Workday連携の現状で確かめられます。
3つ目は自作のサーバーで、社内APIや独自のデータベースをClaudeに開放する用途です。なお1つ目の型でも、接続形態がリモートとは限りません。Pulumi Corporation公式の@pulumi/mcp-serverは、npmで配布されるローカル実行型です。Claude Codeからプレビュー・デプロイ・スタック出力の取得を自然文で行えます(詳細はPulumi MCPサーバーの使い方)。
公開サーバーを探す入口として、MCP Registryがあります。Anthropic・GitHub・PulseMCP・Microsoftなどが支える公式のメタデータ集約所で、サーバーの名前・置き場所・起動方法を標準のserver.jsonで載せています。プレビュー段階で、社内ネットワーク限定のような非公開サーバーは掲載できません。仕組みはMCP Registryとはにあります。
claude.aiのディレクトリでは、コネクタの審査の深さが3段階のラベルで示されます。
| ラベル | 意味 |
|---|---|
| Verified | 意味ツールの品質と互換性をAnthropicがテスト済み。セキュリティ監査ではなく、審査後に開発者がツールを変えることもある |
| Community | 意味第三者の開発者製。掲載前のスクリーニングだけで、詳しい審査は受けていない |
| Custom | 意味利用者自身が追加したもの。審査なし |
ラベルが変えるのはディレクトリでの見え方だけで、接続後の機能や権限は同じです。自社のサーバーを掲載する側の審査基準はAnthropic Connectors Directoryとはにあります。
ClaudeのMCP接続方式と認証 — stdio・HTTP・OAuth
接続方式は、接続先がローカルかリモートかでほぼ決まります。
| 接続方式 | 通信のしかた | 主な用途 | Claude Codeでの指定 |
|---|---|---|---|
| stdio | 通信のしかた標準入出力によるプロセス間通信 | 主な用途ローカルで完結する処理(ファイル操作・自作スクリプト) | Claude Codeでの指定--transport stdio(省略時の既定) |
| Streamable HTTP | 通信のしかたHTTP POST+必要に応じてSSEで返す | 主な用途リモートのSaaS連携(推奨) | Claude Codeでの指定--transport http |
| SSE | 通信のしかたHTTP GET中心のイベントストリーム | 主な用途旧式のリモート接続。仕様上は非推奨 | Claude Codeでの指定--transport sse |
| WebSocket | 通信のしかた持続する双方向接続 | 主な用途サーバーからイベントを送りたい場合(認証はヘッダーのみ) | Claude Codeでの指定add-json で type: ws |
stdioはクライアントがサーバーを子プロセスとして起動する方式で、ネットワークを介しません。Claude Codeは起動したサーバーにCLAUDE_PROJECT_DIRを渡すので、サーバーはプロジェクトのルートを作業ディレクトリに頼らず知れます。Streamable HTTPはリモートの常駐サーバーと通信する方式で、BearerトークンやAPIキーといったHTTP標準の認証が使えます。SSEは2025-03-26版から非推奨で、後方互換のためだけに残っています。
OAuthの認証は、サーバーが対応していれば自動で進みます。Claude Codeは、サーバーが401か403を返すと「認証が必要」と判定し、/mcpにサインインを促す表示を出します。クライアントの登録にはDCRかCIMD(Client ID Metadata Document)が使われます。どちらも使えないサーバーでは、開発者ポータルで発行したクライアントIDを--client-idで渡します。リダイレクト先が固定されているサーバーには--callback-portでポートを合わせます。
トークンは自動で更新されます。保存済みのトークンが401で拒否されると、Claude Codeは更新と再接続をして1回だけ再試行し、それでも失敗したときに/mcpで警告します。クライアントシークレットはmacOSではキーチェーン、それ以外では認証情報のファイルに保存されます。401応答を起点にした認可サーバーの発見からPKCE付きのトークン取得まではリモートMCPのOAuth認証で扱っています。
Claude APIのMCPコネクタ
自社アプリに組み込むなら、Messages APIのmcp_serversでリモートのMCPサーバーにつなぎます。ベータヘッダーmcp-client-2025-11-20を付けて呼び出し、使うツールはtools配列のmcp_toolsetで選びます。
curl https://api.anthropic.com/v1/messages \
-H "X-API-Key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: mcp-client-2025-11-20" \
-d '{
"model": "claude-opus-5-5",
"max_tokens": 1000,
"messages": [{"role": "user", "content": "What tools do you have available?"}],
"mcp_servers": [{"type": "url", "url": "https://example-server.example.com/mcp",
"name": "example-mcp", "authorization_token": "YOUR_TOKEN"}],
"tools": [{"type": "mcp_toolset", "mcp_server_name": "example-mcp"}]
}'制約は4つです。対応するのはツール呼び出しだけで、ResourcesとPromptsは含みません。サーバーはhttps://で始まるURLで公開されている必要があり、ローカルのstdioサーバーは直接つなげません。ゼロデータ保持(ZDR)の対象外で、標準の保持ポリシーが適用されます。提供面はClaude API・Claude Platform on AWS・Microsoft Foundryで、いずれもベータです。
OAuthのトークンは、API呼び出しの前に自分で取得して更新する前提です。テスト用のトークンは、npx @modelcontextprotocol/inspectorで起動するMCP Inspectorで取れます。サーバーのツール一覧を記録して固定したい場合は、mcp-client-2026-09-15(ベータ、Claude APIのみ)に置き換えます。前者の機能をすべて含むヘッダーです。stdioのサーバーやPrompts・Resourcesまで扱うなら、Anthropic SDKのMCPヘルパー関数と自前のMCPクライアントを組み合わせます。API全体の構成はAnthropic API完全ガイド、Agent SDKでの実装はAgent SDKクイックスタートにあります。
ClaudeでMCPを使うときのセキュリティ — 何を許可するか
MCPサーバーをつなぐと、Claudeはそのサービスでのあなたの権限を引き継ぎます。元のサービスで見られないファイルやチャンネルには、Claudeも届きません。逆に、固定のAPIキーで認証するコネクタは、そのキーが届く範囲すべてに届きます。
指摘されてきたリスクは、外部コンテンツを経由したプロンプトインジェクション、信頼済みのツールに見せかけた同名ツールのすり替え、複数ツールの組み合わせによるデータの持ち出しなどです。サーバーの開発者は、ツールの中身を後から変えられます。Verifiedのラベルも審査時点の機能テストで、セキュリティ監査ではありません。
| 観点 | 対応 |
|---|---|
| サーバーの信頼性 | 対応第三者製のサーバーは、導入前に提供元とソースコードを確かめる |
| 認証情報の管理 | 対応設定ファイルにキーを直書きせず、${VAR} の環境変数展開で渡す |
| 接続の統制 | 対応個人は承認ダイアログ、組織は許可リスト・拒否リストで接続先を絞る |
| 出力の検査 | 対応Webを取り込むツールは、インジェクションの媒介になり得る前提で扱う |
| 権限の最小化 | 対応APIトークンはfine-grainedにして対象を限る |
claude.aiでは、コネクタのツールごとに「常に許可」「承認が必要」「ブロック」を選べます。読み取りと書き込みで分けておくと、誤操作の影響を小さくできます。
メールのコネクタの権限を分ける
全ツールを常に許可
検索・要約・下書き・送信のすべてを、確認なしでClaudeが実行できる状態です。誤った宛先への送信も止まりません。
読み取りは許可、送信はブロック
検索と要約は「常に許可」、下書きは「承認が必要」、送信は「ブロック」にします。TeamとEnterpriseのオーナーがこの設定をすると、組織の全員に効き、個人では上書きできません。
Researchの機能は、追加の承認なしにコネクタのツールを自動で呼びます。カスタムコネクタと組み合わせるときは、書き込みのできるツールを先にオフにしておくと安全です。接続前の信頼確認・権限ルール・組織管理の3層で許可範囲を決める基準はMCPセキュリティガイドにあります。
組織はClaudeのMCP利用をどう制限できるか
Claude Codeは既定で、誰でも好きなMCPサーバーを追加できます。組織で絞る仕組みは「固定配布」「追加配布」「事後のふるい分け」の3系統で、目的に応じて組み合わせます。
| やりたいこと | 使う設定 | 利用者の追加 |
|---|---|---|
| MCPを止める | 使う設定空の mcpServers を書いた managed-mcp.json | 利用者の追加できない |
| 全員に同じ一式だけを使わせる | 使う設定managed-mcp.json | 利用者の追加できない |
| 全員に配りつつ各自の追加も残す | 使う設定管理設定の managedMcpServers(v2.1.259以降) | 利用者の追加できる |
| 承認済みの一覧だけ許す | 使う設定allowedMcpServers と allowManagedMcpServersOnly: true | 利用者の追加一覧のものだけ |
| プラグイン経由のサーバーだけ許す | 使う設定strictPluginOnlyCustomization(mcp を含める) | 利用者の追加できない |
| 危険なものだけ止める | 使う設定deniedMcpServers | 利用者の追加拒否リスト以外はできる |
managed-mcp.jsonは、OSごとに置き場所が決まっています。
- macOS:
/Library/Application Support/ClaudeCode/managed-mcp.json - Linux / WSL:
/etc/claude-code/managed-mcp.json - Windows:
C:\Program Files\ClaudeCode\managed-mcp.json
MDMやグループポリシーのように管理者権限で書き込める経路で配り、サーバー側の管理設定からは配れません。このファイルは端末の全ユーザーが読めるので、APIキーは書かず${VAR}展開かOAuthで渡します。
managed-mcp.jsonを置くと、claude.aiのコネクタも既定で読み込まれなくなります。一緒に使うには、管理設定でallowAllClaudeAiMcpsをtrueにします(v2.1.149以降、詳しくはallowAllClaudeAiMcps)。許可リストと拒否リストは、URL・起動コマンド・表示名のどれかで一致を判定します。表示名はclaude mcp addで利用者が自由に付けられるラベルなので、URLかコマンドで縛るほうが効きます。拒否リストは常に許可リストより優先されます。
設定の効き方は、claude mcp listに配布したサーバーだけが並ぶかで確かめられます。テスト用のURLで追加を試す方法もあります。claude mcp add --transport http test https://example.com/mcpが「enterprise MCP configuration is active」で失敗すれば効いています。ブロックされたサーバーは/mcpやclaude mcp listから警告なく消えるだけなので、対象を利用者に伝えておくと混乱を避けられます。どのサーバーが実際に使われているかは、OpenTelemetryの出力でOTEL_LOG_TOOL_DETAILS=1を付けると集計できます。許可リストの書き方はClaude CodeのMCP許可リスト、設定ファイルの階層はClaude Code settings.json完全ガイドにあります。
社内ネットワークのMCPサーバーにClaudeから届かせるには
社内ネットワークだけに置いたサーバーをClaudeにつなぐには、これまでインバウンドのポートを開けるか、サービスを公開する必要がありました。MCP tunnelsは、社内からの外向きの接続だけでClaudeに届かせる仕組みです。研究プレビューで、利用には申請が要ります。
社内に置く部品は2つです。Cloudflareのオープンソースのcloudflaredが外向きのトンネルを張り、Anthropicが配布するプロキシが内側のTLSを終端して、目的のMCPサーバーへ振り分けます。公開したサーバーにはdocs.<トンネルドメイン>のようなホスト名が割り当てられます。
届け先は作った場所で分かれます。Consoleで作ったトンネルは、Managed AgentsのセッションとMessages APIのmcp_serversで使います。claude.aiのコネクタとして使うには、Enterpriseプランの組織がclaude.ai側でトンネルを作り、カスタムコネクタとして登録します。
保護は3層です。AnthropicとCloudflareの間の外側のmTLSが不正な接続元を弾き、内側のTLSがCloudflare自身にもペイロードを読ませません。そのうえで各サーバーのOAuth認証が、認可されていない呼び出しを止めます。トンネルのトークンとTLSの秘密鍵は、両方を奪われるとプロキシになりすまされる組み合わせで、その管理と証明書の更新は自社の責任範囲です。構成の詳細はMCP tunnelsのアーキテクチャにあります。
MCPサーバーを自作してClaudeにつなぐ入口
MCPサーバーはTypeScriptとPythonを筆頭に複数の言語のSDKがあり、数十行から書き始められます。作るのはTools・Resources・Promptsの組み合わせで、テストにはMCP Inspectorが使えます。
Claude Codeなら、公式プラグインに雛形を作らせる方法もあります。/plugin install mcp-server-dev@claude-plugins-officialで入れ、/mcp-server-dev:build-mcp-serverを実行します。用途を聞かれたうえで、リモートのHTTPかローカルのstdioの雛形ができます。
Claude Codeで使うサーバーを作るときは、サーバーの指示文が効いてきます。Claude Codeは既定でツール検索を有効にしており、起動時に読むのはツール名と指示文だけです。指示文と事前に読ませるツールの説明は4,096文字で切られるので、要点と検索されそうな語を冒頭に置きます。TypeScript SDKでの実装からnpmとMCP Registryでの配布までは、MCPサーバーを自作してClaude Codeにつなぐにコードつきでまとめています。
ClaudeでMCPがつながらないときの切り分け
Claude Codeで動かないときは、claude mcp listか/mcpの状態表示から入ると早く絞れます。上から順に確かめ、止まった段の対処をします。
ClaudeのMCPサーバーがつながらないときに上から確かめる
- Qclaude mcp listにサーバーが出ている?答えがいいえのとき答えがはい
出ないときは、別のプロジェクトで追加した(
localスコープは追加したディレクトリに結び付く)か、読まれない場所に設定を書いています。読まれるのは~/.claude.jsonとプロジェクト直下の.mcp.jsonだけで、~/.claude/mcp.jsonなどは読まれません。.mcp.jsonを編集したら、セッションを起動し直します。 - Q状態がFailed to connectやConnection errorではない?答えがエラーが出ている答えがはい
HTTPのサーバーは
curl -I <URL>で到達を確かめます。404か405ならサーバーは動いており、401か403なら認証待ちです。stdioのサーバーは、設定した起動コマンドを直接ターミナルで実行すると原因が見えます。初回のnpxはダウンロードで起動待ちの30秒を超えることがあり、MCP_TIMEOUT=60000 claudeで延ばせます。 - QNeeds authenticationの表示が消えている?答えがいいえのとき答えがはい
/mcpでサーバーを選び、Authenticateをやり直します。ブラウザが開かなければ、表示されたURLを手で開きます。claude.aiのコネクタがsession token rejectedになっている場合は、/loginでサインインし直してから/mcpで再接続します。 - Q/mcpでツール数が0より多い?答えがいいえのとき答えがはい
0のときは、サーバーは起動したもののツールを登録できていません。多くはAPIキーなどの環境変数の不足で、
--env KEY=valueか.mcp.jsonのenvで渡します。
ここまで通ればツールを呼べる状態
あとはClaudeが依頼に合うツールを選んで呼びます。確実にそのサーバーを使わせたいときは、依頼文でサーバー名を出します。
接続できた後のつまずきで多いのは、時間と出力の上限です。起動待ちはMCP_TIMEOUT、ツール実行の待ちはMCP_TOOL_TIMEOUTで、別の変数です(違いはMCP_TIMEOUTとMCP_TOOL_TIMEOUTの違い)。メインの会話で2分を超えたツール呼び出しは自動でバックグラウンドに移り、/tasksに並ぶので、セッションは止まりません。
ツールの出力は1万トークンを超えると警告が出て、既定では2万5,000トークンが上限です。上限はMAX_MCP_OUTPUT_TOKENSで引き上げられます。画像を含まない結果が上限を超えると、会話には貼られずファイルに保存され、Claudeが必要なときに読みます。ツール呼び出しそのものをコード実行に置き換えて消費を抑える設計はMCPでコード実行する設計が参考になります。症状別の詳しい手順はMCPサーバーに接続できないときの切り分け手順にあります。
よくある質問
MCPサーバーとMCPクライアントはどちらを作ればよいですか?
自分のデータやツールをAIに使わせたいならサーバー、AIアプリそのものを作っているならクライアントです。大半の開発者が作るのはサーバー側で、Claude CodeやChatGPTのような既存のホストをそのままクライアントとして使います。
スマートフォンのClaudeアプリでもMCPは使えますか?
使えます。claude.aiかDesktopで接続したリモートのコネクタは、次にモバイルアプリへログインしたときから会話で使えます。モバイルからの新規の接続はベータで、Desktopの拡張機能はClaude Desktop専用です。
まとめ
社内のサーバーならClaude Codeか拡張機能、SaaSならコネクタが最短の入口です。チームに広げるときは、書き込みツールの権限を先に決めてから.mcp.jsonや管理設定で配ると、あとから絞り直す手間が減ります。自作のサーバーに進むなら、MCPサーバーを自作してClaude Codeにつなぐが次の一歩です。
参照した一次ソース
この記事の記述は、次の一次ソースと照合しています。更新時に参照先が変わった場合は一覧も更新します。
- code.claude.com/docs/ja/mcp
- code.claude.com/docs/ja/mcp-quickstart
- code.claude.com/docs/ja/managed-mcp
- platform.claude.com/docs/ja/agents-and-tools/mcp-connector
- platform.claude.com/docs/ja/agents-and-tools/mcp-tunnels/overview
- platform.claude.com/docs/ja/about-claude/pricing
- support.claude.com/ja/articles/11176164
- support.claude.com/ja/articles/11175166
- support.claude.com/ja/articles/10949351
- claude.com/ja/pricing
- claude.com/docs/connectors
- claude.com/docs/connectors/verification