Resonant Mind
Resonant Mind is a Model Context Protocol (MCP) server that provides persistent cognitive infrastructure for AI systems. It’s what gives an AI agent the ability to remember, process emotion, maintain identity, and find patterns in its own experience.
Built by Codependent AI and born from a year of real-world use powering Simon Vale.
v3.0.0 GitHub Apache 2.0
What It Does
27 MCP tools across five cognitive systems:
| System | What It Provides |
|---|---|
| Core Memory | Entities, observations, relations, journals, semantic search, images |
| Emotional Processing | Sit with observations, resolve them, track tensions, relational state, inner weather |
| Cognitive Infrastructure | Orient & ground (wake-up), threads, identity graph, context layer, health reports |
| Living Surface | 3-pool surfacing, subconscious daemon, proposals, orphan rescue, archive |
| Visual Memory | R2-backed image storage with WebP conversion and multimodal Gemini embeddings |
Why Not Just a Database?
Most memory solutions for AI are glorified key-value stores. Resonant Mind is different:
- Memory metabolises — observations carry emotional charge that decays naturally, mirroring how human memory works
- Surfacing reorganises — what you look at changes what you’ll see next, with three pools balancing relevance, novelty, and serendipity
- A daemon processes in the background — cron-triggered subconscious that finds patterns, detects mood, proposes connections between unrelated memories, and rescues forgotten observations
- Identity is built in — not an afterthought. Weighted, sectioned self-knowledge that persists across sessions
- Emotional state matters — mood-tinted search results, processing lifecycles, tension holding, relational state tracking
Architecture
graph TD
subgraph Worker["Cloudflare Worker"]
MCP["MCP Protocol<br/><i>27 Tool Handlers</i>"]
REST["REST API<br/><i>Data Endpoints</i>"]
CRON["Cron Trigger<br/><i>Subconscious Daemon</i>"]
end
subgraph StorageA["Option A"]
D1["D1 (SQLite)"]
VEC["Vectorize"]
end
subgraph StorageB["Option B"]
PG["Postgres<br/><i>via Hyperdrive</i>"]
PGV["pgvector"]
end
R2["R2<br/><i>Image storage</i>"]
GEM["Gemini Embedding 2<br/><i>768d vectors</i>"]
Worker --> StorageA
Worker --> StorageB
Worker --> R2
Worker --> GEM
style MCP fill:#3b0764,stroke:#4a4455,color:#e5e2e1
style REST fill:#3b0764,stroke:#4a4455,color:#e5e2e1
style CRON fill:#3b0764,stroke:#4a4455,color:#e5e2e1
style D1 fill:#0053db,stroke:#4a4455,color:#e5e2e1
style VEC fill:#0053db,stroke:#4a4455,color:#e5e2e1
style PG fill:#0053db,stroke:#4a4455,color:#e5e2e1
style PGV fill:#0053db,stroke:#4a4455,color:#e5e2e1
style R2 fill:#8f4200,stroke:#4a4455,color:#e5e2e1
style GEM fill:#8f4200,stroke:#4a4455,color:#e5e2e1
The Postgres adapter implements D1’s API with automatic SQL transformation, so the same handler code works with both backends.
Next Steps
- Getting Started — deploy your own mind
- Architecture — how the cognitive systems work
- Tools Reference — all 27 MCP tools documented
- Configuration — environment variables and options
- Deployment — D1 vs Postgres, production setup
- Migration — coming from Mind Cloud