Skip to main content

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 name mnemos was 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.

Release files for aura-mnemos 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aura-mnemos 0.1.0
File Size Uploaded
aura_mnemos-0.1.0.tar.gz 12.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for aura-mnemos 0.1.0
File Interpreter ABI Platform
aura_mnemos-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 23.8 kB

Release files / aura_mnemos-0.1.0.tar.gz

Download URL aura_mnemos-0.1.0.tar.gz
Size 12.3 kB
Tags Source
SHA-256 checksum
How to use checksums
4df958c8cc5f68b3cefce8f6e29be603b5ac799fcfd570f1c4e30a9c5c54d5af
BLAKE2b-256 checksum
How to use checksums
a7f4fb5bc435b3ca7c365bcefa3edc1eae1a00855c0ed4833a42ad2c1c7a9a9e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.6

Release files / aura_mnemos-0.1.0-py3-none-any.whl

Download URL aura_mnemos-0.1.0-py3-none-any.whl
Size 11.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
47ae9f35d0ae9b3c38dac1872353e61bcf9c93e31089600b092464d54a8a5d2a
BLAKE2b-256 checksum
How to use checksums
2e5a5b696d730249ee5fe9bcf8f45696930a2912c4b45518deea0e0e761e01d8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.6

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page