Synaptra
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Synaptrarecall what I told you about the new API"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Synaptra
A biologically-inspired synaptra memory system for AI agents, exposed as an MCP server. Gives agents persistent memory with human-like properties: memories decay over time, strengthen with use, form relationships, and consolidate automatically.
Features
Four memory types with different decay rates — working (hours), episodic (days), semantic (weeks), procedural (months)
FSRS-inspired decay — retrievability computed on-the-fly:
R(t) = e^(-t / 9S)Multi-strategy retrieval — semantic search (HNSW cosine), BM25 keyword search, temporal recency, and graph traversal fused with Reciprocal Rank Fusion (RRF)
Spreading activation — retrieving a memory strengthens its neighbors in the relationship graph
Automatic linking — new memories are linked to similar existing ones via cosine similarity
Contradiction detection — flags semantically similar memories with negation signals
Consolidation pipeline — promotes working->episodic->semantic/procedural, archives forgotten memories, merges near-duplicates
Version history — every update creates a snapshot for full audit trail
CLI tool — browse, search, and manage memories from the terminal
Windows service — runs as a background service via Task Scheduler (no admin required)
Related MCP server: Mnemotree
Installation
Requires Python 3.11+.
pip install synaptraThis installs the MCP server, CLI tool, and all dependencies including sentence-transformers (all-MiniLM-L6-v2, 384d) and SurrealDB (embedded).
Quick Start
1. Start the server
synaptraThis starts the Streamable HTTP MCP server on http://127.0.0.1:8050/mcp.
2. Connect from Claude Code
Add to your Claude Code MCP config (~/.claude.json or project .mcp.json):
{
"mcpServers": {
"synaptra": {
"command": "npx",
"args": ["mcp-remote", "http://127.0.0.1:8050/mcp"]
}
}
}3. Use the CLI
# Search memories
synaptra-cli recall "python programming"
# Browse
synaptra-cli list
synaptra-cli list --type semantic --tags "project,design"
# Get full details
synaptra-cli get <memory-id>
# Store a memory
synaptra-cli store "Python's GIL was removed in 3.13" --type semantic --tags "python,news"
# Pipe from stdin
echo "meeting notes here" | synaptra-cli store -
# System health
synaptra-cli stats
synaptra-cli consolidate --dry-run
# JSON output for scripting
synaptra-cli --json list | jq '.data.memories[].content'Run synaptra-cli --help for all commands and flags.
Windows Service
Run the server as a background service that auto-starts at logon:
synaptra-service install # Register with Task Scheduler
synaptra-service start # Start now
synaptra-service status # Check health
synaptra-service stop # Stop
synaptra-service remove # Uninstall
synaptra-service debug # Run in foreground (development)No admin elevation or pywin32 required. Uses Task Scheduler with auto-restart on failure (3 attempts, 1 minute apart).
Environment Variables
Variable | Default | Description |
|
| SurrealDB data directory |
|
| HTTP server port |
|
| HTTP server bind address |
| bundled | Config YAML override path |
|
| CLI: server URL (overrides |
MCP Tools (14)
Tool | Description |
| Store a new memory with auto-classification and importance scoring |
| Multi-strategy retrieval with RRF fusion and decay reranking |
| Get a specific memory with relationships and version history |
| Update content/metadata with versioning and re-embedding |
| Create typed relationships between memories |
| Graph traversal to find connected memories |
| Remove a relationship |
| Browse/filter memories with full-text search |
| Archive by ID, bulk IDs, or retrievability threshold |
| Restore archived memories with decay reset |
| Permanent deletion with cascade (requires |
| System statistics: counts, decay health, storage usage |
| Run consolidation pipeline (supports |
| View or update configuration |
Architecture
cognitive_memory/
server.py Streamable HTTP MCP server (FastMCP + uvicorn)
cli.py CLI tool (click, connects via MCP client)
service.py Windows Task Scheduler service management
engine.py Central orchestrator
surreal_storage.py SurrealDB embedded storage (HNSW vectors, BM25 FTS, graph edges)
embeddings.py Sentence-transformers embedding service
retrieval.py Two-phase RRF pipeline with spreading activation
decay.py FSRS-inspired decay engine (pure functions)
consolidation.py Promotion, archival, clustering, merging
classification.py Heuristic type classification + importance scoring
config.py YAML defaults + DB overrides
models.py Pydantic domain models
protocols.py Storage protocol (typing.Protocol)
schema.surql SurrealDB schema definitionConfiguration
All config uses dot-notation keys. View/set at runtime via memory_config tool or synaptra-cli config.
Key settings:
Key | Default | Description |
| 0.04 | Working memory S0 (~1 hour) |
| 2.0 | Episodic memory S0 (~2 days) |
| 14.0 | Semantic memory S0 (~2 weeks) |
| 60.0 | Procedural memory S0 (~2 months) |
| 2.0 | Reinforcement strength on access |
| 1.0 | Semantic search weight in RRF |
| 0.7 | BM25 keyword search weight |
| 0.5 | Graph traversal weight |
| 0.75 | Min cosine similarity for auto-links |
| 0.90 | Min similarity to merge memories |
Backup & Restore
CM provides a full backup/restore system via the cm backup subgroup. Backups are
logical NDJSON exports — backend-agnostic and inspectable without unpacking.
Quick reference
# Create a backup (stops CM, exports, restarts CM)
cm backup create
# Verify a backup artifact (light check)
cm backup verify ~/.synaptra/backups/cm-20260515T040000Z
# Deep verify (loads into temp DB, runs HNSW query, ~30 s)
cm backup verify --deep ~/.synaptra/backups/cm-20260515T040000Z
# Restore into a fresh directory
cm backup restore ~/.synaptra/backups/cm-20260515T040000Z
# Restore into a specific target
cm backup restore ~/.synaptra/backups/cm-20260515T040000Z --target ~/myrestoreStop-CM ritual
Backups require exclusive access to the SurrealKV data directory. cm backup create
automatically:
Stops the
CognitiveMemoryWindows scheduled task.Waits for the SurrealKV file lock to release (~5 s).
Opens SurrealKV directly and streams all data to NDJSON.
Restarts the CM service.
CM cold-start (SurrealKV clog replay) takes ~2 minutes — expected behavior.
The ~2 min downtime is accepted. Backups run during /dream (a maintenance window)
or on explicit operator demand.
Backup artifact layout
~/.synaptra/backups/cm-<timestamp>Z/
manifest.json # Metadata: counts, schema hash, version, timing
schema.surql # Snapshot of CM schema at backup time
memory.ndjson # All memory records (15 fields each, incl. embedding)
memory_version.ndjson # Edit history
consolidation_log.ndjson
preference.ndjson
edges/
causes.ndjson # One file per relationship type
follows.ndjson
contradicts.ndjson
supports.ndjson
relates_to.ndjson
supersedes.ndjson
part_of.ndjson
describes.ndjsonEach file is line-delimited JSON — head memory.ndjson | python -m json.tool works
without unpacking anything.
Rollback procedure
Use scripts/cm-rollback.ps1 for a full rollback to a previous backup:
# Usage: cm-rollback.ps1 <backup_dir>
.\scripts\cm-rollback.ps1 "$env:USERPROFILE\.synaptra\backups\cm-20260515T040000Z"The script uses atomic rename — live data is never directly overwritten. If restore
fails mid-way, CM restarts against the untouched live data. The old live data is
moved to data.pre-rollback-<ts> as a safety net (pruned after 7 days).
Retention policy
The retention pruner runs automatically after cm backup create. Policy:
Tier | Keep | Selection |
Daily | 7 | Most recent 7 backups by timestamp |
Weekly | 4 | One per ISO week, most recent, beyond daily window |
Monthly | 6 | One per calendar month, most recent, beyond weekly |
Pre-rollback safety copies (data.pre-rollback-<ts>) are pruned after 7 days.
Worst-case storage: 17 backups × ~10 MB ≈ 170 MB.
Pre-dream integration
The /dream skill runs cm backup create + cm backup verify --deep as its
first step before any memory reshaping. If either fails, dream aborts. This
ensures every consolidation pass has a verified rollback point.
Stale backup warning
The memory_health MCP tool exposes:
most_recent_backup_age_days: days since the most recent backup (None if none exist).backup_is_stale: true if age > 7 days or no backups exist.
The session-start skill surfaces backup_is_stale as a visible warning.
Development
pip install synaptra[dev]
pytestLicense
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityDmaintenanceAn MCP server that provides persistent memory for AI agents by storing session snapshots, factual memories, and conversation summaries. It enables seamless continuity between interactions by allowing agents to restore previous emotional states and recall relevant past experiences.Last updated
- Alicense-qualityDmaintenanceMnemotree is an MCP server that provides biologically-inspired memory for LLM agents, enabling storage, retrieval, and analysis of structured knowledge with semantic search and relationship tracking.Last updated6MIT
- AlicenseAqualityCmaintenanceAn MCP server providing long-term memory for AI agents with forgetting curves, consolidation, and graph-based retrieval.Last updated10393MIT
Related MCP Connectors
User-owned memory for AI agents, Copilot, Claude, IDEs, CLIs, and chat apps over remote MCP.
Your memory, everywhere AI goes. Build knowledge once, access it via MCP anywhere.
Person-owned, portable AI memory as a remote MCP server, readable and writable by any MCP client.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/kaushikhazra/synaptra'
If you have feedback or need assistance with the MCP directory API, please join our Discord server