{"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":528,"read_minutes":3,"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":"ko","translated":true,"requested_lang":"ko","content_markdown":"\n# MCP란 무엇입니까?\n\n**Model Context Protocol (MCP)**은 LLM이 구조화된 방식으로 외부 도구를\n호출할 수 있게 하는 Anthropic (2024)의 개방 표준입니다. API 문서를\n프롬프트에 붙여넣는 대신, MCP 서버에 도구를 등록하고 LLM이 필요할 때\n호출합니다 — function calling과 같지만, 표준화되고 클라이언트에 독립적입니다.\n\n## Synapse MCP 서버\n\nSynapse는 모든 Synapse 기능을 다루는 **79개 도구**를 노출하는 공식 MCP\n서버 (`synapse-mcp-api` on npm)를 제공합니다:\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 서버는 세 가지 전송을 지원합니다:\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 서버는 세 가지 도구\n프로필을 지원합니다:\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## MCP 대신 직접 API를 사용하는 이유?\n\n| 접근 방식 | 장점 | 단점 |\n|----------|------|------|\n| 직접 API | 단순, 추가 계층 없음 | LLM이 URL, 헤더, 인증을 알아야 함 |\n| MCP | LLM이 네이티브 도구를 봄, URL 암기 불필요 | 추가 MCP 서버 프로세스 |\n\n대부분의 LLM 에이전트 사용 사례에서 MCP가 더 나은 선택입니다 — LLM이\nAPI 경로나 인증 패턴을 기억할 필요가 없습니다.\n\n## 다음 단계\n\n- [Claude Desktop 설정](/docs/mcp/claude-desktop) — 2분 구성\n- [Claude Code 설정](/docs/mcp/claude-code) — 터미널 통합\n- [커스텀 MCP 클라이언트](/docs/mcp/custom-client) — 자체 구축\n","content_html":"<h1>MCP란 무엇입니까?</h1>\n<p>**Model Context Protocol (MCP)**은 LLM이 구조화된 방식으로 외부 도구를\n호출할 수 있게 하는 Anthropic (2024)의 개방 표준입니다. API 문서를\n프롬프트에 붙여넣는 대신, MCP 서버에 도구를 등록하고 LLM이 필요할 때\n호출합니다 — function calling과 같지만, 표준화되고 클라이언트에 독립적입니다.</p>\n<h2>Synapse MCP 서버</h2>\n<p>Synapse는 모든 Synapse 기능을 다루는 <strong>79개 도구</strong>를 노출하는 공식 MCP\n서버 (<code>synapse-mcp-api</code> on npm)를 제공합니다:</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 서버는 세 가지 전송을 지원합니다:</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 서버는 세 가지 도구\n프로필을 지원합니다:</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>MCP 대신 직접 API를 사용하는 이유?</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이\nAPI 경로나 인증 패턴을 기억할 필요가 없습니다.</p>\n<h2>다음 단계</h2>\n<ul>\n<li><a href=\"/docs/mcp/claude-desktop\">Claude Desktop 설정</a> — 2분 구성</li>\n<li><a href=\"/docs/mcp/claude-code\">Claude Code 설정</a> — 터미널 통합</li>\n<li><a href=\"/docs/mcp/custom-client\">커스텀 MCP 클라이언트</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"]}