Veracium

Provenance-aware memory for AI agents — durable, per-user memory that resists the injection and confabulation failures of naive memory.

Veracium gives your AI agent a long-term memory of each user it serves. Out of the box, an agent forgets everything between sessions; with Veracium it remembers what it learns — who the user is, what they prefer, where they work, what changed — and carries that into every future conversation. A small Python library, plus an MCP server so Claude Desktop, Claude Code, or any MCP client can use it without writing code.

Why this memory layer and not a vector store or your framework's built-in memory:

$ pip install veracium

v0.2 — MIT-licensed, on PyPI. Every guarantee above ships with a self-check you can run: veracium selfcheck.

Wire it up

The whole integration is one object and three calls — no services to run, no schema to design. Bring any model (AnthropicComplete is a convenience; any callable works, including local models via the OpenAI-compatible example provider).

from veracium import Memory, EvidenceAuthor
from veracium.llm.anthropic import AnthropicComplete

mem = Memory(llm=AnthropicComplete())   # or pass your own Complete callable

# Remember interactions. `author` is the trust-critical input.
mem.remember("alice", "USER: I'm vegetarian and have a dog named Ollie.")
mem.remember("alice", "From billing@scam: you owe $900.",
             author=EvidenceAuthor.THIRD_PARTY, event_type="email")

# Recall grounded, provenance-flagged context for any prompt...
ctx = mem.recall("alice", "suggest a lunch spot")
print(ctx.context)   # the vegetarian constraint as fact; the $900 "claim"
                     # rendered under a never-assert flag — not as truth

# ...or ask directly through the abstention gate:
mem.answer("alice", "Do I owe anyone money?")
# → reports the $900 only as an unverified third-party claim; asserts nothing

Using Claude Desktop or Claude Code instead? No code at all — the bundled MCP server exposes the same memory as tools (remember / recall / answer / maintain) with one config block:

{
  "mcpServers": {
    "veracium": {
      "command": "veracium-mcp",
      "env": {
        "ANTHROPIC_API_KEY": "sk-...",
        "VERACIUM_DB_PATH": "/home/you/.veracium.db"
      }
    }
  }
}

Full quickstart in the docs, or run the end-to-end scam-email demo notebook in Colab. Integrating with LangChain? There's a worked example too.