Claude CodeOpenClawHermesDocsDashboard β†’
πŸ•ŠοΈPersistent memory for CLI AI agents

Hermes remembers what matters β€” AgentRecall makes it permanent

Hermes Agent already has Neo4j-backed memory (Elena), but setting it up is DIY β€” custom scripts, manual Neo4j config, and memories that die when the VM does. AgentRecall makes persistent memory plug-and-play for any Hermes instance.

Get Your API Key β†’View Docs
1 line
Config change
0
Neo4j setup
∞
Memory retention
Multi
Instance sync

Why Hermes memory needs fixing

You already run the most capable CLI agent. The memory layer shouldn't be the bottleneck.

πŸ› οΈ

DIY Setup

Neo4j, custom Python scripts, manual graph configuration. Hours of infra work before your agent remembers a single thing.

πŸ”

No Semantic Search

Built-in memory is keyword-based. Ask "what about Docker?" and miss the 5 memories about containerization.

πŸ’€

Dies With the VM

Memory lives on the filesystem. Rebuild the box, lose the history. No cloud backup, no sync, no persistence.

🧩

Instance Lock-in

Memory from your laptop stays on your laptop. Your server has its own memory. No sharing across Hermes instances.

Memory that just works

AgentRecall is purpose-built for Hermes. Drop-in MCP server, zero infra to manage.

πŸ”Œ

Plug-and-Play MCP

One config line in your Hermes config.yaml. No Neo4j setup, no custom scripts, no dependency management. AgentRecall runs as an MCP server β€” Hermes connects to it the same way it connects to any other tool.

# In your Hermes config.yaml mcp_servers: agentrecall: command: "agentrecall-mcp" env: AGENTRECALL_API_KEY: "ark_YOUR_KEY" AGENTRECALL_AGENT_ID: "hermes-agent"
πŸ”

Semantic Search Out of the Box

Ask in natural language, get relevant memories. No need to maintain keyword indices or set up embedding pipelines. AgentRecall handles vector embeddings and full-text search β€” your Hermes instance can search by meaning, not just keywords.

// From within Hermes β€” natural language query await recall.search({ query: "what did the user ask about Docker last week?", agent: "hermes-agent", limit: 5 })
πŸ•ΈοΈ

Graph Memory Without Neo4j

AgentRecall builds a knowledge graph from your memories automatically. Entities are extracted, relationships are detected, and everything is connected. No Neo4j instance to manage β€” it's all in the cloud.

// Find connections between memories await recall.traverse({ entity: "project_alpha", depth: 2 }) // Path between any two entities await recall.findPath({ from: "user_preferences", to: "deployment_config" })
πŸ”„

Cross-Instance Memory

Run Hermes on your laptop, your server, and your VPS β€” all sharing the same memory. Same account, same agent ID, same memories. VM dies? Your memory survives. Rebuild in minutes, pick up where you left off.

# Every Hermes instance with the same # AGENTRECALL_AGENT_ID shares memories AGENTRECALL_AGENT_ID: "hermes-agent" # Instance A stores a memory # Instance B can immediately search it # No sync scripts, no file copying

One config line. That's it.

Add AgentRecall to your Hermes config.yaml and restart. Your agent now has persistent, searchable memory.

# Install the MCP server pip install agentrecall-mcp
# config.yaml β€” Hermes MCP servers mcp_servers: agentrecall: command: "agentrecall-mcp" env: AGENTRECALL_API_KEY: "ark_YOUR_KEY" AGENTRECALL_AGENT_ID: "hermes-agent" # That's it. Restart Hermes. # Your agent now has persistent memory. # No Neo4j. No custom scripts. No infra.

How it compares

vs DIY Neo4j setup, built-in Hermes memory, and Mem0

FeatureAgentRecallAlternatives
Setup timeβœ“βœ—
Semantic searchβœ“βœ—
Graph memoryβœ“βœ—
Survives VM rebuildsβœ“βœ—
Cross-instance syncβœ“βœ—
AI entity extractionβœ“βœ—
No Neo4j requiredβœ“βœ—
MCP protocol nativeβœ“βœ—

Give your agent the memory it deserves

Hermes is the most capable CLI agent. Pair it with AgentRecall and your agent finally remembers everything β€” across every session, every instance, every VM rebuild.

Start for Free β†’