Skip to content

MCP とコネクター ​

Claude Code が最初からできるのは、PC の中のファイルを読み書きすることと、コマンドを実行することです。カレンダー、チャット、文書の置き場所などのサービスの中身は、利用者が内容を貼り付けないかぎり、Claude には見えません。MCP は、これを変える仕組みです。MCP でサービスをつなぐと、Claude が、そのサービスの中身を直接読んで、操作できるようになります。このページでは、MCP の仕組みと、つなぎ方、つなぐときの注意を整理し、実際に 1 つつないで確かめます。

この記事で分かること ​

  • MCP で、Claude にできることがどう変わるか
  • MCP サーバーとコネクターの関係
  • サービスをつなぐ 3 つの方法と、つないだ設定が効く範囲
  • つなぐ前に、利用者が考えておくこと

用語の整理 ​

用語意味
MCP(Model Context Protocol)AI のツールと、外部のサービスや道具をつなぐための、共通の決まり。公開されている規格で、Claude Code 以外の AI のツールも対応している
ツール(tool)Claude が、実際の操作を行うための道具。「ファイルを読む」「コマンドを実行する」など
MCP サーバー(MCP server)MCP の決まりに従って、Claude にツールを提供するプログラム
コネクター(connector)MCP サーバーを、アプリの画面の操作でつなげるようにしたもの。中身は MCP サーバー
プロンプトインジェクション(prompt injection)外部から読み込んだ内容の中に、AI への指示を紛れ込ませて、意図しない操作をさせようとする攻撃

MCP で、何が変わるか ​

カレンダーのサービスを例にします。

つなぐ前つないだ後
今週の予定を、Claude に整理してほしい利用者が、カレンダーの画面から予定をコピーして、会話に貼り付けるClaude が、カレンダーの予定を直接読む
会議の予定を、Claude に作ってほしいClaude が案を書き、利用者が、カレンダーの画面で入力するClaude が、カレンダーに直接書き込む(利用者の確認のうえで)

仕組みとしては、MCP サーバーをつなぐと、Claude の道具(ツール)が増えます。カレンダーのサーバーであれば、「予定の一覧を取る」「予定を作る」といったツールが加わります。Claude は、依頼の内容に合わせて、そのツールを使います。

公式ドキュメントは、つなぐきっかけを、「別のサービスの内容を、会話に貼り付けていることに気づいたとき」と説明しています。

MCP サーバーと、コネクター ​

「MCP サーバー」と「コネクター」は、別のものではありません。コネクターは、MCP サーバーを、アプリの画面からつなげるようにしたものです。

よく使われるサービス(カレンダー、文書の置き場所、メール、チャットなど)は、コネクターとして用意されています。一覧にないものは、MCP サーバーとして、自分で追加します。一覧にないうえに、使えるサーバーも見つからない場合は、自分で作ることもできます。これは「08. MCP サーバーを自作する」で扱います。

MCP サーバーには、動く場所によって、2 つの種類があります。

種類動く場所主な用途
リモートのサーバーインターネットの先クラウドのサービスとの連携
ローカルのサーバー自分の PC自分の PC の中のものを扱う道具。自分で作ったもの

ローカルのサーバーは、Claude Code が、自分の PC の上でプログラムとして起動します。ローカルのサーバーを追加することは、そのプログラムを自分の PC で実行するのと、同じ意味を持ちます。

サービスをつなぐ、3 つの方法 ​

使う場所や目的によって、つなぎ方が違います。

デスクトップアプリの画面からつなぐ ​

入力欄の横の「+」ボタンから「Connectors」を選ぶと、コネクターの一覧が出ます。一覧から選び、画面の案内に従ってつなぎます。つないだコネクターは、アプリの設定(Settings → Connectors)で、管理や解除ができます。

ターミナル版のコマンドでつなぐ ​

ターミナル版では、claude mcp add コマンドで追加します。

