MCPとは?仕組みと最初のサーバー接続をステップごとに解説
MCPとは何か。ホスト、サーバー、ツールの仕組みを解説し、Claude Code と Claude アプリに MCP サーバーをつなぐ手順を紹介します。
この記事の他の言語版:العربيةDeutschEnglishEspañolFrançaisItalianoPolski简体中文
この記事の内容
MCPとは何か。MCP(Model Context Protocol)は、Claude、ChatGPT、Cursor のような AI アプリが外部のシステムにつながるためのオープンな標準規格です。つなぐ先はファイル、データベース、カレンダー、Notion、GitHub などです。開発者たちは公式ドキュメントで、これを USB-C ポートにたとえています。1つのプラグで、たくさんの機器に挿せるというわけです。
この記事では、まず MCP の中身の仕組みを説明し、そのあと Claude Code(リモートとローカル)と Claude アプリで最初の MCP サーバーをつなぎます。コマンドは Claude Code のドキュメントと MCP リファレンスサーバーのリポジトリからのものです。
MCPとは、実際には何をするものか
言語モデルは、それだけでは私たちのファイルもカレンダーも見えません。AI エージェントが現実の世界で何かをするには、ツールが必要です(エージェントそのものについては AIエージェントとは で書きました)。共通の標準がなければ、アプリごとに、ツールごとに、それぞれ独自の方法でつなぐことになります。
MCP はそこを変えます。誰かがあるサービス向けの MCP サーバーを一度書けば、プロトコルに対応したどのアプリからでも使えるようになります。ドキュメントには、これで何ができるかの例が挙がっています。
- 自分の Google カレンダーと Notion にアクセスできるエージェント
- Figma のデザインからウェブアプリを丸ごと作る Claude Code
- 複数のデータベースに同時につながった社内チャットボット
- Blender で 3D オブジェクトを設計し、プリンターに送るモデル
MCP はどこから来たのか
MCP は 2024年11月25日に Anthropic がオープンソースとして公開しました。その1年後の 2025年12月9日、同社はプロトコルを Agentic AI Foundation に移管しました。Linux Foundation の傘下で活動する基金で、OpenAI と Block も共同で立ち上げています。これで MCP は、もう1社だけのものではなくなりました。
今では Claude、ChatGPT、Visual Studio Code、Cursor などがこのプロトコルに対応しています。一度書いたサーバーが、あちこちで動くということです。
MCP は中でどう動いているのか
アーキテクチャの説明によると、MCP には3つの役割があります。
- ホスト:私たちが使う AI アプリ(たとえば Claude Code や Claude Desktop)
- クライアント:ホストの中にあるコンポーネント。ホストはサーバーごとに別々のクライアントを作ります
- サーバー:データやツールを提供するプログラム
サーバーはローカル(自分のパソコン上で、標準入出力、いわゆる「stdio」で通信)でも、リモート(インターネット上で、いわゆる「Streamable HTTP」で通信)でも動かせます。メッセージの形式は JSON-RPC 2.0 です。
サーバーが提供するものは3種類です。
- ツール(tools):モデルが呼び出せる関数。たとえばデータベースへのクエリやファイルの保存
- リソース(resources):コンテキストに入れるデータ。たとえばファイルの中身やデータベースのスキーマ
- プロンプト:モデルとのやりとりの定型テンプレート
流れはシンプルです。クライアントがサーバーにツールの一覧を尋ね(tools/list)、モデルがその中から1つを選び、クライアントがそれを呼び出して(tools/call)結果をモデルに返します。面白いのは、仕様の現行バージョン(2026-07-28)ではプロトコルがステートレスになっている点です。つまり、各リクエストが、サーバーが処理するのに必要なものをすべて持っています。
ステップ1:Claude Code にリモートの MCP サーバーをつなぐには
Claude Code はインストール済みという前提で進めます(まだなら Claude Code の使い方入門から始めてください)。ドキュメントによると、推奨はリモートの HTTP サーバーです。基本の書き方はこうです。
claude mcp add --transport http <name> <url>
ドキュメントにある例、Notion をつなぐ場合です。
claude mcp add --transport http notion https://mcp.notion.com/mcp
リモートサーバーの多くはログインが必要です。その場合は Claude Code のセッションで /mcp と入力し、ブラウザでログインを済ませます。同じコマンドで、つないだすべてのサーバーの状態も確認できます。
ログインではなくトークンを使うサーバーなら、ヘッダーを追加します。
claude mcp add --transport http secure-api https://api.example.com/mcp \
--header "Authorization: Bearer your-token"
ステップ2:ローカルの MCP サーバーを動かすには
ローカルサーバーは、自分のパソコン上で普通のプロセスとして動きます。最初の例としておすすめなのが、リファレンス実装のファイルサーバーです。指定したディレクトリだけにモデルがアクセスできるようにしてくれます。必要なのは Node.js(npx のため)です。
サーバーのコマンドは -- の後ろに書きます。この記号より後ろはすべて、そのままサーバーに渡されます。
claude mcp add --transport stdio filesystem -- npx -y @modelcontextprotocol/server-filesystem ~/notatki
最後の引数が、サーバーがアクセスできるディレクトリです(複数指定できます)。このサーバーには read_text_file、write_file、edit_file、list_directory、search_files などのツールがあります。これで Claude Code に、たとえば「メモの中から MCP に関するものを全部探して、リストにまとめて」と頼めます。
サーバーに API キーが必要なら、--env で渡します。ドキュメントの例です。
claude mcp add --env AIRTABLE_API_KEY=YOUR_KEY --transport stdio airtable \
-- npx -y airtable-mcp-server
ステップ3:MCP サーバーを管理するには
管理に使うのは、シンプルな3つのコマンドです。
claude mcp list # サーバーの一覧
claude mcp get notion # 1つのサーバーの詳細
claude mcp remove notion # サーバーの削除
もう1つ大事なのがスコープ(scope)、つまりサーバーの設定がどこに保存されるかです。
| スコープ | 有効な範囲 | チームに共有されるか | 保存場所 |
|---|---|---|---|
local(デフォルト) |
現在のプロジェクトのみ | いいえ | ~/.claude.json |
project |
現在のプロジェクトのみ | はい、リポジトリ経由で | プロジェクトディレクトリの .mcp.json |
user |
自分のすべてのプロジェクト | いいえ | ~/.claude.json |
スコープは --scope フラグで選びます。たとえば --scope user です。project スコープでは、API キーがリポジトリに入らないよう、環境変数(.mcp.json の中の ${VAR})に入れておきましょう。
ステップ4:Claude アプリで MCP サーバーを追加するには
Claude アプリ(ウェブ版とデスクトップ版)では、MCP サーバーは「コネクタ」と呼ばれます。既製のものはコネクタのディレクトリにあり、自分のリモートサーバーはいわゆる「custom connector」として追加します。Claude ヘルプセンターによると、手順はこうです。
- Customize > Connectors を開く
- 「+ Add」、続いて 「Add custom connector」 をクリック
- リモート MCP サーバーの名前と URL を入力
- ログインの設定を確認して 「Add」 をクリック
コネクタはすべてのプランで使えますが、無料プランで追加できる独自のコネクタは1つだけです。注意点として、Claude は Anthropic のクラウドからサーバーに接続するので、サーバーはインターネットから到達できる必要があります。コネクタは、Claude Duet エージェントなど、Claude のほかの機能からも使われます。
気をつけるべきこと
1つ目は、誰を信頼するかです。MCP サーバーはモデルに実際に行動する力を与えます。Claude Code のドキュメントは、外部からコンテンツを取ってくるサーバーはプロンプトインジェクションのリスクにさらされると、はっきり警告しています。ヘルプセンターも、悪意のあるサーバーには Claude に意図しない操作をさせようとする隠れた指示が含まれている可能性があると書いています。つなぐのは、信頼できる企業や作者のサーバーだけにしましょう。
2つ目は、権限です。「Allow always」は、監視なしで動かしても大丈夫だと思えるツールにだけ使いましょう。いいニュースもあります。クローンしたリポジトリが .mcp.json の自分のサーバーを勝手に承認することはできません。Claude Code はまず許可を求めます。
3つ目は、アクセス範囲です。ファイルサーバーには、ディスク全体ではなく特定のディレクトリだけを渡しましょう。キーやエージェントを守る方法については AIエージェントのセキュリティ でもっと詳しく書きました。
FAQ
MCPとは、簡単に言うと何ですか?
AI アプリがツールやデータにつながるための共通の標準です。一度書いた MCP サーバーはたくさんのアプリで動きます。USB-C の機器がいろいろなパソコンで使えるのと同じです。
MCP は Claude でしか使えませんか?
いいえ。プロトコルを作ったのは Anthropic ですが、今は Linux Foundation の傘下にある Agentic AI Foundation が開発を進めていて、ChatGPT、Visual Studio Code、Cursor なども対応しています。
ローカルとリモートの MCP サーバーは何が違いますか?
ローカルは自分のパソコン上で動き、stdio で通信します。普通は1つのアプリとつながります。リモートはインターネット上で動き(Streamable HTTP)、普通は複数のクライアントを同時に相手にします。ログインには、仕様は OAuth を推奨しています。
MCP は無料ですか?
プロトコル自体はオープンで無料です。お金がかかるのは、使っている AI アプリと、場合によってはサーバーがつながる先のサービスです。