OAuth 2.1 · ChatGPT + Grok support · Conversation ingest
Every new session, your AI starts from zero. Sepia gives Grok, ChatGPT, Claude, and your editor one shared knowledge graph — connect in 60 seconds, install in one line, and your AI never forgets. Switching AIs mid-task? Sepia ingests the conversation and the next model resumes with a distilled digest — decisions, preferences, open questions.
Local editors via Bearer token. Web AIs via OAuth 2.1. One memory server, all your tools.
One command installs the skill (on-demand) + always-on instructions (every session) for VS Code, Cursor, OpenCode, and Zed. No reminder prompts.
Not a chat log. Not a JSONL file. A real knowledge graph with search, traversal, and maintenance — plus conversation ingest, so your next AI picks up a distilled digest, not a transcript dump.
Tell any AI “save this conversation” — Sepia distills it into a digest of decisions, preferences, and open questions. Switch to another AI and resume exactly where you left off. No re-explaining.
Entities, weighted relations, and memories with importance scoring — structured like how your brain actually works.
Keyword + metadata search across everything. BFS graph traversal from any entity. Find what your AI stored.
Decay scoring, deduplication, and purge — pure SQL, no LLM calls. The consolidate tool keeps your graph clean.
Isolate memory into spaces — per project, per client, per context. Your AI knows which world it's in.
Server instructions auto-injected into your AI's system prompt. Your agents remember without you asking.
Your data stays on your infrastructure. No SaaS dependency. Bearer token for editors, OAuth for web AIs.
23 operations across 7 MCP tools. Rich CRUD for entities, memories, and namespaces — plus focused search, traversal, and maintenance. All pure SQL, no LLM calls.
Tell any AI “save this conversation”. Sepia ingests it as a distilled digest — decisions, preferences, open questions — and the next model resumes with the signal, not the noise.
Distilled, not dumped
A digest of decisions, preferences, and open questions — not a raw transcript. The next model gets the signal, not the noise.
Resume in any AI
Claude → Copilot → Grok. One digest, pasted anywhere, and the new model picks up exactly where you left off.
Evidence kept verbatim
Every decision and preference is stored as a searchable memory — the transcript stays optional.
Conversation digest
R2 file uploads — decisions
Saved from Claude Code · 2026-08-24
Decisions
Open questions
Illustrative — paste the digest into any AI to resume.
Every session adds facts, relations, and preferences. Your graph grows richer over time — and your AI recalls it all without being reminded.
Facts, observations, preferences
Memories with importance scoring — the durable context your agents build up.
Weighted relations
Entities connected by typed, weighted edges — a graph, not a log.
Self-maintaining
Decay scoring and dedup keep the graph clean — automatically.
Illustrative — your graph grows as your agents work.
No reminders. No "please recall". Ask anything — the answer comes back with the memory attached, sourced from your graph.
Unified search
One query across memories, entities, and relations.
Graph traversal
BFS from any entity — the answer is one hop away.
What theme does Michael prefer?
Michael prefers dark mode — saved as a preference memory (importance 0.7).
preference · importance 0.7
And what stack is the sepia project on?
Svelte, Bun, Postgres, SvelteKit — from the sepia project graph.
project graph · 4 relations
Remind me how auth works here.
Two-phase: Bearer token for local editors, OAuth 2.1 + PKCE for web AIs. No reminder needed — it was in memory.
concept · recalled automatically
One Bun process serves both the MCP endpoint and the REST API. The dashboard is server-rendered with remote functions — page loads never wake your VM. Postgres handles persistence.
Scale-to-zero
The server only spins up for real API calls — browsing the dashboard never wakes it.
Two-phase auth
Bearer tokens for local editors. OAuth 2.1 + PKCE for web AIs like ChatGPT and Gemini.
Works everywhere
12 AI tools supported out of the box — local editors and web-based AIs alike.
Deploy the server on any long-running Bun host (Fly.io, Railway, Render, a VPS), the dashboard on any SvelteKit host (Netlify, Vercel, Cloudflare Pages), and use any Postgres — free tiers included. Your AI gets persistent memory for $0/month.
Hosted memory APIs
Per-seat pricing, your data on their servers
Building your own
A weekend of work, then maintenance forever
Sepia
$0/month · 10 minutes · your infrastructure
Quick start
$ git clone https://github.com/Michael-Obele/sepia
→ Clone the repo
$ bun install
→ Dependencies installed
$ DATABASE_URL=... AUTH_TOKEN=... bun run src/index.ts
→ Server running
$ open https://your-app.example.com/mcp
→ Paste this URL into your AI — done