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 | 設定内の filesystem、github など |
実際にディスクを読む、API を呼ぶ、クエリを実行する |
| Client | Host に内蔵、UI 上は通常見えない | MCP プロトコルで Host と Server を接続する |
多くの人が MCP を入れる理由は一つ:AI にチャットウィンドウの外のシステムへアクセスさせる——プロジェクトファイル、チケット、データベース——コピペの繰り返しをやめるためです。以下では、なぜこれをプロトコルでやる価値があるのかを先に説明し、その後アーキテクチャの詳細を分解します。
2. なぜ専用プロトコルにする価値があるのか?
大規模言語モデルは、デフォルトではダイアログに送った内容しか処理できません。実務では次のようなことが必要になることが多いです:
- 手動コピペではなく、プロジェクト内のコードを読ませる
- 社内ドキュメントやチケットシステムを照会する
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 アーキテクチャの中核は三つの役割だけです。初心者が最も混同しやすいのは Host と Client です。分けて説明します。
3.1 Host(ホストアプリケーション)
日常使うソフトウェア:Cursor、Claude Desktop、VS 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 コメントをすべて探して」という例で、簡略化した流れは次のとおりです:
- ユーザーが Host にタスクを入力(Cursor のチャット欄)
- Host が会話を大規模言語モデルに送り、接続済み MCP サーバーの Tools リスト(名前 + 説明)を添付
- モデルが
search_filesツールの呼び出しを決定し、パラメータ{ "pattern": "TODO", "path": "/project" }を生成 - MCP Client がリクエストを filesystem MCP Server に送信
- Server が grep / 走査を実行し、結果を JSON で返す
- モデルが結果に基づき自然言語で回答を組み立てるか、他のツールを続けて呼び出す
転送方式(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 → Settings → MCP → Add 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 を完全に終了してから再起動してください。
9. 人気 MCP サーバー一覧
コミュニティには既に大量の 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 の権限説明を必ず読んでください。
選定のヒント
- 少なく始める:読み取り専用 Server を 1〜2 個から始め、挙動が期待どおりか確認
- 本番と実験を分離:個人ノート PC では緩い設定、チーム環境では専用マシン + ディレクトリホワイトリスト
- macOS ツールチェーン(Xcode、シミュレーター)が必要な場合、Server は Mac 上で動かす必要がある——クラウド Mac mini で 24/7 ホスティングを検討できる
10. セキュリティチェックリスト:AI を「スーパー管理者」にしない
MCP は実行力をモデルに渡します。プロンプトインジェクション(悪意あるウェブページ/ドキュメントがモデルを誘導して危険なツールを呼ばせる)は現実的なリスクです。
必須の四項目
- 最小権限:filesystem はプロジェクトのサブディレクトリのみ開放、
~、/etcは禁止 - 認証情報の分離:API Token は Server の環境変数に置き、チャットや設定ファイルに書いて Git にコミットしない
- 独立アカウント:本番 MCP は専用システムユーザーで実行、
sudoなし - 監査ログ:毎回の Tool 呼び出しとパラメータを記録し、事後追跡を可能に
リスク対照
| 設定 | リスクレベル | 説明 |
|---|---|---|
| 読み取り専用 + 単一プロジェクトディレクトリ | 低 | 日常開発に適する |
| 書き込み可能 filesystem + パス制限なし | 極めて高い | モデルが誘導されてファイル削除の可能性 |
| Shell 実行権限付き Server | 極めて高い | 隔離 VM / 専用マシンでのみ使用すべき |
| リモート SSE + 認証なし | 極めて高い | Token / mTLS を必須に |
原則:AI に与える権限は、新人インターンに渡す権限を超えてはいけない。
11. 五つのよくある誤解
- 「MCP は大規模言語モデルの一種」 — 誤り。MCP はプロトコルで、GPT や Claude などのモデルとは無関係。
- 「MCP を入れるとモデルが強くなる」 — 誤り。MCP は手と目(ツールとデータ)だけを拡張し、推論能力は向上しない。
- 「MCP はローカル専用」 — 誤り。stdio はローカル向け、SSE/HTTP はクラウドにデプロイしてチーム共有可能。
- 「MCP が LangChain を置き換える」 — 正確ではない。LangChain はオーケストレーションフレームワーク、MCP はツール接続プロトコルで、併用することが多い。
- 「すべての 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 の設定で command を python /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 を使うべき場面を判断する
おすすめの進め方:
- 今日:Cursor に filesystem または GitHub Server を1つ追加
- 今週:公式 Server のソースを1つ読み、Tool の定義方法を理解する
- 必要になったら: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 オーケストレーションはその次のステップです。