athena-diary
Provides diary/journaling tools backed by a SQLite database, with vector search via sqlite-vec and FTS fallback for retrieval.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@athena-diaryWrite a diary entry about the sqlite-vec integration work."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Athena Diary
SanctumOS
Off-context diary for Letta (and other MCP) agents: a SQLite journal plus MCP tools so the urge to remember does not stuff narrative into core memory.
Name: Athena Diary is named after Athena, Sanctum’s first long-running agent (user #1 of this pattern)—not because the product is Athena-only. Any Letta agent (or MCP client) can run its own diary instance.
What this is
Agents over-journal into core memory blocks. On a large context window that burns budget and crowds out short-term recall. The impulse to write is good; core is the wrong surface.
Athena Diary gives the agent a rest bucket outside the context window:
Write freely — volume belongs in the diary, not in core.
Retrieve on demand — search returns pointers (ids + summaries); load full bodies only when needed.
Embed summaries — vector search over gists (
sqlite-vecwhen available), with FTS on body/summary so a bad summary cannot hide an entry.Sleeptime clerk — tags, lesson-family, templated summaries, and re-embeds run on turn-based sleeptime passes (not a wall-clock “night”).
Sensitive material stays out — intimate / medical / human-gated content belongs in Broca (or your equivalent) human blocks, not the diary. Privacy in v1 is instructional (same discipline as human-block practice), not ACL theater.
Same architectural shape as origin_conversation: SQLite source of truth + MCP wrapper.
Full product story: docs/OVERVIEW.md.
Related MCP server: Agent Progress Tracker MCP Server
Tools (MCP)
Tool | Role |
| Append an entry (body required; optional summary / metadata) |
| Fetch one entry by id (full body) |
| Keyword / semantic search over summaries (pointers, not bodies) |
| Clerk batch: tag, summarize, link near-dupes, re-embed |
Full API: docs/TOOL_REFERENCE.md.
Quick start
git clone https://github.com/sanctumos/athena-diary.git
cd athena-diary
python3 -m venv .venv && source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -e '.[mcp,dev]'
# Optional vector extension:
# pip install -e '.[vec]'
cp .env.example .env # set DIARY_DB / embed mode as needed
athena-diary-mcp --version
athena-diary-mcp --describe
athena-diary-mcp health
# MCP stdio (what Letta / Cursor usually spawn):
athena-diary-mcp serveWire the server into your MCP client: docs/MCP_CLIENTS.md (ChatGPT, Claude Code, Cursor, Letta, others).
Legacy Letta / Sanctum bootstrap: docs/LETTA_BOOTSTRAP.md.
Step-by-step install: docs/GETTING_STARTED.md.
Documentation
Doc | Description |
Documentation index | |
Purpose, naming, architecture, what belongs where | |
Install, first entry, attach to an agent | |
Bootstrapping onto a legacy Letta hot + sleeptime instance | |
ChatGPT, Claude Code / Desktop, Cursor, Letta, other MCP hosts | |
Full MCP tool contracts and examples | |
Env vars, embed modes, DB path, transports | |
Short summary for agent / AI readers | |
≥90% coverage gate for contributors |
Design principles (v1)
Diary first, core ruthlessly thin — never paste diary bodies into core; core may hold skinny pointers (e.g. lesson-family → search).
No write gates — clerk cost is controlled by batched sleeptime, not by blocking capture.
Summaries for vectors; FTS for safety — search remains useful even when summaries drift.
One mixed diary store — per-human vaults and dual “discreet” DBs are deferred (leak / ops risk).
Complements Letta archival — experiential / first-person noticing → diary; reference facts may still use archival.
Out of scope for v1: multi-tenant vaults, soft ACL over intimate text, auto-promotion into core, replacing archival entirely.
License
Source code: GNU Affero General Public License v3.0 (AGPL-3.0)
Documentation and non-code: Creative Commons Attribution-ShareAlike 4.0 International (CC-BY-SA 4.0)
See NOTICE and LICENSES/README.md.
This server cannot be deployed
Maintenance
Related MCP Connectors
- KogniteOAuthdev.kognite
Hosted agent memory: store, search, and recall facts across sessions from any MCP client.
Persistent memory for AI agents across Claude, ChatGPT and any MCP client.
- memnodeOAuthdev.memnode
Persistent, inspectable memory for AI agents with lineage, correction, and a hosted MCP endpoint.
Cross-tool persistent memory and context for AI assistants over MCP.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceSQLite-backed memory storage for MCP agents with optional semantic search via OpenAI embeddings, enabling agents to remember, recall, and manage contextual information across sessions.5 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to track, search, and retrieve their progress across projects with persistent memory using SQLite storage and LLM-powered summarization. Supports logging completed work, searching previous entries, and retrieving context for multi-step or multi-agent workflows.6 npmMIT
- AlicenseAqualityDmaintenanceProvides persistent, inspectable memory storage for AI agents using SQLite. Agents can store, recall, and search memories across sessions via three MCP tools.3MIT
- FlicenseNot gradedqualityCmaintenanceEnables AI-assisted diary management through natural language, allowing you to create, read, update, delete, and search diary entries stored locally in SQLite.-