Persistent conversational memory for AI coding assistants
Project description
synapt
Persistent conversational memory for AI coding assistants. Synapt indexes your past coding sessions and makes them searchable — so your AI assistant remembers what you worked on, decisions you made, and patterns you established.
Works as an MCP server for Claude Code and other MCP-compatible tools.
Install
pip install synapt
# With MCP server support (recommended)
pip install 'synapt[mcp]'
Quick start
1. Build the index
Synapt discovers Claude Code transcripts automatically:
synapt recall build
2. Search past sessions
synapt recall search "how did we fix the auth bug"
3. Use as an MCP server
Add to your Claude Code config (.mcp.json):
{
"mcpServers": {
"synapt": {
"type": "stdio",
"command": "synapt",
"args": ["server"]
}
}
}
This gives your AI assistant 13 tools for searching past sessions, managing a journal, setting reminders, and building a durable knowledge base.
Features
- Transcript indexing — BM25 full-text search over past coding sessions
- Topic clustering — Jaccard token-overlap clustering groups related chunks
- Knowledge consolidation — Extracts durable knowledge from session journals
- Session journal — Rich entries with focus, decisions, done items, and next steps
- Reminders — Cross-session sticky reminders that surface at session start
- Timeline — Chronological work arcs showing project narrative
- LLM enrichment — Optional LLM-powered summaries and cluster upgrades
- Working memory — Frequency-boosted search results for active topics
- Plugin system — Extend with additional tools via entry-point discovery
MCP tools
| Tool | Description |
|---|---|
recall_search |
Search past sessions by query |
recall_context |
Get context for the current session |
recall_files |
Find sessions that touched specific files |
recall_sessions |
List indexed sessions |
recall_timeline |
View chronological work arcs |
recall_build |
Build or rebuild the transcript index |
recall_setup |
Auto-configure hooks and MCP integration |
recall_stats |
Index statistics |
recall_journal |
Write rich session journal entries |
recall_remind |
Set cross-session reminders |
recall_enrich |
LLM-powered chunk summarization |
recall_consolidate |
Extract knowledge from journals |
recall_contradict |
Flag contradictions in knowledge |
CLI reference
synapt recall build # Build index (discovers transcripts automatically)
synapt recall build --incremental # Skip already-indexed files
synapt recall search "query" # Search past sessions
synapt recall stats # Show index statistics
synapt recall journal --write # Write a session journal entry
synapt recall setup # Auto-configure hooks
synapt server # Start MCP server
Optional backends
Synapt uses local LLMs for enrichment and summarization. Install optional backends:
# MLX (Apple Silicon)
pip install mlx-lm
# Ollama
# Install from https://ollama.com, then:
ollama pull qwen2.5:3b
# Transformers (GPU/CPU)
pip install 'synapt[transformers]'
Plugins
Synapt discovers plugins via Python entry points. To create a plugin:
- Create a module with a
register_tools(mcp)function - Register it in your
pyproject.toml:
[project.entry-points."synapt.plugins"]
my_plugin = "my_package.server"
The MCP server automatically discovers and loads plugins at startup.
Development
git clone https://github.com/laynepenney/synapt.git
cd synapt
pip install -e ".[test]"
pytest tests/ -v
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file synapt-0.3.0.tar.gz.
File metadata
- Download URL: synapt-0.3.0.tar.gz
- Upload date:
- Size: 139.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8fa2d6a501a7a2c43e75b53901dc06f031d10c11f7506a6df4ce85d0f3c282c6
|
|
| MD5 |
a0204ed6f5a12533030163174632f1f5
|
|
| BLAKE2b-256 |
6bc034df24bdebcc582900cbca756c7417e56773bdd805ea50bbc76513213e36
|
Provenance
The following attestation bundles were made for synapt-0.3.0.tar.gz:
Publisher:
publish.yml on laynepenney/synapt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
synapt-0.3.0.tar.gz -
Subject digest:
8fa2d6a501a7a2c43e75b53901dc06f031d10c11f7506a6df4ce85d0f3c282c6 - Sigstore transparency entry: 1070636350
- Sigstore integration time:
-
Permalink:
laynepenney/synapt@88c00137005951ce1331496d846d2118065ef5bf -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/laynepenney
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@88c00137005951ce1331496d846d2118065ef5bf -
Trigger Event:
push
-
Statement type:
File details
Details for the file synapt-0.3.0-py3-none-any.whl.
File metadata
- Download URL: synapt-0.3.0-py3-none-any.whl
- Upload date:
- Size: 152.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4011fb5737f33959d18bf69a6d7c203151e0062817ac6c7664f688a6b406eee0
|
|
| MD5 |
2ef9bafc859ecb979fca1d7ea732d6b1
|
|
| BLAKE2b-256 |
bf6324bb54c6a78ee49c09be2509fac3609b2953e97331a83e8cbf01b96496b4
|
Provenance
The following attestation bundles were made for synapt-0.3.0-py3-none-any.whl:
Publisher:
publish.yml on laynepenney/synapt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
synapt-0.3.0-py3-none-any.whl -
Subject digest:
4011fb5737f33959d18bf69a6d7c203151e0062817ac6c7664f688a6b406eee0 - Sigstore transparency entry: 1070636361
- Sigstore integration time:
-
Permalink:
laynepenney/synapt@88c00137005951ce1331496d846d2118065ef5bf -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/laynepenney
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@88c00137005951ce1331496d846d2118065ef5bf -
Trigger Event:
push
-
Statement type: