{"title":"MCP とは？","slug":"what-is-mcp","category":"mcp","summary":"Model Context Protocol は LLM が外部ツールを呼び出すことを可能にします。Synapse は公式 MCP サーバーで 79 ツールを公開。","audience":["human","llm"],"tags":["mcp","intro","overview"],"difficulty":"beginner","updated":"2026-06-27","word_count":410,"read_minutes":2,"llm_context":"MCP = Model Context Protocol (Anthropic, 2024). Open standard for LLM-tool integration.\nSynapse has official MCP server: synapse-mcp-api (npm package, npx -y synapse-mcp-api@latest)\n79 tools exposed: 22 memory, 7 chat, 8 scheduler, 4 tasks, 5 scripts, 9 computers, 4 push, 5 user, 3 utility\n3 transports: stdio (local), HTTP/SSE (remote), WebSocket (mobile)\nSupported clients: Claude Desktop, Claude Code, Cursor, Continue, Cline, any MCP-compatible client\nTool Profiles (v1.4.0): minimal (8 tools), standard (25), full (119) — controlled via MCP_PROFILE env or Mcp-Tool-Profile header\n","lang":"ja","translated":true,"requested_lang":"ja","content_markdown":"\n# MCP とは？\n\n**Model Context Protocol（MCP）** は Anthropic（2024）によるオープン標準で、LLM が構造化された方法で外部ツールを呼び出せるようにします。プロンプトに API ドキュメントを貼り付ける代わりに、MCP サーバーにツールを登録し、LLM が必要に応じて呼び出します — 関数呼び出しのようなものですが、標準化されクライアント非依存です。\n\n## Synapse MCP サーバー\n\nSynapse は公式 MCP サーバー（npm の `synapse-mcp-api`）を同梱し、Synapse のすべての機能をカバーする **79 ツール** を公開します：\n\n| カテゴリ | ツール | 数 |\n|----------|-------|-------|\n| Memory | recall, list, store, search, semantic-search, update, delete, bulk-delete, stats, unverified, contradictions, audit, related, by-tag, diff, expiring, health, sync, embed-batch, verify, unverify, mind-export | 22 |\n| Chat | poll, reply, status, history, unread, send, upload | 7 |\n| Scheduler | cron_list, cron_create, cron_delete, cron_toggle, var_list, var_get, var_set, var_delete | 8 |\n| Tasks | task_list, task_get, task_create, task_update | 4 |\n| Scripts | script_list, script_get, script_info, script_store, script_delete | 5 |\n| Computers | computer_list, computer_get, install_code, screenshot, command_queue, command_status, commands_list, disable, delete | 9 |\n| Push | vapid_public_key, subscribe, unsubscribe, test | 4 |\n| User/Mind | register, login, minds_list, mind_create, mind_delete | 5 |\n| Utility | time, calc, random | 3 |\n| Visualization | graph, tags, compact | 3 |\n| Sharing | share, list, revoke | 3 |\n| Webhooks | register, list, get, update, delete | 5 |\n| Browser | new, navigate, click, type, screenshot, close | 6 |\n| **合計** | | **79+** |\n\n## 仕組み\n\n```\n┌──────────────────┐    MCP protocol    ┌──────────────────┐    HTTP    ┌──────────┐\n│  LLM Client      │ ◀─────────────────▶│  Synapse MCP     │ ─────────▶ │ Synapse  │\n│ (Claude/Cursor)  │   (stdio/SSE/WS)   │  Server          │            │ API      │\n└──────────────────┘                    └──────────────────┘            └──────────┘\n```\n\n1. LLM クライアント（Claude Desktop、Cursor など）を設定して Synapse MCP サーバーを使用します\n2. クライアントが MCP サーバーを起動します（`npx -y synapse-mcp-api@latest` 経由）\n3. MCP サーバーは Mind Key を使用して Synapse API に接続します\n4. LLM は 79 個すべてのツールを呼び出し可能なネイティブ関数として見ます\n5. LLM が何かを記憶する必要があるとき、`memory_store` を呼び出します — MCP サーバーはこれを Synapse の `POST /memory` に変換します\n\n## トランスポート\n\nSynapse MCP サーバーは 3 つのトランスポートをサポートします：\n\n### stdio（ローカル、デスクトップに推奨）\n\n```json\n{\n  \"mcpServers\": {\n    \"synapse\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"synapse-mcp-api@latest\"],\n      \"env\": {\n        \"SYNAPSE_MIND_KEY\": \"mk_...\",\n        \"SYNAPSE_URL\": \"https://synapse.schaefer.zone\"\n      }\n    }\n  }\n}\n```\n\n### HTTP/SSE（リモート、マルチテナント）\n\nMCP クライアントを次に接続：\n\n```\nURL: https://synapse-mcp.schaefer.zone/sse\nHeaders: Authorization: Bearer YOUR_MIND_KEY\n```\n\n### WebSocket（モバイル、高頻度）\n\n```\nURL: wss://synapse-mcp.schaefer.zone/ws?mind_key=YOUR_MIND_KEY\n```\n\n## ツールプロファイル（v1.4.0）\n\nより小さい LLM のトークンオーバーヘッドを減らすため、MCP サーバーは 3 つのツールプロファイルをサポートします：\n\n| プロファイル | ツール | トークン | 最適な用途 |\n|---------|-------|--------|----------|\n| `minimal` | 8（コンポジットディスパッチ） | ~500 | ≤8k コンテキストのセルフホスト LLM |\n| `standard` | 25（名前付き） | ~2,500 | 中規模 LLM（Claude Haiku、GPT-3.5） |\n| `full` | 119（すべて） | ~8,250 | 大規模 LLM（Claude Sonnet/Opus、GPT-4） — デフォルト |\n\n制御方法：\n\n- 環境変数：`MCP_PROFILE=minimal|standard|full`\n- ヘッダー：`Mcp-Tool-Profile: minimal|standard|full`\n\n## サポートされるクライアント\n\n- [Claude Desktop](/docs/mcp/claude-desktop) — Anthropic のデスクトップアプリ\n- [Claude Code](/docs/mcp/claude-code) — ターミナルコーディングエージェント\n- [Cursor](/docs/mcp/cursor) — AI 駆動 IDE\n- [Continue.dev](/docs/mcp/continue) — オープンソース AI コーディングアシスタント\n- [Cline](/docs/mcp/claude-code) — VS Code 拡張機能\n- MCP 互換の任意のクライアント\n\n## 直接 API ではなく MCP を使う理由は？\n\n| アプローチ | 長所 | 短所 |\n|----------|------|------|\n| 直接 API | シンプル、追加レイヤーなし | LLM が URL、ヘッダー、認証を知る必要 |\n| MCP | LLM はネイティブツールを認識、URL 暗記不要 | 追加の MCP サーバープロセス |\n\nほとんどの LLM エージェントユースケースでは、MCP がより良い選択肢です — LLM は API パスや認証パターンを記憶する必要がありません。\n\n## 次のステップ\n\n- [Claude Desktop Setup](/docs/mcp/claude-desktop) — 2 分で設定\n- [Claude Code Setup](/docs/mcp/claude-code) — ターミナル連携\n- [Custom MCP Client](/docs/mcp/custom-client) — 独自に構築\n","content_html":"<h1>MCP とは？</h1>\n<p><strong>Model Context Protocol（MCP）</strong> は Anthropic（2024）によるオープン標準で、LLM が構造化された方法で外部ツールを呼び出せるようにします。プロンプトに API ドキュメントを貼り付ける代わりに、MCP サーバーにツールを登録し、LLM が必要に応じて呼び出します — 関数呼び出しのようなものですが、標準化されクライアント非依存です。</p>\n<h2>Synapse MCP サーバー</h2>\n<p>Synapse は公式 MCP サーバー（npm の <code>synapse-mcp-api</code>）を同梱し、Synapse のすべての機能をカバーする <strong>79 ツール</strong> を公開します：</p>\n<table>\n<thead>\n<tr>\n<th>カテゴリ</th>\n<th>ツール</th>\n<th>数</th>\n</tr>\n</thead>\n<tbody><tr>\n<td>Memory</td>\n<td>recall, list, store, search, semantic-search, update, delete, bulk-delete, stats, unverified, contradictions, audit, related, by-tag, diff, expiring, health, sync, embed-batch, verify, unverify, mind-export</td>\n<td>22</td>\n</tr>\n<tr>\n<td>Chat</td>\n<td>poll, reply, status, history, unread, send, upload</td>\n<td>7</td>\n</tr>\n<tr>\n<td>Scheduler</td>\n<td>cron_list, cron_create, cron_delete, cron_toggle, var_list, var_get, var_set, var_delete</td>\n<td>8</td>\n</tr>\n<tr>\n<td>Tasks</td>\n<td>task_list, task_get, task_create, task_update</td>\n<td>4</td>\n</tr>\n<tr>\n<td>Scripts</td>\n<td>script_list, script_get, script_info, script_store, script_delete</td>\n<td>5</td>\n</tr>\n<tr>\n<td>Computers</td>\n<td>computer_list, computer_get, install_code, screenshot, command_queue, command_status, commands_list, disable, delete</td>\n<td>9</td>\n</tr>\n<tr>\n<td>Push</td>\n<td>vapid_public_key, subscribe, unsubscribe, test</td>\n<td>4</td>\n</tr>\n<tr>\n<td>User/Mind</td>\n<td>register, login, minds_list, mind_create, mind_delete</td>\n<td>5</td>\n</tr>\n<tr>\n<td>Utility</td>\n<td>time, calc, random</td>\n<td>3</td>\n</tr>\n<tr>\n<td>Visualization</td>\n<td>graph, tags, compact</td>\n<td>3</td>\n</tr>\n<tr>\n<td>Sharing</td>\n<td>share, list, revoke</td>\n<td>3</td>\n</tr>\n<tr>\n<td>Webhooks</td>\n<td>register, list, get, update, delete</td>\n<td>5</td>\n</tr>\n<tr>\n<td>Browser</td>\n<td>new, navigate, click, type, screenshot, close</td>\n<td>6</td>\n</tr>\n<tr>\n<td><strong>合計</strong></td>\n<td></td>\n<td><strong>79+</strong></td>\n</tr>\n</tbody></table>\n<h2>仕組み</h2>\n<pre><code class=\"hljs language-plaintext\">┌──────────────────┐    MCP protocol    ┌──────────────────┐    HTTP    ┌──────────┐\n│  LLM Client      │ ◀─────────────────▶│  Synapse MCP     │ ─────────▶ │ Synapse  │\n│ (Claude/Cursor)  │   (stdio/SSE/WS)   │  Server          │            │ API      │\n└──────────────────┘                    └──────────────────┘            └──────────┘</code></pre><ol>\n<li>LLM クライアント（Claude Desktop、Cursor など）を設定して Synapse MCP サーバーを使用します</li>\n<li>クライアントが MCP サーバーを起動します（<code>npx -y synapse-mcp-api@latest</code> 経由）</li>\n<li>MCP サーバーは Mind Key を使用して Synapse API に接続します</li>\n<li>LLM は 79 個すべてのツールを呼び出し可能なネイティブ関数として見ます</li>\n<li>LLM が何かを記憶する必要があるとき、<code>memory_store</code> を呼び出します — MCP サーバーはこれを Synapse の <code>POST /memory</code> に変換します</li>\n</ol>\n<h2>トランスポート</h2>\n<p>Synapse MCP サーバーは 3 つのトランスポートをサポートします：</p>\n<h3>stdio（ローカル、デスクトップに推奨）</h3>\n<pre><code class=\"hljs language-json\"><span class=\"hljs-punctuation\">{</span>\n  <span class=\"hljs-attr\">&quot;mcpServers&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-punctuation\">{</span>\n    <span class=\"hljs-attr\">&quot;synapse&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-punctuation\">{</span>\n      <span class=\"hljs-attr\">&quot;command&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;npx&quot;</span><span class=\"hljs-punctuation\">,</span>\n      <span class=\"hljs-attr\">&quot;args&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-punctuation\">[</span><span class=\"hljs-string\">&quot;-y&quot;</span><span class=\"hljs-punctuation\">,</span> <span class=\"hljs-string\">&quot;synapse-mcp-api@latest&quot;</span><span class=\"hljs-punctuation\">]</span><span class=\"hljs-punctuation\">,</span>\n      <span class=\"hljs-attr\">&quot;env&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-punctuation\">{</span>\n        <span class=\"hljs-attr\">&quot;SYNAPSE_MIND_KEY&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;mk_...&quot;</span><span class=\"hljs-punctuation\">,</span>\n        <span class=\"hljs-attr\">&quot;SYNAPSE_URL&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;https://synapse.schaefer.zone&quot;</span>\n      <span class=\"hljs-punctuation\">}</span>\n    <span class=\"hljs-punctuation\">}</span>\n  <span class=\"hljs-punctuation\">}</span>\n<span class=\"hljs-punctuation\">}</span></code></pre><h3>HTTP/SSE（リモート、マルチテナント）</h3>\n<p>MCP クライアントを次に接続：</p>\n<pre><code class=\"hljs language-plaintext\">URL: https://synapse-mcp.schaefer.zone/sse\nHeaders: Authorization: Bearer YOUR_MIND_KEY</code></pre><h3>WebSocket（モバイル、高頻度）</h3>\n<pre><code class=\"hljs language-plaintext\">URL: wss://synapse-mcp.schaefer.zone/ws?mind_key=YOUR_MIND_KEY</code></pre><h2>ツールプロファイル（v1.4.0）</h2>\n<p>より小さい LLM のトークンオーバーヘッドを減らすため、MCP サーバーは 3 つのツールプロファイルをサポートします：</p>\n<table>\n<thead>\n<tr>\n<th>プロファイル</th>\n<th>ツール</th>\n<th>トークン</th>\n<th>最適な用途</th>\n</tr>\n</thead>\n<tbody><tr>\n<td><code>minimal</code></td>\n<td>8（コンポジットディスパッチ）</td>\n<td>~500</td>\n<td>≤8k コンテキストのセルフホスト LLM</td>\n</tr>\n<tr>\n<td><code>standard</code></td>\n<td>25（名前付き）</td>\n<td>~2,500</td>\n<td>中規模 LLM（Claude Haiku、GPT-3.5）</td>\n</tr>\n<tr>\n<td><code>full</code></td>\n<td>119（すべて）</td>\n<td>~8,250</td>\n<td>大規模 LLM（Claude Sonnet/Opus、GPT-4） — デフォルト</td>\n</tr>\n</tbody></table>\n<p>制御方法：</p>\n<ul>\n<li>環境変数：<code>MCP_PROFILE=minimal|standard|full</code></li>\n<li>ヘッダー：<code>Mcp-Tool-Profile: minimal|standard|full</code></li>\n</ul>\n<h2>サポートされるクライアント</h2>\n<ul>\n<li><a href=\"/docs/mcp/claude-desktop\">Claude Desktop</a> — Anthropic のデスクトップアプリ</li>\n<li><a href=\"/docs/mcp/claude-code\">Claude Code</a> — ターミナルコーディングエージェント</li>\n<li><a href=\"/docs/mcp/cursor\">Cursor</a> — AI 駆動 IDE</li>\n<li><a href=\"/docs/mcp/continue\">Continue.dev</a> — オープンソース AI コーディングアシスタント</li>\n<li><a href=\"/docs/mcp/claude-code\">Cline</a> — VS Code 拡張機能</li>\n<li>MCP 互換の任意のクライアント</li>\n</ul>\n<h2>直接 API ではなく MCP を使う理由は？</h2>\n<table>\n<thead>\n<tr>\n<th>アプローチ</th>\n<th>長所</th>\n<th>短所</th>\n</tr>\n</thead>\n<tbody><tr>\n<td>直接 API</td>\n<td>シンプル、追加レイヤーなし</td>\n<td>LLM が URL、ヘッダー、認証を知る必要</td>\n</tr>\n<tr>\n<td>MCP</td>\n<td>LLM はネイティブツールを認識、URL 暗記不要</td>\n<td>追加の MCP サーバープロセス</td>\n</tr>\n</tbody></table>\n<p>ほとんどの LLM エージェントユースケースでは、MCP がより良い選択肢です — LLM は API パスや認証パターンを記憶する必要がありません。</p>\n<h2>次のステップ</h2>\n<ul>\n<li><a href=\"/docs/mcp/claude-desktop\">Claude Desktop Setup</a> — 2 分で設定</li>\n<li><a href=\"/docs/mcp/claude-code\">Claude Code Setup</a> — ターミナル連携</li>\n<li><a href=\"/docs/mcp/custom-client\">Custom MCP Client</a> — 独自に構築</li>\n</ul>\n","urls":{"html":"/docs/mcp/what-is-mcp","text":"/docs/mcp/what-is-mcp?format=text","json":"/docs/mcp/what-is-mcp?format=json","llm":"/docs/mcp/what-is-mcp?format=llm"},"translations_available":["en","zh","hi","es","fr","ar","pt","ru","ja","de","it","ko","nl","pl","tr","sv","vi","th","id","uk"]}