veracium — memory MCP server for Claude Code
Keeps durable per-user memory for an agent: what the user said, past sessions, and what worked. Every fact carries its source, so something the agent merely read never turns into an assertion.
claude mcp add --env ANTHROPIC_API_KEY=<ANTHROPIC_API_KEY> --env VERACIUM_DB_PATH=<VERACIUM_DB_PATH> --env VERACIUM_USER=<VERACIUM_USER> --transport stdio veracium -- uvx veraciumWhat veracium does
The store of record is a typed graph plus dated episodes. Entity facts sit as relational edges with provenance attached; interaction history sits as episodes. A curated wiki view gets compiled from them and cached, but it is not the source of truth.
Single-valued facts such as employer, location or deadline keep one current value while the prior one stays in history, so older answers remain reachable. Facts that can hold several values at once accumulate instead. Third-party claims — a received email, an external doc — are quarantined structurally as third_party_claim edges with the claimant as subject. That is labelling, not enforcement: unless your harness has a dedicated path that consumes the labels, the trust classes stay advisory.
No keys or model choice are held by the server; it calls a Complete callable you provide, and a reference Anthropic provider ships with it. Default storage is one SQLite file with no external services, and the Store interface lets you swap in Neo4j or Postgres later. Python 3.14 or newer is required, and a store opens only on SQLite 3.45.1 as packaged by Ubuntu 24.04 — on any other build the server refuses both to create and to open a database, so moving to a different Python leaves earlier stores unopenable there.
What it helps with
- carry agent memory across sessions
- stop a read email from becoming a user fact
- keep the previous value after a fact changes
- plug in your own model instead of a bundled one
- run memory without an external database
Example prompts for the agent
- Remember that I'm vegetarian and my dog is named Ollie
- What do you remember about me before suggesting lunch?
- Clean up and rebuild memory for this user
How to install veracium
Platform CLI
claude mcp add --env ANTHROPIC_API_KEY=<ANTHROPIC_API_KEY> --env VERACIUM_DB_PATH=<VERACIUM_DB_PATH> --env VERACIUM_USER=<VERACIUM_USER> --transport stdio veracium -- uvx veraciumReplace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from veracium <command>
Platform CLI
codex mcp add veracium --env ANTHROPIC_API_KEY=<ANTHROPIC_API_KEY> --env VERACIUM_DB_PATH=<VERACIUM_DB_PATH> --env VERACIUM_USER=<VERACIUM_USER> -- uvx veraciumReplace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from veracium <command>
Config file
{
"mcpServers": {
"veracium": {
"command": "uvx",
"args": [
"veracium"
],
"env": {
"ANTHROPIC_API_KEY": "<ANTHROPIC_API_KEY>",
"VERACIUM_DB_PATH": "<VERACIUM_DB_PATH>",
"VERACIUM_USER": "<VERACIUM_USER>"
}
}
}
}Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from veracium <command>
Config file
{
"servers": {
"veracium": {
"type": "stdio",
"command": "uvx",
"args": [
"veracium"
],
"env": {
"ANTHROPIC_API_KEY": "<ANTHROPIC_API_KEY>",
"VERACIUM_DB_PATH": "<VERACIUM_DB_PATH>",
"VERACIUM_USER": "<VERACIUM_USER>"
}
}
}
}Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from veracium <command>
Platform CLI
gemini mcp add -e ANTHROPIC_API_KEY=<ANTHROPIC_API_KEY> -e VERACIUM_DB_PATH=<VERACIUM_DB_PATH> -e VERACIUM_USER=<VERACIUM_USER> veracium uvx veraciumReplace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from veracium <command>
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about veracium
How do I install veracium in Claude Code?
Run claude mcp add veracium -e ANTHROPIC_API_KEY=<ANTHROPIC_API_KEY> -- uvx veracium. To set your own database path and user, use the second form: `claude mcp add --env ANTHROPIC_API_KEY=<ANTHROPIC_API_KEY> --env VERACIUM_DB_PATH=<VERACIUM_DB_PATH> --env VERACIUM_USER=<VERACIUM_USER> --transport stdio veracium -- uvx veracium`.
What does veracium do?
It stores an agent's memory of a user and of past interactions, tagging where each fact came from. Third-party claims stay quarantined, and changing a single-valued fact keeps the old value as history.
Which Python version does veracium need?
Python 3.14 or newer. A store opens only on SQLite 3.45.1 as packaged by Ubuntu 24.04; on other builds the server refuses to work with the database.