Documentation

Codex, Cursor, Claude Desktop and others

Claude Code gets the full loop: hooks for the automatic briefing, recall and capture, plus the tools. Every other agent gets two of the three channels — the tools over hosted MCP, and the rule files in the repo, which need no tool at all.

1

Hosted MCP (any MCP client)

Add the connector — Claude opens a browser to authorize Memmo once, nothing to copy:

claude mcp add --transport http memmo https://api.memmo.dev/mcp

First use shows Sign in with Memmo; approve, and the client stores the connection. It then carries across your sessions — cloud and local — with no token to set per machine. Revoke it anytime in Account → Connected apps.

For a headless client or CI (no browser to authorize), pass a project token instead:

claude mcp add --transport http memmo https://api.memmo.dev/mcp \
  --header "Authorization: Bearer <token>"

Either way, the agent passes its repo (git remote or owner/repo) per call and Memmo routes it to the right project. The tools are the same four: get_repo_context, search_memory, get_relevant_warnings, propose_memories.

2

Claude Desktop

memmo desktop

Writes the Memmo server into Claude Desktop's local config; the snippet is also shown under Agents in the app.

3

Rule files, for everything else

Rule files put approved memory straight into CLAUDE.md, AGENTS.md (Codex and many others) and .cursor/rules, with the memory tree beside them. An agent that reads markdown from the repo is covered, with or without MCP.

4

Worktrees and cloud sessions

A git worktree works as-is: it shares the repo's remote, so the CLI resolves the same project, and the committed .mcp.json, CLAUDE.md and hooks come with the checkout. A cloud sandbox (Claude Code on the web, a CI runner) has no memmo login: set MEMMO_TOKEN as an environment secret there — a project token from Account — and the hooks and the MCP server use it. Rule files need nothing at all; they are just files in the repo.

Capture is where other agents differ: without hooks, they propose memories only when they call propose_memories. Merged pull requests and repo scans still feed the inbox for every project.