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