← Back to work

MCP · Agent infrastructure · 2026

Shared Memory · Project Experience MCP

Role
Design · Implementation
Stack
Python · FastMCP · SQLite / FTS5 · codesearch
Context
Open source · local-first
Year
2026
  • 9
    MCP tools
  • SQLite + FTS5
    Storage
  • 7+
    Mined projects
  • local-first · redacted
    Deployment

A local shared memory of "what I have done" for Claude / Codex and any other agent host. Mines bounded project evidence → candidates → curated experience cards, stored in SQLite + FTS5 with secrets redacted, exposed as a small set of MCP tools.

Background

Claude, Codex and other agent hosts all run on the same machine against the same repos, but they each re-crawl the code and re-summarise from scratch. That should be a shared memory: distil what was done into reusable patterns, then let every agent search / get it.

Approach

Separate mining from synthesis. Mining is cheap (collects evidence only, no model calls); synthesis is done by an agent on a small evidence pack (expensive but precise). Decoupled, any agent host can author cards on already-collected context.

  • Miner — registers projects, fetches focus files + codesearch hits by topic (rag / mcp-tools / llm-api / agent-runtime …), filters ignored paths, redacts secrets, writes a bounded evidence pack
  • Agent synthesis — condenses that small pack into a validated markdown card
  • Cards and evidence live in SQLite + FTS5, exposed via MCP to every agent host

Nine MCP tools

Tool granularity is deliberately small — each tool has a single job, so combinations stay clean.

  • `list_projects` / `mine_experience_candidates` — project registry + topic mining
  • `list_candidates` / `set_candidate_status` — candidate flow (new / carded / rejected)
  • `search_experience` / `get_experience` — search and read cards
  • `upsert_experience_card` — write cards to the store
  • `get_evidence_pack` — fetch a bounded pack for an agent to synthesise
  • `archive_experience` — archive history

Key design

Local-first, redacted, and traceable — the three foundations of this MCP.

  • Mining and synthesis split — mining cheap, synthesis costly; whoever needs a card synthesises one, no duplication
  • Evidence is bounded — every card has a supporting-material cap so agents do not drown in context
  • Automatic redaction — path filters + secret pattern detection, nothing sensitive enters the evidence pack
  • Candidate state machine — new → carded / rejected, leaves a decision trail

Status

Mined and carded across several real projects: financial-analyst, weekly-agentmemory, memory-share, personalized-repo-mcp, paper-distiller, pde-phase8/10, ceramic-ai-predict, and more. Cards support search / archive; candidates flow through new / carded / rejected states.