← ブログに戻る

MCP(Model Context Protocol)とは?初心者向け完全ガイド

Cursor Settings の MCP 各行は、Agent がファイル読み取りや Issue 検索を行うための独立プロセスを起動しています。設定チェーンから三役割の分担、Function Calling との違い、filesystem の 5 分セットアップまで解説します。

1. まず Cursor の MCP スイッチから

Cursor → Settings → MCP を開くと、各行の設定は Host に対して「どのローカルプロセスを起動し、どの機能を Agent に開放するか」を伝えています。filesystem を追加すれば Agent は read_file を直接呼べます。GitHub Server を追加すれば Issue を検索できます——モデルが突然賢くなったわけではなく、背後にツール呼び出しの経路が増えただけです。

この経路は Model Context Protocol(MCP) を通ります。正式名称は後で覚えれば十分。まず役割分担を押さえましょう:

役割 あなたが触れる形 何をするか
Host Cursor、Claude Desktop チャット、スケジューリング、ツールを呼ぶかどうかの判断
Server 設定内の filesystemgithub など 実際にディスクを読む、API を呼ぶ、クエリを実行する
Client Host に内蔵、UI 上は通常見えない MCP プロトコルで Host と Server を接続する

多くの人が MCP を入れる理由は一つ:AI にチャットウィンドウの外のシステムへアクセスさせる——プロジェクトファイル、チケット、データベース——コピペの繰り返しをやめるためです。以下では、なぜこれをプロトコルでやる価値があるのかを先に説明し、その後アーキテクチャの詳細を分解します。


2. なぜ専用プロトコルにする価値があるのか?

大規模言語モデルは、デフォルトではダイアログに送った内容しか処理できません。実務では次のようなことが必要になることが多いです:

  1. 手動コピペではなく、プロジェクト内のコードを読ませる
  2. 社内ドキュメントやチケットシステムを照会する
  3. git commit の実行、テストの実行、API の呼び出し

従来は Function Calling(関数呼び出し)が一般的でした:開発者がコード内に関数をハードコードし、モデルはそれらしか呼べません。問題は——

課題 MCP なし MCP あり
ツール発見 Host を変えるたびに統合を書き直す 実行時にサーバー能力リストを自動発見
ベンダーロックイン OpenAI / Anthropic 固有フォーマットに縛られる オープンプロトコルで複数 Host が同一サーバーを再利用
権限の分離 API Key をプロンプトに書き込みがち サーバー側で認証情報を管理、モデルはツールインターフェースのみ見える
組み合わせ拡張 新ツール追加のたびに Host コードを変更 設定ファイルに MCP サーバーアドレスを1行追加するだけ

2025 年末、Anthropic は MCP を Agentic AI Foundation に寄贈し、OpenAI、Google、Microsoft などのメンバーが参加しています。2026 年時点で、MCP は AI ツール接続の事実上の標準の一つ——かつて REST が Web API にあったように。


3. 三つの役割:「誰が誰か」をまず整理する

MCP アーキテクチャの中核は三つの役割だけです。初心者が最も混同しやすいのは HostClient です。分けて説明します。

3.1 Host(ホストアプリケーション)

日常使うソフトウェア:CursorClaude DesktopVS Code + Copilot、自社 Agent プラットフォームなど。

Host の役割:チャット UI の表示、大規模言語モデルの呼び出し、ユーザータスクを MCP に渡すかどうかの判断。

3.2 Client(MCP クライアント)

Host 内部で動くコネクタで、Host ベンダーが実装します。1 つの Host が複数の MCP サーバーに同時接続できます。

Client は Host 内の「MCP ドライバー」と考えてよい——ユーザーには通常見えません。

3.3 Server(MCP サーバー)

実際に仕事をする側:ツール(Tools)、リソース(Resources)、プロンプトテンプレート(Prompts)を公開します。ローカルプロセスでもリモートサービスでも構いません。

┌─────────────┐     ┌─────────────┐     ┌──────────────────┐
│    Host     │     │ MCP Client  │     │   MCP Server     │
│  (Cursor)   │────▶│  (内蔵)     │────▶│  (filesystem)    │
│  ユーザーUI  │     │  プロトコル変換 │     │  ファイル読取/一覧 │
└─────────────┘     └─────────────┘     └──────────────────┘
                           │
                           ▼
                    ┌──────────────────┐
                    │   MCP Server     │
                    │  (github)        │
                    │  PR作成/Issue検索 │
                    └──────────────────┘

役割対照表