bash
claude mcp add --transport http claude-code-docs https://code.claude.com/docs/mcp

claude-code-docs は自分で付ける名前、最後の URL は、サーバーの場所です。

設定ファイルに書いてつなぐ ​

プロジェクトのいちばん上のフォルダーに .mcp.json というファイルを作り、サーバーを書く方法もあります。

json
{
  "mcpServers": {
    "claude-code-docs": {
      "type": "http",
      "url": "https://code.claude.com/docs/mcp"
    }
  }
}

このファイルは、セッションの開始時に読み込まれます。書いたあとは、新しいセッションを始める必要があります。

つないだ設定が、効く範囲 ​

つないだサーバーの設定は、3 つの範囲(スコープ)のどれかに保存されます。範囲によって、どのプロジェクトで使えるか、ほかの人にも届くかが決まります。

範囲使えるところほかの人に届くか保存される場所
ローカル(既定)そのプロジェクトだけ届かない~/.claude.json
プロジェクトそのプロジェクトだけ届く。リポジトリをとおしてプロジェクトの .mcp.json
ユーザー自分の、すべてのプロジェクト届かない~/.claude.json

「ローカル」という名前ですが、保存される場所は、プロジェクトの中ではなく、ホームフォルダーの ~/.claude.json です。04. 設定ファイルの仕組み の「プロジェクトの自分だけの設定」(.claude/settings.local.json)とは、場所が違うので注意します。

claude.ai のアカウントでサインインしている場合は、claude.ai の側で追加したコネクターも、Claude Code で使えます。

つなぐ前に、利用者が考えておくこと ​

MCP サーバーは、Claude ができることを広げます。そのぶん、何をつなぐかは、利用者が判断する必要があります。

信頼できるサーバーだけをつなぐ ​

公式ドキュメントは、つなぐ前に、そのサーバーを信頼できるかを確かめるように警告しています。理由は 2 つあります。

  • ローカルのサーバーは、自分の PC で動くプログラムである。中身の分からないプログラムを実行するのと、同じ危険がある。
  • サーバーが返す文章は、Claude の判断に影響する。外部の内容を取ってくるサーバーは、プロンプトインジェクションの入り口になりうる。

ほかの人のリポジトリでは、.mcp.json を確かめる ​

.mcp.json は、リポジトリと一緒に、ほかの人の PC に届きます。公式ドキュメントには、プロジェクトのサーバーは、初めて見つけたときに、使ってよいかを利用者に尋ねる、と書かれています。ただし、このページの「実際にやってみる」で試したときは、デスクトップアプリで、尋ねられずにつながりました。ほかの人が作ったリポジトリを開く前に、.mcp.json に何が書かれているかを、自分で確かめておきます。

使わないサーバーは、外しておく ​

つないだサーバーの、ツールの名前と、サーバーからの説明は、すべてのセッションで読み込まれます。そのぶん、コンテキストを使います。使わなくなったサーバーは、外しておきます。

権限ルールで、ツールごとに制限できる ​

MCP のツールにも、03. 権限モードと、確認を減らす方法 の権限ルールが働きます。MCP のツールの名前は、mcp__サーバーの名前__ツールの名前 の形です。この名前で、特定のサーバーや、特定のツールを、許可したり、禁止したりできます。

組織が、コネクターを制限していることがある ​

組織は、コネクターのツールごとに、「使うたびに確認する」「使えないようにする」を設定できます。「使うたびに確認する」に設定されたツールは、権限モードが Auto でも、確認が出ます。公式ドキュメントによると、デスクトップアプリの、自分の PC でのセッションでは、「使うたびに確認する」は届かず、「使えないようにする」は有効です。

実際にやってみる ​

このサイトのリポジトリに、MCP サーバーを 1 つつなぎました。行ったこと、確かめたこと、想定していなかったことを、順に書きます。

1. すでに MCP を使っていた ​

