{"title":"Cos'è MCP?","slug":"what-is-mcp","category":"mcp","summary":"Il Model Context Protocol permette agli LLM di richiamare strumenti esterni. Synapse espone 79 strumenti tramite il server MCP ufficiale.","audience":["human","llm"],"tags":["mcp","intro","overview"],"difficulty":"beginner","updated":"2026-06-27","word_count":600,"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":"it","translated":true,"requested_lang":"it","content_markdown":"\n# Cos'è MCP?\n\nIl **Model Context Protocol (MCP)** è uno standard aperto creato da Anthropic\n(2024) che consente agli LLM di richiamare strumenti esterni in modo\nstrutturato. Invece di incollare la documentazione dell'API nel prompt, si\nregistrano gli strumenti presso il server MCP e l'LLM li richiama quando\nnecessario — come il function calling, ma standardizzato e indipendente dal\nclient.\n\n## Server MCP di Synapse\n\nSynapse include un server MCP ufficiale (`synapse-mcp-api` su npm) che espone\n**79 strumenti** per tutte le funzionalità di Synapse:\n\n| Categoria | Strumenti | Numero |\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| **Totale** | | **79+** |\n\n## Come funziona\n\n```\n┌──────────────────┐    MCP protocol    ┌──────────────────┐    HTTP    ┌──────────┐\n│  LLM Client      │ ◀─────────────────▶│  Synapse MCP     │ ─────────▶ │ Synapse  │\n│ (Claude/Cursor)  │   (stdio/SSE/WS)   │  Server          │            │ API      │\n└──────────────────┘                    └──────────────────┘            └──────────┘\n```\n\n1. Si configura il client LLM (Claude Desktop, Cursor, ecc.) per utilizzare il server MCP di Synapse\n2. Il client avvia il server MCP (tramite `npx -y synapse-mcp-api@latest`)\n3. Il server MCP si connette all'API di Synapse utilizzando la propria Mind Key\n4. L'LLM vede tutti i 79 strumenti come funzioni native che può richiamare\n5. Quando l'LLM deve ricordare qualcosa, richiama `memory_store` — il server MCP lo traduce in `POST /memory` su Synapse\n\n## Trasporti\n\nIl server MCP di Synapse supporta tre trasporti:\n\n### stdio (locale, consigliato per 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\nColleghi il proprio client 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## Profili degli strumenti (v1.4.0)\n\nPer ridurre il consumo di token per LLM più piccoli, il server MCP supporta\ntre profili di strumenti:\n\n| Profilo | Strumenti | Token | Ideale per |\n|---------|-------|--------|----------|\n| `minimal` | 8 (dispatch composito) | ~500 | LLM self-hosted con contesto ≤8k |\n| `standard` | 25 (nominati) | ~2,500 | LLM di media dimensione (Claude Haiku, GPT-3.5) |\n| `full` | 119 (tutti) | ~8,250 | LLM di grandi dimensioni (Claude Sonnet/Opus, GPT-4) — predefinito |\n\nSi controlla tramite:\n\n- Variabile d'ambiente: `MCP_PROFILE=minimal|standard|full`\n- Header: `Mcp-Tool-Profile: minimal|standard|full`\n\n## Client supportati\n\n- [Claude Desktop](/docs/mcp/claude-desktop) — app desktop di Anthropic\n- [Claude Code](/docs/mcp/claude-code) — agente di coding da terminale\n- [Cursor](/docs/mcp/cursor) — IDE basato sull'AI\n- [Continue.dev](/docs/mcp/continue) — assistente di coding AI open-source\n- [Cline](/docs/mcp/claude-code) — estensione VS Code\n- Qualsiasi client compatibile con MCP\n\n## Perché usare MCP invece dell'API diretta?\n\n| Approccio | Pro | Contro |\n|----------|------|------|\n| API diretta | Semplice, nessuno strato aggiuntivo | L'LLM deve conoscere URL, header, autenticazione |\n| MCP | L'LLM vede strumenti nativi, senza dover ricordare URL | Processo server MCP aggiuntivo |\n\nPer la maggior parte dei casi d'uso con agenti LLM, MCP è la scelta migliore\n— l'LLM non deve ricordare i percorsi dell'API o i modelli di autenticazione.\n\n## Prossimi passi\n\n- [Configurazione di Claude Desktop](/docs/mcp/claude-desktop) — configurazione in 2 minuti\n- [Configurazione di Claude Code](/docs/mcp/claude-code) — integrazione da terminale\n- [Client MCP personalizzato](/docs/mcp/custom-client) — costruirne uno proprio\n","content_html":"<h1>Cos&#39;è MCP?</h1>\n<p>Il <strong>Model Context Protocol (MCP)</strong> è uno standard aperto creato da Anthropic\n(2024) che consente agli LLM di richiamare strumenti esterni in modo\nstrutturato. Invece di incollare la documentazione dell&#39;API nel prompt, si\nregistrano gli strumenti presso il server MCP e l&#39;LLM li richiama quando\nnecessario — come il function calling, ma standardizzato e indipendente dal\nclient.</p>\n<h2>Server MCP di Synapse</h2>\n<p>Synapse include un server MCP ufficiale (<code>synapse-mcp-api</code> su npm) che espone\n<strong>79 strumenti</strong> per tutte le funzionalità di Synapse:</p>\n<table>\n<thead>\n<tr>\n<th>Categoria</th>\n<th>Strumenti</th>\n<th>Numero</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>Totale</strong></td>\n<td></td>\n<td><strong>79+</strong></td>\n</tr>\n</tbody></table>\n<h2>Come funziona</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>Si configura il client LLM (Claude Desktop, Cursor, ecc.) per utilizzare il server MCP di Synapse</li>\n<li>Il client avvia il server MCP (tramite <code>npx -y synapse-mcp-api@latest</code>)</li>\n<li>Il server MCP si connette all&#39;API di Synapse utilizzando la propria Mind Key</li>\n<li>L&#39;LLM vede tutti i 79 strumenti come funzioni native che può richiamare</li>\n<li>Quando l&#39;LLM deve ricordare qualcosa, richiama <code>memory_store</code> — il server MCP lo traduce in <code>POST /memory</code> su Synapse</li>\n</ol>\n<h2>Trasporti</h2>\n<p>Il server MCP di Synapse supporta tre trasporti:</p>\n<h3>stdio (locale, consigliato per 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>Colleghi il proprio client 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>Profili degli strumenti (v1.4.0)</h2>\n<p>Per ridurre il consumo di token per LLM più piccoli, il server MCP supporta\ntre profili di strumenti:</p>\n<table>\n<thead>\n<tr>\n<th>Profilo</th>\n<th>Strumenti</th>\n<th>Token</th>\n<th>Ideale per</th>\n</tr>\n</thead>\n<tbody><tr>\n<td><code>minimal</code></td>\n<td>8 (dispatch composito)</td>\n<td>~500</td>\n<td>LLM self-hosted con contesto ≤8k</td>\n</tr>\n<tr>\n<td><code>standard</code></td>\n<td>25 (nominati)</td>\n<td>~2,500</td>\n<td>LLM di media dimensione (Claude Haiku, GPT-3.5)</td>\n</tr>\n<tr>\n<td><code>full</code></td>\n<td>119 (tutti)</td>\n<td>~8,250</td>\n<td>LLM di grandi dimensioni (Claude Sonnet/Opus, GPT-4) — predefinito</td>\n</tr>\n</tbody></table>\n<p>Si controlla tramite:</p>\n<ul>\n<li>Variabile d&#39;ambiente: <code>MCP_PROFILE=minimal|standard|full</code></li>\n<li>Header: <code>Mcp-Tool-Profile: minimal|standard|full</code></li>\n</ul>\n<h2>Client supportati</h2>\n<ul>\n<li><a href=\"/docs/mcp/claude-desktop\">Claude Desktop</a> — app desktop di Anthropic</li>\n<li><a href=\"/docs/mcp/claude-code\">Claude Code</a> — agente di coding da terminale</li>\n<li><a href=\"/docs/mcp/cursor\">Cursor</a> — IDE basato sull&#39;AI</li>\n<li><a href=\"/docs/mcp/continue\">Continue.dev</a> — assistente di coding AI open-source</li>\n<li><a href=\"/docs/mcp/claude-code\">Cline</a> — estensione VS Code</li>\n<li>Qualsiasi client compatibile con MCP</li>\n</ul>\n<h2>Perché usare MCP invece dell&#39;API diretta?</h2>\n<table>\n<thead>\n<tr>\n<th>Approccio</th>\n<th>Pro</th>\n<th>Contro</th>\n</tr>\n</thead>\n<tbody><tr>\n<td>API diretta</td>\n<td>Semplice, nessuno strato aggiuntivo</td>\n<td>L&#39;LLM deve conoscere URL, header, autenticazione</td>\n</tr>\n<tr>\n<td>MCP</td>\n<td>L&#39;LLM vede strumenti nativi, senza dover ricordare URL</td>\n<td>Processo server MCP aggiuntivo</td>\n</tr>\n</tbody></table>\n<p>Per la maggior parte dei casi d&#39;uso con agenti LLM, MCP è la scelta migliore\n— l&#39;LLM non deve ricordare i percorsi dell&#39;API o i modelli di autenticazione.</p>\n<h2>Prossimi passi</h2>\n<ul>\n<li><a href=\"/docs/mcp/claude-desktop\">Configurazione di Claude Desktop</a> — configurazione in 2 minuti</li>\n<li><a href=\"/docs/mcp/claude-code\">Configurazione di Claude Code</a> — integrazione da terminale</li>\n<li><a href=\"/docs/mcp/custom-client\">Client MCP personalizzato</a> — costruirne uno proprio</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"]}