# MCP とは? **Model Context Protocol(MCP)** は Anthropic(2024)によるオープン標準で、LLM が構造化された方法で外部ツールを呼び出せるようにします。プロンプトに API ドキュメントを貼り付ける代わりに、MCP サーバーにツールを登録し、LLM が必要に応じて呼び出します — 関数呼び出しのようなものですが、標準化されクライアント非依存です。 ## Synapse MCP サーバー Synapse は公式 MCP サーバー(npm の `synapse-mcp-api`)を同梱し、Synapse のすべての機能をカバーする **79 ツール** を公開します: | カテゴリ | ツール | 数 | |----------|-------|-------| | 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 | | Chat | poll, reply, status, history, unread, send, upload | 7 | | Scheduler | cron_list, cron_create, cron_delete, cron_toggle, var_list, var_get, var_set, var_delete | 8 | | Tasks | task_list, task_get, task_create, task_update | 4 | | Scripts | script_list, script_get, script_info, script_store, script_delete | 5 | | Computers | computer_list, computer_get, install_code, screenshot, command_queue, command_status, commands_list, disable, delete | 9 | | Push | vapid_public_key, subscribe, unsubscribe, test | 4 | | User/Mind | register, login, minds_list, mind_create, mind_delete | 5 | | Utility | time, calc, random | 3 | | Visualization | graph, tags, compact | 3 | | Sharing | share, list, revoke | 3 | | Webhooks | register, list, get, update, delete | 5 | | Browser | new, navigate, click, type, screenshot, close | 6 | | **合計** | | **79+** | ## 仕組み ``` ┌──────────────────┐ MCP protocol ┌──────────────────┐ HTTP ┌──────────┐ │ LLM Client │ ◀─────────────────▶│ Synapse MCP │ ─────────▶ │ Synapse │ │ (Claude/Cursor) │ (stdio/SSE/WS) │ Server │ │ API │ └──────────────────┘ └──────────────────┘ └──────────┘ ``` 1. LLM クライアント(Claude Desktop、Cursor など)を設定して Synapse MCP サーバーを使用します 2. クライアントが MCP サーバーを起動します(`npx -y synapse-mcp-api@latest` 経由) 3. MCP サーバーは Mind Key を使用して Synapse API に接続します 4. LLM は 79 個すべてのツールを呼び出し可能なネイティブ関数として見ます 5. LLM が何かを記憶する必要があるとき、`memory_store` を呼び出します — MCP サーバーはこれを Synapse の `POST /memory` に変換します ## トランスポート Synapse MCP サーバーは 3 つのトランスポートをサポートします: ### stdio(ローカル、デスクトップに推奨) ```json { "mcpServers": { "synapse": { "command": "npx", "args": ["-y", "synapse-mcp-api@latest"], "env": { "SYNAPSE_MIND_KEY": "mk_...", "SYNAPSE_URL": "https://synapse.schaefer.zone" } } } } ``` ### HTTP/SSE(リモート、マルチテナント) MCP クライアントを次に接続: ``` URL: https://synapse-mcp.schaefer.zone/sse Headers: Authorization: Bearer YOUR_MIND_KEY ``` ### WebSocket(モバイル、高頻度) ``` URL: wss://synapse-mcp.schaefer.zone/ws?mind_key=YOUR_MIND_KEY ``` ## ツールプロファイル(v1.4.0) より小さい LLM のトークンオーバーヘッドを減らすため、MCP サーバーは 3 つのツールプロファイルをサポートします: | プロファイル | ツール | トークン | 最適な用途 | |---------|-------|--------|----------| | `minimal` | 8(コンポジットディスパッチ) | ~500 | ≤8k コンテキストのセルフホスト LLM | | `standard` | 25(名前付き) | ~2,500 | 中規模 LLM(Claude Haiku、GPT-3.5) | | `full` | 119(すべて) | ~8,250 | 大規模 LLM(Claude Sonnet/Opus、GPT-4) — デフォルト | 制御方法: - 環境変数:`MCP_PROFILE=minimal|standard|full` - ヘッダー:`Mcp-Tool-Profile: minimal|standard|full` ## サポートされるクライアント - [Claude Desktop](/docs/mcp/claude-desktop) — Anthropic のデスクトップアプリ - [Claude Code](/docs/mcp/claude-code) — ターミナルコーディングエージェント - [Cursor](/docs/mcp/cursor) — AI 駆動 IDE - [Continue.dev](/docs/mcp/continue) — オープンソース AI コーディングアシスタント - [Cline](/docs/mcp/claude-code) — VS Code 拡張機能 - MCP 互換の任意のクライアント ## 直接 API ではなく MCP を使う理由は? | アプローチ | 長所 | 短所 | |----------|------|------| | 直接 API | シンプル、追加レイヤーなし | LLM が URL、ヘッダー、認証を知る必要 | | MCP | LLM はネイティブツールを認識、URL 暗記不要 | 追加の MCP サーバープロセス | ほとんどの LLM エージェントユースケースでは、MCP がより良い選択肢です — LLM は API パスや認証パターンを記憶する必要がありません。 ## 次のステップ - [Claude Desktop Setup](/docs/mcp/claude-desktop) — 2 分で設定 - [Claude Code Setup](/docs/mcp/claude-code) — ターミナル連携 - [Custom MCP Client](/docs/mcp/custom-client) — 独自に構築