新しく何かをつなぐ前に、今のセッションで Claude が使えるツールを確かめました。デスクトップアプリが最初からつないでいる MCP サーバーが、いくつもありました。

たとえば、アプリの中のブラウザーで Web ページを開くツールは、mcp__Claude_Browser__navigate という名前でした。このサイトでは、公開したページの表示を確かめるのに、このブラウザーを使ってきました。MCP は、新しく学ぶ仕組みというより、すでに使っていた仕組みでした。

2. つなぐサーバーを選んだ ​

つないだのは、Claude Code のドキュメントを検索できる、公開の MCP サーバー(https://code.claude.com/docs/mcp)です。公式ドキュメントの入門の手順でも使われています。選んだ理由は 2 つです。

  • 認証がいらない。アカウントの情報を渡さずに試せる。
  • このサイトの作業に役立つ。このテーマのページは、公式ドキュメントで事実を確かめてから書いている。つなぐと、ページを丸ごと取得しなくても、検索で必要な箇所を引ける。

3. つなぐ前に、サーバーの中身をのぞいた ​

Claude とサーバーの間でどんなやり取りが行われるのかを見るため、Claude Code がサーバーに送るのと同じ形の問い合わせを、curl(Web の通信を行うコマンド)で、直接送りました。たとえば、ツールの一覧を尋ねる問い合わせは、次のとおりです。

bash
curl -s -X POST https://code.claude.com/docs/mcp \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'

送った問い合わせは 3 つで、結果は次のとおりでした。

問い合わせ返ってきたもの
接続の挨拶(initialize)サーバーの名前(Claude Code Docs)と、AI に向けた説明文。「このサーバーは、ドキュメントの検索と取得のためのもの」といった内容
ツールの一覧(tools/list)3 つのツール。ドキュメントの検索、ドキュメントの中の閲覧、意見の送信。それぞれに、何をするツールかの説明と、入力の形が付いていた
ツールを使う(tools/call)検索のツールで MCP_TIMEOUT を調べた結果。1 件目は、接続がタイムアウトしたときの対処の節だった

ここから、2 つのことが分かりました。

  • MCP は、「挨拶」「ツールの一覧」「ツールを使う」といった、決まった形の問い合わせをやり取りする決まりである。
  • サーバーは、ツールの説明や、AI に向けた説明文を返し、Claude はそれを読んで動く。サーバーが返す文章が、Claude の判断に影響する。信頼できるサーバーだけをつなぐ、という注意の理由が、ここにある。

4. 設定ファイルを書いて、つないだ ​

リポジトリのいちばん上に、.mcp.json を作りました。範囲は、プロジェクトです。

json
{
  "mcpServers": {
    "claude-code-docs": {
      "type": "http",
      "url": "https://code.claude.com/docs/mcp"
    }
  }
}

書いたのは、サーバーの名前と場所だけで、認証の情報は含まれていません。そのため、リポジトリにコミットしても問題がありません。

5. 新しいセッションで、使えることを確かめた ​

.mcp.json は、セッションの開始時にしか読み込まれません。そこで、デスクトップアプリで、このリポジトリの新しいセッションを始めて確かめました。

確かめたこと結果
サーバーがつながったかつながった。コネクターの一覧に、claude-code-docs が「接続済み」、ツールが 3 つと表示された
Claude が、ツールを使えたか使えた。検索のツールで MCP_TIMEOUT を調べると、手順 3 と同じ結果が返った
ツールの名前mcp__claude-code-docs__search_claude_code_docs。mcp__サーバーの名前__ツールの名前 の決まりのとおり

検索の結果は約 87 KB と大きく、Claude Code は、全文をファイルに保存して、会話には先頭の一部だけを渡しました。外部のサーバーのツールは、結果が大きくなることがあります。

想定していなかったこと:使ってよいかを尋ねる画面が出なかった ​

公式ドキュメントでは、プロジェクトのサーバーを初めて見つけたときに、使ってよいかを利用者に尋ねる、とされています。ところが、新しいセッションを始めても、その画面は出ませんでした。

承認の記録も残っていませんでした。このとき、~/.claude.json の、このプロジェクトの項目にある承認の欄(enabledMcpjsonServers)は空のままで、プロジェクトの .claude/settings.local.json も、ありませんでした。承認されたのではなく、尋ねられずにつながったことになります(承認の記録が実際にどこに書かれるかは、下の「あとで分かったこと」を参照)。

原因は、確かめられていません。公式ドキュメントには、尋ねる画面を出すのはターミナルで対話しながら使うセッションで、プログラムから Claude Code を動かす使い方では尋ねずに読み込む、という記述があります。デスクトップアプリは、Claude Code を、プログラムからやり取りする形で起動していたので、同じ扱いになった可能性があります。ただし、デスクトップアプリでの扱いは、公式ドキュメントには書かれていませんでした。

この結果から、上の「ほかの人のリポジトリでは、.mcp.json を確かめる」という注意を加えています。

あとで分かったこと:ターミナル版では、尋ねる画面が出た ​

このあと、08. MCP サーバーを自作する の作業のために、ターミナル版の Claude Code を入れました。ターミナル版を、このリポジトリで初めて起動すると、次の画面が出ました。

text
New MCP server found in this project: claude-code-docs

MCP servers may execute code or access system resources. All tool calls require approval.

  Use this MCP server
  Use this and all future MCP servers in this project
❯ Continue without using this MCP server

公式ドキュメントのとおりの動きです。同じ .mcp.json でも、デスクトップアプリでは尋ねられず、ターミナル版では尋ねられました。使う場所によって、扱いが違うことになります。

「Use this MCP server」を選んで承認すると、プロジェクトの .claude/settings.local.json(このプロジェクトの、自分だけの設定)が作られ、次の内容が書かれました。

json
{
  "enabledMcpjsonServers": ["claude-code-docs"]
}

承認の記録は、このファイルに書かれることが分かりました。

選択肢の 2 つ目(今後このプロジェクトに加わるサーバーも、すべて使う)を選ぶと、あとで .mcp.json に別のサーバーが書き足されたときに、確認なしで使われるようになります。1 つずつ確かめたい場合は、1 つ目(このサーバーだけを使う)を選びます。

まとめ ​

  • MCP は、Claude に、外部のサービスを使うためのツールを足す仕組み。つなぐと、利用者が内容を貼り付けなくても、Claude がサービスの中身を直接読んで、操作できる。
  • コネクターは、画面からつなげる MCP サーバー。一覧にないものは、コマンドや .mcp.json で追加する。それもなければ、自分で作る。
  • つないだ設定の範囲は、ローカル、プロジェクト、ユーザーの 3 つ。チームで共有するものは、.mcp.json に書く。
  • つなぐのは、信頼できるサーバーだけにする。サーバーが返す文章は、Claude の判断に影響する。
  • .mcp.json のサーバーは、ターミナル版では使ってよいかを尋ねられたが、デスクトップアプリでは尋ねられずにつながった。ほかの人のリポジトリを開く前に、.mcp.json を確かめる。

確認の記録 ​

項目内容
最終確認日2026 年 10 月 14 日
Claude Code のバージョン2.1.295(macOS のデスクトップアプリ)
検証の状況「実際にやってみる」は、macOS のデスクトップアプリと、このサイトのリポジトリで確かめた結果。手順 3 は、公開の MCP サーバーへの curl による直接の問い合わせ。手順 4・5 は、.mcp.json を作り、新しいセッションで、接続とツールの利用を確かめた結果。それ以外の節は、公式ドキュメントの内容をもとに書いている
確かめていない内容デスクトップアプリで、使ってよいかを尋ねる画面が出なかった理由。デスクトップアプリのコネクターの画面、認証が必要なサーバーへの接続は、実際には操作していない