Host
あなたが開くアプリ。UX とモデル推論を担当
Client
Host に内蔵。MCP プロトコルで Server と通信
Server
設定するツールサービス。具体的な操作を実行

4. MCP サーバーが公開できるもの:三大能力

4.1 Tools(ツール)—— AI に「手を動かす」

最もよく使われます。各 Tool には名前、説明、入力パラメータの schema があります。モデルは説明に基づき自律的に呼び出すかどうかを選びます。

典型的な例:

  • read_file(path) — ファイルを読む
  • search_issues(query) — GitHub Issue を検索
  • run_sql(query) — データベースを照会

Tools は副作用のある操作(ファイル書き込み、リクエスト送信)なので、権限制御が必要です。

4.2 Resources(リソース)—— AI に「読み取り専用アクセス」

「購読可能なデータソース」に似ています:ファイル内容、API ドキュメント、データベース schema。AI はリソースを list / read できますが、必ずしも Tool 形式で変更するわけではありません。

ログディレクトリやナレッジベースのドキュメントをモデルコンテキストに公開し、毎回全文を貼り付ける必要をなくすのに適しています。

4.3 Prompts(プロンプトテンプレート)—— 再利用可能なワークフロー

サーバー側で用意されたプロンプトテンプレートで、パラメータ付きです。例:「コードレビューテンプレート」「SQL 生成テンプレート」。

Host はワンクリックで挿入でき、ユーザーが同じプロンプトを繰り返し書く手間を減らせます。

能力比較

能力 副作用の有無 典型的な用途 初心者の優先度
Tools あり コマンド実行、ファイル書き込み、API 呼び出し ★★★★★
Resources なし(読み取り専用) ドキュメント、設定、schema の公開 ★★★☆☆
Prompts なし レビュー/翻訳フローの標準化 ★★☆☆☆

5. MCP vs プラグイン vs Function Calling vs REST

初心者がよく聞く質問:「REST API を直接使えばいいのでは?」使えますが、シーンが違います。

観点 REST API Function Calling ブラウザプラグイン / ChatGPT プラグイン MCP
プロトコルの開放性 オープン ベンダー固有フォーマット プラットフォーム固有 オープン標準
ツール発見 事前にエンドポイントを知る必要あり コンパイル時に関数リストを固定 ストアからインストール 実行時に動的発見
複数 Host での再利用 Host ごとにアダプターが必要 モデル SDK ごとに異なる ほぼクロスプラットフォーム不可 同一 Server を複数 Host で共有
ローカルツール 自前で HTTP サービスが必要 コードに埋め込み 制限あり stdio / SSE をネイティブサポート
向いている対象 従来のバックエンド統合 単一アプリ内の AI 埋め込み コンシューマー向けチャット製品 開発者ツールチェーン、Agent エコシステム

覚え方:REST は「アドレスを知っていれば呼べる」;Function Calling は「モデルにあらかじめこの数手しかないと伝える」;MCP は「サーバーに接続してから、その場で何ができるか聞く」。

~~MCP を REST の代替と考える~~ のは正確ではありません——多くの MCP Server は内部で REST API をラップしています。MCP は AI 時代の接続レイヤーであり、HTTP の代替ではありません。


6. 完全な呼び出しはどう進むのか?

「プロジェクト内の TODO コメントをすべて探して」という例で、簡略化した流れは次のとおりです:

  1. ユーザーが Host にタスクを入力(Cursor のチャット欄)
  2. Host が会話を大規模言語モデルに送り、接続済み MCP サーバーの Tools リスト(名前 + 説明)を添付
  3. モデルが search_files ツールの呼び出しを決定し、パラメータ { "pattern": "TODO", "path": "/project" } を生成
  4. MCP Client がリクエストを filesystem MCP Server に送信
  5. Server が grep / 走査を実行し、結果を JSON で返す
  6. モデルが結果に基づき自然言語で回答を組み立てるか、他のツールを続けて呼び出す

転送方式(Transport)

方式 説明 よくあるシーン
stdio ローカルプロセス、標準入出力で通信 Claude Desktop、Cursor のローカル Server
SSE / HTTP リモート HTTP 長接続 チーム共有の MCP ゲートウェイ、クラウドデプロイ

ローカル開発では stdio が最も多い:設定に command + args を書けば、Host が子プロセスを起動するだけです。


7. MCP はどこで使えるのか?

2026 年時点の主要 Host の MCP サポート状況:

Host MCP サポート 設定方法
Cursor ✅ 内蔵 Settings → MCP → サーバーを追加
Claude Desktop ✅ ネイティブ claude_desktop_config.json
VS Code(GitHub Copilot など) ✅ 段階的に充実 拡張機能 / 設定パネル
Windsurf / Zed ✅ または一部 各製品のドキュメント
自社 Agent ✅ SDK 接続 @modelcontextprotocol/sdk

エディタを変える必要はありません——既存ツールに設定を追加するだけで能力を拡張できます。


8. 5 分で始める:Cursor で MCP を有効化

公式 filesystem サーバーを例にします(指定ディレクトリへの読み取り専用アクセス)。操作パスはバージョンで多少異なりますが、核心ステップは同じです。

8.1 前提条件

  • Node.js 18+ がインストール済み
  • AI にアクセスさせるディレクトリを明確に(専用ワークスペースを推奨。ユーザーディレクトリ全体は開放しない

8.2 設定を追加

Cursor → SettingsMCPAdd new global MCP server を開き、次のような設定を入力:

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/Users/you/projects/my-app"
      ]
    }
  }
}

保存後、Cursor を再起動するか MCP 接続を更新。ステータスバー / MCP パネルに filesystem が接続済みと表示されれば OK。

8.3 検証

Agent モードで次を入力:

/Users/you/projects/my-app のルートディレクトリのファイルを一覧し、package.json にどんな scripts があるか教えて。

モデルが手動貼り付けを求めずにディレクトリ一覧を返せば、MCP は動作しています。

よく使うショートカット

  • コマンドパレットを開く: + Shift + P(macOS)
  • Cursor 設定を開く: + ,
Claude Desktop ユーザー:設定ファイルのパス

macOS では設定ファイルは次の場所にあります:

~/Library/Application Support/Claude/claude_desktop_config.json

構造は Cursor と同様で、同じく mcpServers フィールドを使います。変更後は Claude Desktop を完全に終了してから再起動してください。


コミュニティには既に大量の Server があります。シーン別に分類:

カテゴリ 代表 Server できること
ファイルシステム @modelcontextprotocol/server-filesystem 許可ディレクトリ内のファイル読み書き
コードホスティング GitHub MCP、GitLab MCP Issue 検索、PR 閲覧、リポジトリ管理
ナレッジベース Notion、Confluence MCP ページとデータベースの読み書き
データベース PostgreSQL、SQLite MCP 読み取り専用または制限付き SQL の実行
検索 Brave Search、Fetch MCP ウェブ検索、ページ取得
自動化 Puppeteer / Playwright MCP ブラウザ自動化
Apple エコシステム Xcode / simctl ラッパー(コミュニティ) iOS ビルド、シミュレーター制御

完全なリストは MCP 公式リポジトリCursor MCP ディレクトリ で確認できます。インストール前に各 Server の権限説明を必ず読んでください。

選定のヒント

  1. 少なく始める:読み取り専用 Server を 1〜2 個から始め、挙動が期待どおりか確認
  2. 本番と実験を分離:個人ノート PC では緩い設定、チーム環境では専用マシン + ディレクトリホワイトリスト
  3. macOS ツールチェーン(Xcode、シミュレーター)が必要な場合、Server は Mac 上で動かす必要がある——クラウド Mac mini で 24/7 ホスティングを検討できる

10. セキュリティチェックリスト:AI を「スーパー管理者」にしない

MCP は実行力をモデルに渡します。プロンプトインジェクション(悪意あるウェブページ/ドキュメントがモデルを誘導して危険なツールを呼ばせる)は現実的なリスクです。

必須の四項目

  1. 最小権限:filesystem はプロジェクトのサブディレクトリのみ開放、~/etc は禁止
  2. 認証情報の分離:API Token は Server の環境変数に置き、チャットや設定ファイルに書いて Git にコミットしない
  3. 独立アカウント:本番 MCP は専用システムユーザーで実行、sudo なし
  4. 監査ログ:毎回の Tool 呼び出しとパラメータを記録し、事後追跡を可能に

リスク対照

設定 リスクレベル 説明
読み取り専用 + 単一プロジェクトディレクトリ 日常開発に適する
書き込み可能 filesystem + パス制限なし 極めて高い モデルが誘導されてファイル削除の可能性
Shell 実行権限付き Server 極めて高い 隔離 VM / 専用マシンでのみ使用すべき
リモート SSE + 認証なし 極めて高い Token / mTLS を必須に

原則:AI に与える権限は、新人インターンに渡す権限を超えてはいけない。


