Skip to main content

Local-first decision memory and consistency review MCP server.

Project description

ANIMA Recall

Your AI forgets every decision you make. This one remembers — and flags it for review when your next choice looks like it contradicts a past one.

ANIMA Recall is a local-first MCP server that gives any MCP host (Claude Desktop, and other MCP clients) a durable memory of your decisions, principles, and promises — and reviews new choices against them.

You've done this: told your assistant "we never send raw customer data to third parties," and three sessions later it happily proposes exactly that, because the context window forgot. ANIMA Recall stores that decision once and flags it for your review the next time a related choice comes up.

you   → remember: "avoid sending customer data to external services" (a decision)
...many sessions later...
you   → I'm about to push analytics events to a third-party API. Any conflict?
ANIMA → ⚠ potential conflict on topic "customer data": a past decision says
         avoid, this proposes require.

It stays out of your way when there's no conflict, and it only speaks up on the topic you actually decided about — not on every memory that happens to share a word.

Why it's different

  • Local-first. Your memories live in a SQLite file on your machine. The content and the comparison logic never leave it. There is no memory cloud to breach.
  • No model calls, ever. Recall and contradiction-review are deterministic and offline — same input, same answer, zero API cost, nothing sent anywhere.
  • It refuses to store secrets. Try to save an API key, token, or private key as a memory and the call is rejected before it touches disk.
  • Honest by design. anima_compare_choice flags choices for your review — it matches on keywords, common synonyms, and direction, not meaning. It catches contradictions that share wording (and their synonyms); it can miss one phrased in entirely different words. Treat it as a prompt to look again, not a guarantee — it surfaces what's worth a second look, and you decide.

Tools

Tool Purpose Effect
anima_remember Store an explicit decision, principle, or promise Writes
anima_recall_memories Find relevant past memories Reads
anima_compare_choice Flag possible conflicts with past decisions Reads
anima_recent_memories List recent memories Reads
anima_reflect Review recurring patterns, conflicts, and principle candidates Preview by default
anima_forget Delete one explicitly confirmed memory Deletes

anima_reflect never writes a standing principle into your store unless you explicitly pass promote=true. By default it only shows you what it would promote — your memory is never edited behind your back.

Install

python -m pip install anima-recall-mcp

Run it (streamable-HTTP MCP server):

# a stable local secret so owner identity is consistent across restarts
export ANIMA_RECALL_OWNER_PEPPER="replace-with-at-least-32-random-bytes"
export ANIMA_RECALL_DB="$HOME/.anima/anima_recall.db"
anima-recall-mcp
  • MCP endpoint: http://127.0.0.1:8000/mcp
  • Health: http://127.0.0.1:8000/health
  • Privacy notice: http://127.0.0.1:8000/privacy

Point your MCP host at the endpoint above. See docs/CONNECT.md for host-specific wiring and docs/ARCHITECTURE.md for how the pieces fit.

Privacy and deployment

  • No name or email is ever required in tool input; owners are identified by a local salted hash.
  • Memory content is stored only in your configured local SQLite database.
  • A high-entropy ANIMA_RECALL_OWNER_PEPPER is required.
  • Multi-tenant gateways must set ANIMA_RECALL_GATEWAY_SECRET and authenticate requests with the documented gateway header; single-user local runs need nothing extra.
  • Back up the database file before upgrades.

License

Personal & non-commercial use. See LICENSE. Commercial, enterprise, or technology licensing: anima.handoff@gmail.com.

Early access is free through 2026-09-30 (UTC).

Development

export PYTHONPATH=src
python -m pytest -q      # full suite
python -m build

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

anima_recall_mcp-0.1.3.tar.gz (498.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

anima_recall_mcp-0.1.3-py3-none-any.whl (481.5 kB view details)

Uploaded Python 3

File details

Details for the file anima_recall_mcp-0.1.3.tar.gz.

File metadata

  • Download URL: anima_recall_mcp-0.1.3.tar.gz
  • Upload date:
  • Size: 498.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for anima_recall_mcp-0.1.3.tar.gz
Algorithm Hash digest
SHA256 7dcbff8392ba05fb799647839efece028e6f84dd0bdce4345569719781fe07a4
MD5 f8bdfe7d761bda3f65c16c80a921223e
BLAKE2b-256 80006b64ab363704a197147dc0eeabba3e4ac3f7db2f91f89b7b69e5090ff7a7

See more details on using hashes here.

File details

Details for the file anima_recall_mcp-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for anima_recall_mcp-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 9699e2e06e5bb5e0a8963bf09598574616d23af2894217d8be29575371ba074a
MD5 f755c81271964c6ea336fea96dfe254f
BLAKE2b-256 4921f9376471683b1d23927984b635645fabf289160cd401acaf3c722cc6b17c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page