{"title":"O que é MCP?","slug":"what-is-mcp","category":"mcp","summary":"Model Context Protocol permite que LLMs chamem ferramentas externas. O Synapse expõe 79 ferramentas via servidor MCP oficial.","audience":["human","llm"],"tags":["mcp","intro","overview"],"difficulty":"beginner","updated":"2026-06-27","word_count":598,"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":"pt","translated":true,"requested_lang":"pt","content_markdown":"\n# O que é MCP?\n\nO **Model Context Protocol (MCP)** é um padrão aberto da Anthropic (2024) que\npermite aos LLMs chamar ferramentas externas de forma estruturada. Em vez de\ncolar docs de API no prompt, você registra ferramentas com o servidor MCP, e o\nLLM as chama conforme necessário — como function calling, mas padronizado e\nagnóstico de cliente.\n\n## Servidor MCP do Synapse\n\nO Synapse traz um servidor MCP oficial (`synapse-mcp-api` no npm) que expõe\n**79 ferramentas** cobrindo todos os recursos do Synapse:\n\n| Categoria | Ferramentas | Contagem |\n|-----------|-------------|----------|\n| Memória | 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| Agendador | cron_list, cron_create, cron_delete, cron_toggle, var_list, var_get, var_set, var_delete | 8 |\n| Tarefas | task_list, task_get, task_create, task_update | 4 |\n| Scripts | script_list, script_get, script_info, script_store, script_delete | 5 |\n| Computadores | 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| Usuário/Mind | register, login, minds_list, mind_create, mind_delete | 5 |\n| Utilitários | time, calc, random | 3 |\n| Visualização | graph, tags, compact | 3 |\n| Compartilhamento | share, list, revoke | 3 |\n| Webhooks | register, list, get, update, delete | 5 |\n| Navegador | new, navigate, click, type, screenshot, close | 6 |\n| **Total** | | **79+** |\n\n## Como funciona\n\n```\n┌──────────────────┐    MCP protocol    ┌──────────────────┐    HTTP    ┌──────────┐\n│  LLM Client      │ ◀─────────────────▶│  Synapse MCP     │ ─────────▶ │ Synapse  │\n│ (Claude/Cursor)  │   (stdio/SSE/WS)   │  Server          │            │ API      │\n└──────────────────┘                    └──────────────────┘            └──────────┘\n```\n\n1. Você configura seu cliente LLM (Claude Desktop, Cursor, etc.) para usar o servidor MCP do Synapse\n2. O cliente inicia o servidor MCP (via `npx -y synapse-mcp-api@latest`)\n3. O servidor MCP conecta-se à API do Synapse usando sua Mind Key\n4. O LLM vê todas as 79 ferramentas como funções nativas que pode chamar\n5. Quando o LLM precisa lembrar algo, ele chama `memory_store` — o servidor MCP traduz isso para `POST /memory` no Synapse\n\n## Transportes\n\nO servidor MCP do Synapse suporta três transportes:\n\n### stdio (local, recomendado para desktop)\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 (remoto, multi-tenant)\n\nConecte seu cliente MCP a:\n\n```\nURL: https://synapse-mcp.schaefer.zone/sse\nHeaders: Authorization: Bearer YOUR_MIND_KEY\n```\n\n### WebSocket (mobile, alto volume)\n\n```\nURL: wss://synapse-mcp.schaefer.zone/ws?mind_key=YOUR_MIND_KEY\n```\n\n## Tool Profiles (v1.4.0)\n\nPara reduzir o overhead de tokens para LLMs menores, o servidor MCP suporta\ntrês tool profiles:\n\n| Profile | Ferramentas | Tokens | Melhor para |\n|---------|-------------|--------|-------------|\n| `minimal` | 8 (dispatch composto) | ~500 | LLMs auto-hospedados com contexto ≤8k |\n| `standard` | 25 (nomeadas) | ~2.500 | LLMs médios (Claude Haiku, GPT-3.5) |\n| `full` | 119 (todas) | ~8.250 | LLMs grandes (Claude Sonnet/Opus, GPT-4) — padrão |\n\nControle via:\n\n- Env var: `MCP_PROFILE=minimal|standard|full`\n- Cabeçalho: `Mcp-Tool-Profile: minimal|standard|full`\n\n## Clientes suportados\n\n- [Claude Desktop](/docs/mcp/claude-desktop) — app desktop da Anthropic\n- [Claude Code](/docs/mcp/claude-code) — agente de codificação em terminal\n- [Cursor](/docs/mcp/cursor) — IDE com IA\n- [Continue.dev](/docs/mcp/continue) — assistente de codificação IA open-source\n- [Cline](/docs/mcp/claude-code) — extensão do VS Code\n- Qualquer cliente compatível com MCP\n\n## Por que usar MCP em vez de API direta?\n\n| Abordagem | Prós | Contras |\n|-----------|------|---------|\n| API direta | Simples, sem camada extra | LLM precisa saber URLs, headers, auth |\n| MCP | LLM vê ferramentas nativas, sem memorizar URL | Processo extra de servidor MCP |\n\nPara a maioria dos casos de uso de agentes LLM, MCP é a melhor escolha — o LLM\nnão precisa lembrar caminhos de API ou padrões de auth.\n\n## Próximos passos\n\n- [Configuração do Claude Desktop](/docs/mcp/claude-desktop) — config em 2 minutos\n- [Configuração do Claude Code](/docs/mcp/claude-code) — integração com terminal\n- [Cliente MCP customizado](/docs/mcp/custom-client) — construa o seu\n","content_html":"<h1>O que é MCP?</h1>\n<p>O <strong>Model Context Protocol (MCP)</strong> é um padrão aberto da Anthropic (2024) que\npermite aos LLMs chamar ferramentas externas de forma estruturada. Em vez de\ncolar docs de API no prompt, você registra ferramentas com o servidor MCP, e o\nLLM as chama conforme necessário — como function calling, mas padronizado e\nagnóstico de cliente.</p>\n<h2>Servidor MCP do Synapse</h2>\n<p>O Synapse traz um servidor MCP oficial (<code>synapse-mcp-api</code> no npm) que expõe\n<strong>79 ferramentas</strong> cobrindo todos os recursos do Synapse:</p>\n<table>\n<thead>\n<tr>\n<th>Categoria</th>\n<th>Ferramentas</th>\n<th>Contagem</th>\n</tr>\n</thead>\n<tbody><tr>\n<td>Memória</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>Agendador</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>Tarefas</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>Computadores</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>Usuário/Mind</td>\n<td>register, login, minds_list, mind_create, mind_delete</td>\n<td>5</td>\n</tr>\n<tr>\n<td>Utilitários</td>\n<td>time, calc, random</td>\n<td>3</td>\n</tr>\n<tr>\n<td>Visualização</td>\n<td>graph, tags, compact</td>\n<td>3</td>\n</tr>\n<tr>\n<td>Compartilhamento</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>Navegador</td>\n<td>new, navigate, click, type, screenshot, close</td>\n<td>6</td>\n</tr>\n<tr>\n<td><strong>Total</strong></td>\n<td></td>\n<td><strong>79+</strong></td>\n</tr>\n</tbody></table>\n<h2>Como funciona</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>Você configura seu cliente LLM (Claude Desktop, Cursor, etc.) para usar o servidor MCP do Synapse</li>\n<li>O cliente inicia o servidor MCP (via <code>npx -y synapse-mcp-api@latest</code>)</li>\n<li>O servidor MCP conecta-se à API do Synapse usando sua Mind Key</li>\n<li>O LLM vê todas as 79 ferramentas como funções nativas que pode chamar</li>\n<li>Quando o LLM precisa lembrar algo, ele chama <code>memory_store</code> — o servidor MCP traduz isso para <code>POST /memory</code> no Synapse</li>\n</ol>\n<h2>Transportes</h2>\n<p>O servidor MCP do Synapse suporta três transportes:</p>\n<h3>stdio (local, recomendado para desktop)</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 (remoto, multi-tenant)</h3>\n<p>Conecte seu cliente MCP a:</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 (mobile, alto volume)</h3>\n<pre><code class=\"hljs language-plaintext\">URL: wss://synapse-mcp.schaefer.zone/ws?mind_key=YOUR_MIND_KEY</code></pre><h2>Tool Profiles (v1.4.0)</h2>\n<p>Para reduzir o overhead de tokens para LLMs menores, o servidor MCP suporta\ntrês tool profiles:</p>\n<table>\n<thead>\n<tr>\n<th>Profile</th>\n<th>Ferramentas</th>\n<th>Tokens</th>\n<th>Melhor para</th>\n</tr>\n</thead>\n<tbody><tr>\n<td><code>minimal</code></td>\n<td>8 (dispatch composto)</td>\n<td>~500</td>\n<td>LLMs auto-hospedados com contexto ≤8k</td>\n</tr>\n<tr>\n<td><code>standard</code></td>\n<td>25 (nomeadas)</td>\n<td>~2.500</td>\n<td>LLMs médios (Claude Haiku, GPT-3.5)</td>\n</tr>\n<tr>\n<td><code>full</code></td>\n<td>119 (todas)</td>\n<td>~8.250</td>\n<td>LLMs grandes (Claude Sonnet/Opus, GPT-4) — padrão</td>\n</tr>\n</tbody></table>\n<p>Controle via:</p>\n<ul>\n<li>Env var: <code>MCP_PROFILE=minimal|standard|full</code></li>\n<li>Cabeçalho: <code>Mcp-Tool-Profile: minimal|standard|full</code></li>\n</ul>\n<h2>Clientes suportados</h2>\n<ul>\n<li><a href=\"/docs/mcp/claude-desktop\">Claude Desktop</a> — app desktop da Anthropic</li>\n<li><a href=\"/docs/mcp/claude-code\">Claude Code</a> — agente de codificação em terminal</li>\n<li><a href=\"/docs/mcp/cursor\">Cursor</a> — IDE com IA</li>\n<li><a href=\"/docs/mcp/continue\">Continue.dev</a> — assistente de codificação IA open-source</li>\n<li><a href=\"/docs/mcp/claude-code\">Cline</a> — extensão do VS Code</li>\n<li>Qualquer cliente compatível com MCP</li>\n</ul>\n<h2>Por que usar MCP em vez de API direta?</h2>\n<table>\n<thead>\n<tr>\n<th>Abordagem</th>\n<th>Prós</th>\n<th>Contras</th>\n</tr>\n</thead>\n<tbody><tr>\n<td>API direta</td>\n<td>Simples, sem camada extra</td>\n<td>LLM precisa saber URLs, headers, auth</td>\n</tr>\n<tr>\n<td>MCP</td>\n<td>LLM vê ferramentas nativas, sem memorizar URL</td>\n<td>Processo extra de servidor MCP</td>\n</tr>\n</tbody></table>\n<p>Para a maioria dos casos de uso de agentes LLM, MCP é a melhor escolha — o LLM\nnão precisa lembrar caminhos de API ou padrões de auth.</p>\n<h2>Próximos passos</h2>\n<ul>\n<li><a href=\"/docs/mcp/claude-desktop\">Configuração do Claude Desktop</a> — config em 2 minutos</li>\n<li><a href=\"/docs/mcp/claude-code\">Configuração do Claude Code</a> — integração com terminal</li>\n<li><a href=\"/docs/mcp/custom-client\">Cliente MCP customizado</a> — construa o seu</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"]}