11. 五つのよくある誤解

  1. 「MCP は大規模言語モデルの一種」 — 誤り。MCP はプロトコルで、GPT や Claude などのモデルとは無関係。
  2. 「MCP を入れるとモデルが強くなる」 — 誤り。MCP は手と目(ツールとデータ)だけを拡張し、推論能力は向上しない。
  3. 「MCP はローカル専用」 — 誤り。stdio はローカル向け、SSE/HTTP はクラウドにデプロイしてチーム共有可能。
  4. 「MCP が LangChain を置き換える」 — 正確ではない。LangChain はオーケストレーションフレームワーク、MCP はツール接続プロトコルで、併用することが多い。
  5. 「すべての Server が公式メンテナンス」 — 誤り。コミュニティ Server の品質はばらつきがある。接続前にソースと権限を確認。

12. 既製を使うべきか、自前で書くべきか?

あなたの状況 推奨
Cursor でプロジェクトファイルを読ませたいだけ 公式 filesystem、5 分で完了
社内 API に接続したい まず Fetch / 薄いラッパー Server を自前構築
プライベート DB + 複雑なビジネスロジック Python/TS SDK で Server を自前実装
チーム複数人で共有、監査が必要 クラウド Mac / Linux に SSE ゲートウェイをデプロイ + 統一認証

自前 Server の最小 Python 例(概念デモ):

# pip install mcp
from mcp.server.fastmcp import FastMCP

mcp = FastMCP("hello")

@mcp.tool()
def greet(name: str) -> str:
    """向指定名字打招呼"""
    return f"Hello, {name}!"

if __name__ == "__main__":
    mcp.run()

実行後、Host の設定で commandpython /path/to/server.py に向ければ OK。


13. 用語集

用語 英語 一言説明
MCP Model Context Protocol AI アプリがツールとデータに接続するオープンプロトコル
Host 使う AI ソフト(Cursor、Claude Desktop)
Server MCP Server Tools/Resources を公開するツールサービス
Tool モデルが呼び出せる関数。副作用があることが多い
Resource 読み取り専用データソース。ファイル、ドキュメント URI など
stdio standard I/O ローカルプロセス通信方式。最も一般的
SSE Server-Sent Events リモート HTTP ストリーミング通信方式

14. 結論:今学ぶ価値はあるか?

ある。 Server を自前実装しなくても、MCP を理解することで次ができるようになります:

  • Cursor / Claude Desktop の拡張能力をより安全に設定する
  • チームと「AI が社内システムにどう接続するか」のアーキテクチャ言語を揃える
  • MCP を使うべき場面と従来 API を使うべき場面を判断する

おすすめの進め方:

  1. 今日:Cursor に filesystem または GitHub Server を1つ追加
  2. 今週:公式 Server のソースを1つ読み、Tool の定義方法を理解する
  3. 必要になったら:MCP サーバー実践デプロイ を読み、Server をクラウドで 24/7 稼働させる

定義を積み上げるより、まず filesystem または GitHub Server を設定し、Agent がツールを実際に呼ぶのを目で確認する方がはるかに有用です。

24/7 でプライベート MCP サーバーを動かす?

クラウド Mac mini M4 専有ベアメタル、常時 SSH——filesystem / Git / Xcode ツールチェーン向け

日単位課金、東京・シンガポール・香港ノード——CI と MCP を同一マシンで、TCO 最適化

関連記事

よくある質問

MCP と REST API の本質的な違いは?

REST は固定メニューで、クライアントは全エンドポイントを事前に知る必要があります。MCP は実行時にサーバーからツール一覧を発見してから呼び出すため、コード変更なしで Agent に新能力を追加できます。

コードを書かずに MCP は使えますか?

はい。Cursor や Claude Desktop で既製 Server(filesystem、GitHub、Notion)を追加し、自然言語でタスクを指示するだけで十分です。独自ツールを自作する場合のみプログラミングが必要です。

MCP は安全ですか?AI が PC のファイルを削除しませんか?

有効化する Server と権限範囲次第です。filesystem は特定フォルダに限定し、本番では専用アカウント・最小権限・監査ログを推奨。本文のセキュリティチェックリストを参照してください。

MCP は ChatGPT プラグインと同じですか?

いいえ。ChatGPT プラグインは OpenAI 専用です。MCP は Agentic AI Foundation に寄贈されたオープンプロトコルで、Cursor・Claude Desktop・VS Code などが利用でき、自ホストも可能です。

MCP を学ぶ前に AI Agent の知識は必要ですか?

不要です。チャットと Cursor 設定ができれば、本記事で filesystem Server を動かせます。Agent オーケストレーションはその次のステップです。

期間限定オファー →