Docs · Dashboard · Benchmarks · Website
The memory layer for production AI agents
Your AI agents forget everything between conversations. Synap fixes that — with a production-grade memory layer built for applications that serve real users at scale. #1 on LongMemEval (92%) and LoCoMo (93.2%), sub-15ms anticipatory retrieval, and native integrations with every major AI framework.
LangChain · LangGraph · LlamaIndex · CrewAI · AutoGen · Haystack · Google ADK · OpenAI Agents · Semantic Kernel · Pydantic AI · Agno · LiveKit · Pipecat · Claude Agent · Mastra · Vercel AI SDK · NeMo Agent Toolkit · Microsoft Agent Framework
What's in this repo: the open-source Python and JavaScript SDKs plus all framework integrations, licensed under Apache 2.0. The Synap memory engine itself — ingestion, entity resolution, retrieval, anticipation — runs as a fully managed cloud service operated by Maximem and is not open source. The SDKs in this repo are clients for that service; there is nothing to self-host, and an API key is required.
Benchmarks
Synap leads the field on the two standard long-term memory benchmarks — evaluated on identical hardware with an open-source harness.
| Benchmark | Synap accuracy |
|---|---|
| LongMemEval | 92% |
| LoCoMo | 93.2% |
Synap outperforms leading published memory systems, run through the same open-source evaluation harness on identical hardware and configs.
"Longer conversations make Synap better, not worse." Richer entity graphs and stronger pattern recognition at scale.
Full methodology and reproduction instructions → maximem.ai/blog/synap-benchmark-results
Install
# Python
pip install maximem-synap
# JavaScript / TypeScript
npm install @maximem/synap-js-sdk
60-second quickstart
Your agent forgets. Synap remembers — across conversations, sessions, and devices.
The SDK connects to the hosted Synap cloud service — you'll need an API key. There's no local server to run: memory processing happens in Synap's cloud, not in this package.
import asyncio
from maximem_synap import MaximemSynapSDK
sdk = MaximemSynapSDK(api_key="your-api-key")
async def main():
await sdk.initialize()
# Monday's standup
await sdk.conversation.record_message(
conversation_id="mon-standup",
user_id="alice",
role="user",
content="I'm migrating our auth service to OAuth2 this sprint.",
)
# Friday — completely different conversation, same user
context = await sdk.fetch(
conversation_id="fri-review",
user_id="alice",
search_query=["what is alice working on?"],
)
print(context.formatted_context)
# → "Alice is migrating the auth service to OAuth2 this sprint."
asyncio.run(main())
JavaScript / TypeScript
const { createClient } = require('@maximem/synap-js-sdk');
const client = createClient({ apiKey: 'your-api-key' });
await client.init();
// Record
await client.conversation.recordMessage({
conversationId: 'mon-standup',
userId: 'alice',
role: 'user',
content: "I'm migrating our auth service to OAuth2 this sprint.",
});
// Fetch later — anywhere
const context = await client.fetchUserContext({
userId: 'alice',
query: 'what is alice working on?',
});
console.log(context.formattedContext);
What makes Synap different
🎯 Anticipatory Retrieval
Synap pre-fetches context before your agent requests it. 15ms P50 latency in production. For voice AI agents, this is the difference between natural conversation and awkward pauses.
🔗 Entity Resolution
When a user says "my manager" in turn 3 and "Sarah" in turn 12, Synap resolves them automatically. Cross-session, cross-conversation, without the agent doing any work.
⏳ Temporal Awareness
Context from 30 minutes ago and context from 30 days ago should not carry equal weight. Synap applies temporal decay and relevance scoring so your agent surfaces the right information at the right time.
🧠 Conscious Forgetting
When a user says "ignore what I said about the budget," Synap processes that as a retraction — not just more context to store. Contradiction handling is built into the pipeline.
🏗️ Custom Memory Architectures
No universal memory model. Synap builds customized memory architectures per use case. Customer support agents and voice AI agents need different context strategies. Synap handles both.
🏢 Multi-Tenant Scoping
Built for B2B from day one. Memory is scoped across a four-level hierarchy:
client → shared knowledge across your entire platform
└── customer → per-company context (multi-tenant B2B)
└── user → per-user memory and preferences
└── conversation → in-session history
One fetch() call merges all relevant scopes in parallel.
Framework integrations
Installable packages — not code snippets. Deep framework surfaces with callbacks, graph nodes, retrievers, memories, and plugins.
LangChain
pip install maximem-synap maximem-synap-langchain
from maximem_synap import MaximemSynapSDK
from synap_langchain import SynapChatMessageHistory
from langchain_openai import ChatOpenAI
from langchain_core.runnables.history import RunnableWithMessageHistory
sdk = MaximemSynapSDK(api_key="your-api-key")
await sdk.initialize()
chain = RunnableWithMessageHistory(
ChatOpenAI(),
lambda session_id: SynapChatMessageHistory(
sdk=sdk, conversation_id=session_id, user_id="alice",
),
)
CrewAI
pip install maximem-synap maximem-synap-crewai
from synap_crewai import SynapStorageBackend
crew = Crew(
agents=[...], tasks=[...],
memory=True,
storage=SynapStorageBackend(sdk=sdk, user_id="alice"),
)
LlamaIndex
pip install maximem-synap maximem-synap-llamaindex
from synap_llamaindex import SynapChatMemory
memory = SynapChatMemory(sdk=sdk, user_id="alice")
agent = ReActAgent.from_tools(tools, memory=memory)
All integrations
| Framework | Package | Install |
|---|---|---|
| LangChain | maximem-synap-langchain | pip install maximem-synap-langchain |
| LangGraph | maximem-synap-langgraph | pip install maximem-synap-langgraph |
| LlamaIndex | maximem-synap-llamaindex | pip install maximem-synap-llamaindex |
| CrewAI | maximem-synap-crewai | pip install maximem-synap-crewai |
| AutoGen | maximem-synap-autogen | pip install maximem-synap-autogen |
| Haystack | maximem-synap-haystack | pip install maximem-synap-haystack |
| Google ADK | maximem-synap-google-adk | pip install maximem-synap-google-adk |
| OpenAI Agents SDK | maximem-synap-openai-agents | pip install maximem-synap-openai-agents |
| Semantic Kernel | maximem-synap-semantic-kernel | pip install maximem-synap-semantic-kernel |
| Pydantic AI | maximem-synap-pydantic-ai | pip install maximem-synap-pydantic-ai |
| Agno | maximem-synap-agno | pip install maximem-synap-agno |
| LiveKit Agents | maximem-synap-livekit-agents | pip install maximem-synap-livekit-agents |
| Pipecat | maximem-synap-pipecat | pip install maximem-synap-pipecat |
| Claude Agent (Python) | maximem-synap-claude-agent | pip install maximem-synap-claude-agent |
| Claude Agent (TypeScript) | @maximem/synap-claude-agent | npm i @maximem/synap-claude-agent |
| Mastra | @maximem/synap-mastra | npm i @maximem/synap-mastra |
| Vercel AI SDK | @maximem/synap-vercel-adk | npm i @maximem/synap-vercel-adk |
| Vercel eve | @maximem/synap-eve | npm i @maximem/synap-eve |
| NVIDIA NeMo Agent Toolkit | maximem-synap-nemo-agent-toolkit | pip install maximem-synap-nemo-agent-toolkit |
| Microsoft Agent Framework | maximem-synap-microsoft-agent | pip install maximem-synap-microsoft-agent |
| Strands Agents | maximem-synap-strands-agents | pip install maximem-synap-strands-agents |
| CAMEL-AI | maximem-synap-camel-ai | pip install maximem-synap-camel-ai |
| Smolagents | maximem-synap-smolagents | pip install maximem-synap-smolagents |
MCP server
Give no-code and low-code agents — Gumloop, n8n, and any MCP-compatible client — persistent memory with nothing but an MCP URL and your Synap API key. No SDK, no code. The server exposes Synap's memory as three MCP tools (log_exchange, recall_context, list_recent_memories) over Streamable HTTP.
It's a stateless adapter over the hosted Synap API — each call maps to one REST operation and your Bearer token is forwarded verbatim, so there's no separate backend to run. Use the managed endpoint (grab the URL and token from your dashboard), or self-host the adapter from source.
→ Source & self-hosting: packages/mcps/synap-mcp-server/
Deep dives
Understand the system before building on it:
- 📘 Why we built Synap — the problem with current AI memory systems
- ⚙️ How Synap works under the hood — architecture, retrieval pipeline, and design decisions
- 📊 Benchmark results — 92% on LongMemEval, 93.2% on LoCoMo, methodology, and reproducibility
Agent skills
Drop-in instructions for coding agents (Claude Code, Cursor, etc.) that teach them how to wire Synap into your codebase.
- Maximem Synap skill — covers SDK setup, scoping (User/Customer/Client), ingestion, retrieval, and one-page wiring guides for all supported frameworks.
Requirements
- Python SDK: Python 3.9+
- JavaScript SDK: Node 18+ (Python 3.9+ for the bridge layer)
- A Synap API key — get one at maximem.ai
Resources & community
- 📖 Documentation
- 🚀 Dashboard
- 𝕏 Twitter / X
Contributing
Contributions welcome. See CONTRIBUTING.md for the fork-first workflow, branch conventions, and how to add a new framework integration.
License
Apache 2.0 — see LICENSE.
Built by Maximem AI