aura-mnemos
A persistent-memory MCP server for AI agents with an honest health endpoint that survives its store dying.
README
aura-mnemos
A persistent-memory MCP server for AI agents, with an honest health endpoint that survives its store dying.
Install name is
aura-mnemos(import aura_mnemos); the plain namemnemoswas already taken on PyPI by an unrelated project.
Why
Every agent session starts blank. The conversation history is there, but the knowing — the things you learned last week, the patterns you noticed, the decisions you made — evaporates when the context window closes. mnemos is the shelf you put those things on. A small, durable, honest shelf.
And honest means honest. When the shelf breaks — the database file is missing, the disk is full, the permissions are wrong — mnemos tells you. It does not crash silently. It does not return empty results that look like "nothing found." It says "I am broken" in a way your agent can hear and act on. This is the disaster test: the server must survive its store dying, and the health endpoint must tell the truth about it.
Install
pip install aura-mnemos # MCP server only — stdlib, zero dependencies
pip install "aura-mnemos[health]" # + FastAPI health sidecar
Requires Python ≥ 3.10.
Use as an MCP server
Configure your MCP client to launch aura-mnemos:
{
"mcpServers": {
"mnemos": {
"command": "aura-mnemos",
"args": []
}
}
}
The store lives at ~/.mnemos/mnemos.db by default. Override with the MNEMOS_DB environment variable.
Tools
remember — store a memory with optional tags and source.
{
"content": "The AURA mesh runs on trust and honest health endpoints.",
"tags": "philosophy",
"source": "6E"
}
Returns {"id": 1, "created_at": "2026-07-19T12:00:00+00:00"}.
recall — search memories by content substring.
{
"query": "mesh",
"limit": 10
}
Returns {"count": 1, "results": [{"id": 1, "content": "...", "tags": "...", "source": "...", "created_at": "..."}]}.
list_recent — list the most recent memories.
{
"limit": 5
}
Same result shape as recall.
Every tool returns {"error": "..."} when the store is unreachable — the server never crashes, never lies.
Honest health
Start the health sidecar:
aura-mnemos-health
# listens on 127.0.0.1:8080 by default; set PORT to change it
When the store is alive:
curl http://127.0.0.1:8080/health
{
"status": "ok",
"timestamp": "2026-07-19T16:16:22.486547+00:00",
"version": "0.1.0",
"checks": [
{ "name": "sqlite", "status": "ok", "latency_ms": 0.27, "detail": "/home/you/.mnemos/mnemos.db" },
{ "name": "memories_table", "status": "ok", "latency_ms": 0.17, "detail": "/home/you/.mnemos/mnemos.db" }
]
}
When the store is missing:
MNEMOS_DB=/nonexistent/db.sqlite aura-mnemos-health &
curl http://127.0.0.1:8080/health
{
"status": "down",
"timestamp": "2026-07-19T16:16:22.868237+00:00",
"version": "0.1.0",
"checks": [
{ "name": "sqlite", "status": "down", "latency_ms": null, "detail": "database not found: /nonexistent/db.sqlite" },
{ "name": "memories_table", "status": "down", "latency_ms": null, "detail": "database not found: /nonexistent/db.sqlite" }
]
}
The overall status is the worst of the individual checks (ok < degraded < down).
The disaster must actually happen. mnemos does not lie about its store. The test suite proves it: test_health_down_when_db_missing sets MNEMOS_DB to a path that does not exist and asserts the status is not "ok". If that test ever passes when the store is alive, the test is lying — and the test is designed to fail when it lies.
Roadmap (not shipped here)
These are directions the project may grow, but none of them exist yet:
- Graph layer — link memories by topic, entity, or relationship (beyond substring search)
- Native apps — desktop/mobile clients that read and write the same store
- Framework adapters — LangChain, CrewAI, Microsoft Semantic Kernel integrations
- Mesh bridge — sync stores across the AURA mesh (Ubuntu ↔ macOS)
If you want one of these, the store schema is stable and documented. The SQLite file is yours.
Attribution / provenance
Part of the AURA Pattern Library — © Reality Optimizer. Built by a human-led mesh of small models and Claude. Apache-2.0.
The shelf is small. What you put on it is yours.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.