Caduceus Memory MCP
Integrates with Hermes Agent to store and retrieve durable memory via Markdown files and SQLite fact store.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Caduceus Memory MCP remember that my favorite color is blue"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Caduceus Memory MCP

A local shared-memory MCP server for Claude, Codex, Hermes, and other MCP-aware agents.
The goal is simple: one durable memory layer that every agent can read from and write to.
Claude Code ----\
Codex ----- caduceus-memory-mcp ---- ~/.hermes
Hermes ----/ memories/ + memory_store.dbWhy Caduceus?
Hermes carries messages. The caduceus is Hermes' staff. This project is the staff: the bridge that lets different agents carry the same memory forward.
Related MCP server: SafeFlo
Artwork
The project artwork uses an original ultramarine-and-ivory engraving style: two agent forms, a shared ribbon between them, and a persistent memory layer above. It is meant to nod toward the mythic Hermes lineage without copying or implying affiliation with Hermes Agent, Nous Research, or any other project.
What It Stores
Caduceus stores memory in two local forms:
Markdown files for always-on human-readable memory:
~/.hermes/memories/USER.md~/.hermes/memories/MEMORY.md
SQLite FTS fact store for searchable recall:
~/.hermes/memory_store.db
It is designed to sit next to Hermes, but it does not require Hermes Agent to be running.
Tools
The MCP server exposes:
memory_summary- read the current Markdown memory summarymemory_search- search the SQLite fact storememory_list- list recent factsmemory_add- add a durable memorymemory_update- update a fact by idmemory_remove- remove a fact by id
Install From A Clone
git clone https://github.com/ethos-zero/caduceus-memory-mcp.git
cd caduceus-memory-mcp
python3 -m venv .venv
.venv/bin/pip install -e .Your server command will be:
/absolute/path/to/caduceus-memory-mcp/.venv/bin/caduceus-memory-mcpConfigure Codex
Add this to ~/.codex/config.toml:
[mcp_servers.caduceus_memory]
command = "/absolute/path/to/caduceus-memory-mcp/.venv/bin/caduceus-memory-mcp"
args = []
startup_timeout_sec = 120
[mcp_servers.caduceus_memory.env]
HERMES_HOME = "/Users/YOU/.hermes"Restart Codex or open a fresh session so it reloads MCP servers.
Configure Claude Code
Add this to ~/.claude.json:
{
"mcpServers": {
"caduceus-memory": {
"type": "stdio",
"command": "/absolute/path/to/caduceus-memory-mcp/.venv/bin/caduceus-memory-mcp",
"args": [],
"env": {
"HERMES_HOME": "/Users/YOU/.hermes"
}
}
}
}If you already have other mcpServers, merge the caduceus-memory entry into the existing object.
Optional Claude SessionStart Hook
Claude Code can also auto-inject the Markdown memory at the beginning of each session. Copy:
examples/sessionstart-hermes-memory.shto something like:
~/.claude/hooks/sessionstart-hermes-memory.shThen add a SessionStart hook in ~/.claude/settings.json.
The MCP server is still the source of truth for search and writes; the hook just makes the high-signal Markdown summary visible immediately.
Environment Variables
Defaults are chosen for Hermes compatibility:
Variable | Default | Purpose |
| unset | Primary Caduceus home override |
|
| Hermes-compatible memory home |
|
| Markdown memory directory |
|
| SQLite fact store path |
Priority for home is:
CADUCEUS_HOMEHERMES_HOME~/.hermes
Local Smoke Test
python -m unittest discover -s tests -vTo test through an MCP client, use any MCP-compatible inspector/client and run:
caduceus-memory-mcpPrivacy
This server is local-first. It does not send memory anywhere by itself. Any agent you connect to it can read or write the configured local memory, so only connect agents you trust.
Name Ideas
If you want a different name before publishing:
caduceus-memory-mcp- Hermes' staff; strong bridge metaphormneme-mcp- Greek memory spirit; short and directmnemosyne-mcp- Greek goddess of memory; beautiful but harder to typeiris-memory-mcp- divine messenger bridge; lighter than Hermesatlas-memory-mcp- carries the world of contextaegis-memory-mcp- protective shared memory layerthreadkeeper-mcp- less mythic, very clear
Available Tools
6 toolsmemory_addA
Add a durable fact to shared memory.
Use target='user' for identity, preferences, and working style. Use target='memory' for projects, tools, paths, decisions, and setup notes.
Inputs: content (required), target, category, tags. Returns: result
memory_listB
List recent facts from the shared memory fact store.
Inputs: limit. Returns: result
memory_removeA
Remove a fact by id and remove the matching Markdown bullet if present.
Inputs: fact_id (required). Returns: result
memory_searchC
Search the shared memory fact store.
Inputs: query (required), limit. Returns: result
memory_summaryA
Return the always-on shared memory summary.
Inputs: no named parameters. Returns: result
memory_updateC
Update a fact by id.
Inputs: fact_id (required), content, category, tags, +1 more. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 6 tools
Each tool has a distinct operation: add, list, remove, search, summary, update. No overlap in functionality.
All tools follow the consistent pattern 'memory_' followed by a verb in imperative form (add, list, remove, search, summary, update).
6 tools cover essential CRUD plus search and summary, appropriate for a memory management server without being excessive.
Covers all basic operations: create, read (list/search), update, delete, plus a summary. No obvious gaps.
Related MCP Connectors
Shared memory and mail for your AI agents. Verified with Claude Code; other MCP clients in testing.
Shared memory MCP server for Claude Code, Codex, Gemini CLI and Cursor. Cited, editable.
One memory, every AI. A shared, user-owned markdown memory your AI clients read and write over MCP.
Persistent AI memory shared across Claude, ChatGPT, coding agents, and compatible MCP clients.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceA shared memory and coordination server for multiple AI coding agents, built on the Model Context Protocol (MCP).6MIT
- AlicenseNot gradedqualityCmaintenanceLocal MCP server for Claude Code providing persistent memory, task planning, and agent coordination with full transparency and no network calls.2MIT
- AlicenseNot gradedqualityBmaintenanceA local-first MCP memory server providing persistent, searchable memory for AI agents, powered by SQLite.1 npm1Apache 2.0
- FlicenseNot gradedqualityCmaintenanceAn MCP server that provides a shared memory layer for Claude across claude.ai, Claude Code CLI, and Desktop, storing revisioned memory entries, session timelines, handoffs, and uploaded artifacts in SQLite.-