Ditto

Start typing to search...

Agent Integrations

Connect Ditto memory to CLI-first agents like OpenClaw and Hermes, or use the MCP server with MCP-capable tools.

Ditto can live inside the agents you already use. The right setup depends on how the agent integrates with outside tools.

Choose Your Path

Agent or toolIntegration typeStart here
Any CLI-first agent that can run a shell commandAgent-native signup with local CLI authAgent-Native Signup
Ditto CLILocal command surface for agent skillsDitto CLI
OpenClawClawHub skill that calls the Ditto CLIConnect Ditto to OpenClaw
Hermes AgentHermes skill tap that calls the Ditto CLIConnect Ditto to Hermes Agent
Codex, Claude, Cursor, Antigravity, other MCP clientsRemote MCP serverDitto MCP Server

OpenClaw and Hermes do not connect to Ditto as MCP clients. They install a skill that invokes the Ditto CLI. The CLI talks to Ditto’s API, stores or reads the same memory graph, and can now self-provision a temporary claimable account with one command.

What The CLI Gives Agents

The Ditto CLI exposes the memory operations an agent needs while keeping auth local:

  • npx -y @heyditto/cli search for semantic memory search
  • npx -y @heyditto/cli fetch for retrieving specific memories
  • npx -y @heyditto/cli save for durable preferences, decisions, and facts
  • npx -y @heyditto/cli subjects for subject lookup
  • npx -y @heyditto/cli memories for memory previews scoped to a subject
  • npx -y @heyditto/cli network for related memories and subject context
  • npx -y @heyditto/cli status for verifying auth and endpoint access

After a global install, use heyditto <command> instead. Avoid relying on ditto on macOS because it collides with Apple’s built-in /usr/bin/ditto file-copy utility.

Use the dedicated docs for the exact install commands, API key flow, and troubleshooting steps for each agent. Use Ditto CLI when you need standalone install, auth, verification, or command reference details.

Preferred Auth Flow

For CLI-first agents, start with:

npx -y @heyditto/cli init --agent --agent-caller "NAME_OF_AGENT" --json
# or: bunx @heyditto/cli init --agent --agent-caller "NAME_OF_AGENT" --json

Set --agent-caller to the agent’s name (or a name the human has chosen). It is set once at init and labels the agent’s saved memories, so pick it up front — see Agent-Native Signup.

That gives the agent a working local key stored in CLI config and a claimURL to hand to the human owner. The CLI should not print the generated key. The human claims the account later without changing the key the agent already uses.

See Agent-Native Signup for the full flow and security details.