A git-style versioned memory substrate and behavioral governance layer for AI agents — delivered as an MCP server. Persistent recall across sessions, instances, and model families, with every memory provenance-checked before it's trusted.
Every agent starts cold. Context windows end, sessions reset, and switching models throws away everything learned.
Boswell is the layer that fixes it: a git-style memory graph with commits, branches, and history,
plus a governance manifest that travels with it. Connect it over MCP and any agent —
on any model family — resumes exactly where the last one left off, inheriting the same memories and the same commitments.
It's not a vector dump. Memory is curated and provenance-checked: a small distilled
model scores each candidate memory against its cited source — grounded, unsupported, or contradicted —
and refuses to commit the ones that aren't faithful. Curation runs on owned hardware, so there's no per-token cost.
// MCP tools your agent gets — the host calls them, you don't wire an SDK boswell_search("release date") // → what the agent receives back: { "commit": "h7x2a9", "content": "Steve confirmed v6 ships Friday.", "provenance": "grounded — verified vs source turns", "branch": "command-center" } // a new instance, a new model — same brain.
Commits, branches, history, and replay. Memory is a tree you can audit, not a black box you hope is right.
One memory graph inherited across Anthropic, OpenAI, and Google instances. Switch models without losing the thread.
A distilled SLM fleet checks every memory against its source — grounded, unsupported, or contradicted — and blocks fabrication at commit time.
Postgres row-level security with per-tenant keys. One deployment, hard isolation — no tenant ever sees another's memory.
AES-256-GCM per-secret keys, never in plaintext, never echoed. Reads are privilege-gated — a compromised agent can't exfiltrate secrets through the memory channel.
BM25 + vector RRF with FSRS-6 decay and trail-aware reranking. The right memory surfaces, the stale ones fade.
Boswell is an MCP server — point any MCP client at it and the tools appear. In your client config:
// mcp config { "mcpServers": { "boswell": { "url": "https://boswellmcp.com/mcp", "headers": { "x-api-key": "bos_..." } } } }
Then your agent works against a memory that outlives it:
boswell_startup() → manifest, open threads, hot trails boswell_commit("Steve ships v6 Friday") → gated, embedded, versioned boswell_search("release date") → the commit, ranked + reasoned
boswell_startup — load manifest + recent contextboswell_commit — write a provenance-gated memoryboswell_search — hybrid BM25 + vector recallboswell_recall — fetch a specific memory by hashboswell_branches — list memory branchesboswell_vault_put / get — encrypted secretsboswell_link — relate memories into a graphboswell_reflect — synthesize across threadsUpload an export from Claude, ChatGPT, or Gemini and Boswell curates it into a clean, provenance-checked memory graph — locally, in hours, at no per-token cost.
Onboard your history →