A self-hosted personal memory layer for AI agents — built on Postgres, pgvector and MCP.
Runs 100% local by default. No API keys. No cloud dependency. Your data never leaves your machine.
Built for developers who want AI that actually knows them. Without giving up their data or their infrastructure.
Memories survive every conversation, every tool, every session. 7 structured types keep things organized — facts, decisions, solutions and more.
Powered by pgvector + local embeddings (mxbai-embed-large). Ask about your projects and get results matched by meaning, not keywords. Voyage AI optional.
One brain shared across every agent. Claude, Cursor, Windsurf — all connect to the same Postgres database through the MCP protocol.
Responses stream token by token via WebSocket. Live code rendering, markdown on completion, smart auto-scroll. No waiting.
Runs fully on your machine with Ollama — free, private, offline-capable. Switch to Claude with one env variable when you need more power.
Background job finds near-duplicate memories every 10 minutes using cosine similarity. Dry-run by default — you stay in control.
Native support for thinking models — qwen3, deepseek-r1. A collapsible reasoning bubble shows the model's thought process live. Toggle it on or off anytime.
Since you own the database, Aperio scales from personal to shared team brain with two changes — update the system prompt and seed team memories. One brain for the whole team.
One database. One MCP server. Two AI providers. Your brain is just a Postgres table with vectors.
Every tool is available to any MCP-compatible agent (Claude, Cursor, Windsurf).
Memory ops, file ops, web fetching.
Aperio is a foundation, not a finished product. The source is fully open — fork it, extend it, repurpose it.
Here's what you can build on top.
The schema is yours to extend. Add new memory types, extra metadata columns, TTL logic, or per-project namespacing. Postgres gives you full flexibility.
Adding a tool is just a new entry in mcp/index.js. Expose calendar access, email drafting, browser control — any action you want your agents to take.
mxbai-embed-large via Ollama is the default — zero external calls. Swap in Voyage AI for higher quality, or drop in OpenAI, Cohere, or any provider with a vectors API.
The web interface is a standalone HTML file with WebSocket. Rip it out and build a VS Code extension, a mobile app, a CLI, a Chrome sidebar — the server API stays the same.
Query your own memory graph. Build dashboards showing what topics you think about most, decision patterns over time, knowledge gaps, or memory growth by week.
Since you own the database, Aperio scales from personal to team brain with two changes: update the system prompt to team context, seed team memories in 001_init.sql.
Run multiple specialized agents that all share one brain. A research agent stores findings, a coding agent reads context, a writing agent pulls preferences — all from the same database.
Commercial memory services are great products.
Aperio is a different choice — self-hosted, open source, fully customizable.
| Feature | ✦ Aperio | Cloud Services |
|---|---|---|
| Data ownership | ✅ 100% yours — own Postgres | ✗ Vendor's servers |
| Monthly cost | ✅ Free (self-hosted) | ✗ $20–100 / month |
| Local AI support | ✅ Ollama built-in | ✗ Cloud only |
| File system tools | ✅ read · write · append | ✗ Not available |
| Full source access | ✅ Open source — fork it | ✗ Closed API |
| MCP integration | ✅ Native protocol | ⚠ Varies |
| Works offline | ✅ With Ollama | ✗ Requires internet |
| Non-developer friendly | ✅ Aperio-lite — double-click & go | ✗ Requires dev setup |
| Team memory | ✅ Shared DB — one brain for the team | ⚠ Varies by plan |
Local AI · persistent memory · streaming responses · 4 themes.
Node 18+, Docker, and Ollama. No API keys. No cloud. 100% local.
Or add Claude + Voyage AI when you need more power.
Self-hosted. Takes 5 minutes.