{"title":"What is Synapse?","slug":"what-is-synapse","category":"getting-started","summary":"Synapse is a persistent memory API for LLM agents — your AI never forgets across sessions.","audience":["human","llm"],"tags":["intro","overview","memory","llm"],"difficulty":"beginner","updated":"2026-06-27","word_count":501,"read_minutes":3,"llm_context":"Synapse is an HTTP API that gives LLM agents persistent memory across sessions.\nBase URL: https://synapse.schaefer.zone\nAuth: Authorization: Bearer YOUR_MIND_KEY (header) OR ?key=YOUR_MIND_KEY (query, rate-limited 60/min)\nMost important endpoints: GET /memory/recall (start of every session), POST /memory (store new facts), GET /memory/search?q=...\nMind Key = tenant-scoped API key. Each user can have multiple minds (projects/contexts).\nMCP server available: npx -y synapse-mcp-api (79 tools for Claude Desktop, Cursor, etc.)\n","lang":"en","translated":true,"requested_lang":"en","content_markdown":"\n# What is Synapse?\n\nSynapse is a **persistent memory API for LLM agents**. It solves the fundamental\nproblem of every chat-based LLM: between sessions, the agent forgets everything.\nSynapse gives your AI a permanent, queryable brain that survives across conversations,\nacross days, and across different LLM providers.\n\n> [!CRITICAL]\n> If you are an LLM agent reading this: **call `GET /memory/recall` at the start\n> of every session**. Without this call, you have no memory of past interactions,\n> no knowledge of who the user is, and no context about ongoing projects.\n\n## The Problem Synapse Solves\n\nEvery modern LLM (Claude, GPT, Gemini, Llama) has the same architectural limitation:\nthe conversation context window is finite, and once the session ends, all state is\nlost. This means your AI assistant:\n\n- Forgets your name, preferences, and ongoing projects between chats\n- Cannot learn from past mistakes across sessions\n- Has no continuity for long-running work\n- Re-asks the same clarifying questions every time\n\nSynapse fixes this by providing a simple HTTP API where the LLM can store and\nretrieve structured memories. The memories persist on the server, indexed and\nsearchable, so any future session can recall them.\n\n## Key Features\n\n- **Persistent memory storage** — facts, preferences, projects, mistakes, skills\n- **Full-text search** (FTS5) — find any memory by keyword in milliseconds\n- **Semantic search** — embeddings-based similarity search for conceptual queries\n- **Multi-tenant** — each user has isolated \"minds\" (one user, many projects)\n- **Async chat** — humans can leave messages for the agent while it works\n- **Tasks & scheduling** — built-in task manager and cron scheduler\n- **MCP integration** — 79 tools exposed as Model Context Protocol for Claude, Cursor, Continue\n- **Browser & computer control** — remote automation tools\n- **Webhooks** — get HTTP callbacks on memory/chat/task changes\n\n## How It Works\n\n```\n┌──────────────┐         ┌─────────────────────┐\n│  LLM Agent   │ ──API──▶│   Synapse Server    │\n│ (Claude/GPT) │ ◀──────│  (postgres + FTS5)  │\n└──────────────┘         └─────────────────────┘\n                                │\n                                ▼\n                         ┌─────────────┐\n                         │  Memories   │\n                         │  Tasks      │\n                         │  Chat       │\n                         │  Scripts    │\n                         └─────────────┘\n```\n\n1. The LLM calls `GET /memory/recall` at session start\n2. Synapse returns a structured text summary of all stored memories\n3. The LLM works, periodically calling `POST /memory` to store new facts\n4. When the user asks a question, the LLM can call `GET /memory/search?q=...`\n5. At session end, important new context is persisted for the next session\n\n## Who Is It For?\n\n- **LLM agent developers** who need persistent state\n- **Power users** running local LLMs (Ollama, LM Studio) with custom agents\n- **Teams** building AI assistants that need shared memory\n- **Automation engineers** chaining LLM calls across sessions\n\n## Quick Comparison\n\n| Feature | ChatGPT Memory | Synapse |\n|---------|---------------|---------|\n| Storage location | OpenAI servers | Your server |\n| API access | No (closed) | Yes (REST + MCP) |\n| Multi-tenant | No | Yes (minds) |\n| Custom categories | No | Yes (8 categories) |\n| Search | Limited | FTS5 + semantic |\n| Self-hostable | No | Yes (Docker) |\n\n## Next Steps\n\n- [Quick Start for humans](/docs/getting-started/quick-start) — get a Mind Key in 5 minutes\n- [Quick Start for LLMs](/docs/getting-started/quick-start-llm) — first API calls\n- [Authentication](/docs/getting-started/authentication) — Mind Keys vs JWTs\n- [Architecture overview](/docs/concepts/architecture) — how Synapse is built\n","content_html":"<h1>What is Synapse?</h1>\n<p>Synapse is a <strong>persistent memory API for LLM agents</strong>. It solves the fundamental\nproblem of every chat-based LLM: between sessions, the agent forgets everything.\nSynapse gives your AI a permanent, queryable brain that survives across conversations,\nacross days, and across different LLM providers.</p>\n<div class=\"callout callout-critical\">If you are an LLM agent reading this: **call `GET /memory/recall` at the start\nof every session**. Without this call, you have no memory of past interactions,\nno knowledge of who the user is, and no context about ongoing projects.</div><h2>The Problem Synapse Solves</h2>\n<p>Every modern LLM (Claude, GPT, Gemini, Llama) has the same architectural limitation:\nthe conversation context window is finite, and once the session ends, all state is\nlost. This means your AI assistant:</p>\n<ul>\n<li>Forgets your name, preferences, and ongoing projects between chats</li>\n<li>Cannot learn from past mistakes across sessions</li>\n<li>Has no continuity for long-running work</li>\n<li>Re-asks the same clarifying questions every time</li>\n</ul>\n<p>Synapse fixes this by providing a simple HTTP API where the LLM can store and\nretrieve structured memories. The memories persist on the server, indexed and\nsearchable, so any future session can recall them.</p>\n<h2>Key Features</h2>\n<ul>\n<li><strong>Persistent memory storage</strong> — facts, preferences, projects, mistakes, skills</li>\n<li><strong>Full-text search</strong> (FTS5) — find any memory by keyword in milliseconds</li>\n<li><strong>Semantic search</strong> — embeddings-based similarity search for conceptual queries</li>\n<li><strong>Multi-tenant</strong> — each user has isolated &quot;minds&quot; (one user, many projects)</li>\n<li><strong>Async chat</strong> — humans can leave messages for the agent while it works</li>\n<li><strong>Tasks &amp; scheduling</strong> — built-in task manager and cron scheduler</li>\n<li><strong>MCP integration</strong> — 79 tools exposed as Model Context Protocol for Claude, Cursor, Continue</li>\n<li><strong>Browser &amp; computer control</strong> — remote automation tools</li>\n<li><strong>Webhooks</strong> — get HTTP callbacks on memory/chat/task changes</li>\n</ul>\n<h2>How It Works</h2>\n<pre><code class=\"hljs language-plaintext\">┌──────────────┐         ┌─────────────────────┐\n│  LLM Agent   │ ──API──▶│   Synapse Server    │\n│ (Claude/GPT) │ ◀──────│  (postgres + FTS5)  │\n└──────────────┘         └─────────────────────┘\n                                │\n                                ▼\n                         ┌─────────────┐\n                         │  Memories   │\n                         │  Tasks      │\n                         │  Chat       │\n                         │  Scripts    │\n                         └─────────────┘</code></pre><ol>\n<li>The LLM calls <code>GET /memory/recall</code> at session start</li>\n<li>Synapse returns a structured text summary of all stored memories</li>\n<li>The LLM works, periodically calling <code>POST /memory</code> to store new facts</li>\n<li>When the user asks a question, the LLM can call <code>GET /memory/search?q=...</code></li>\n<li>At session end, important new context is persisted for the next session</li>\n</ol>\n<h2>Who Is It For?</h2>\n<ul>\n<li><strong>LLM agent developers</strong> who need persistent state</li>\n<li><strong>Power users</strong> running local LLMs (Ollama, LM Studio) with custom agents</li>\n<li><strong>Teams</strong> building AI assistants that need shared memory</li>\n<li><strong>Automation engineers</strong> chaining LLM calls across sessions</li>\n</ul>\n<h2>Quick Comparison</h2>\n<table>\n<thead>\n<tr>\n<th>Feature</th>\n<th>ChatGPT Memory</th>\n<th>Synapse</th>\n</tr>\n</thead>\n<tbody><tr>\n<td>Storage location</td>\n<td>OpenAI servers</td>\n<td>Your server</td>\n</tr>\n<tr>\n<td>API access</td>\n<td>No (closed)</td>\n<td>Yes (REST + MCP)</td>\n</tr>\n<tr>\n<td>Multi-tenant</td>\n<td>No</td>\n<td>Yes (minds)</td>\n</tr>\n<tr>\n<td>Custom categories</td>\n<td>No</td>\n<td>Yes (8 categories)</td>\n</tr>\n<tr>\n<td>Search</td>\n<td>Limited</td>\n<td>FTS5 + semantic</td>\n</tr>\n<tr>\n<td>Self-hostable</td>\n<td>No</td>\n<td>Yes (Docker)</td>\n</tr>\n</tbody></table>\n<h2>Next Steps</h2>\n<ul>\n<li><a href=\"/docs/getting-started/quick-start\">Quick Start for humans</a> — get a Mind Key in 5 minutes</li>\n<li><a href=\"/docs/getting-started/quick-start-llm\">Quick Start for LLMs</a> — first API calls</li>\n<li><a href=\"/docs/getting-started/authentication\">Authentication</a> — Mind Keys vs JWTs</li>\n<li><a href=\"/docs/concepts/architecture\">Architecture overview</a> — how Synapse is built</li>\n</ul>\n","urls":{"html":"/docs/getting-started/what-is-synapse","text":"/docs/getting-started/what-is-synapse?format=text","json":"/docs/getting-started/what-is-synapse?format=json","llm":"/docs/getting-started/what-is-synapse?format=llm"},"translations_available":["en","zh","hi","es","fr","ar","pt","ru","ja","de","it","ko","nl","pl","tr","sv","vi","th","id","uk"]}