When Claude Code or Codex finishes a task, Summon phones you, asks its open question and takes your spoken instruction. The agent carries on with what you said, and every agent after it finds that decision in one shared graph, with the call it came from.
One memory, any agent, any phone
How it works
Claude Code or Codex stops. Its Stop hook hands Summon the summary and its open questions.
›The graph decides whether to ring now. Your phone rings; Summon reads the summary and asks.
›Your answers and instructions become nodes linked to that exact call, never a flat transcript.
›The agent continues with your words. Every later agent reads them, with the path back to you.
"Keep the old route backward compatible." That sentence becomes a Decision node, linked to the call, the task and the agent that was running. Change your mind later and the new decision supersedes it, history intact.
Claude Code, Codex and Cursor read the same graph through one MCP server.
Ask any agent why it did something and it can show you: Decision → Call → you, with the time you said it, what it replaced, and which agents have read it since.
Track 01 · agents that act on connected data
Quiet hours you mentioned on an earlier call, how many calls you missed this hour, and how urgent the task is are all read from FalkorDB. The decision is written back as a node, so you can always see why your phone did, or did not, ring.
// where did this rule come from? MATCH (n {id: $id}) OPTIONAL MATCH (n)-[:MADE_IN|GIVEN_IN|LEARNED_IN]->(c:Call) OPTIONAL MATCH (c)-[:ABOUT]->(t:Task) -[:IN]->(:Session)-[:RUN_BY]->(a:Agent) OPTIONAL MATCH (n)-[:SUPERSEDES]->(old) RETURN n, c.at, t.title, a.name, old // what did the other agents do while I was away? MATCH (t:Task)-[:IN]->(s:Session)-[:RUN_BY]->(a:Agent) WHERE a.name <> $me AND t.done_ts >= $since RETURN t, a.name
Track 02 · agent memory and coordination
Provenance is a path. Handoff is a relationship between sessions. A changed mind is a SUPERSEDES edge. These are one-hop and three-hop questions in Cypher, answered in milliseconds by FalkorDB on every agent turn.
Works with
Stop hook in .claude/settings.json · memory over MCP in .mcp.json
Stop hook in .codex/hooks.json · codex mcp add summon
.cursor/mcp.json · stop hook returns a followup_message
Real calls on an Indian number through the public /v1/calls API · signed webhooks
Your spoken words become the agent's next instruction through its own Stop hook. No new app to install.
See the loop ›HMAC-verified webhooks, one event one write, and a poll fallback when a webhook goes missing.
See the Cypher ›Phone numbers are stored hashed. Unknown callers are rejected. The inbox runs only in the folder you choose.
Read more ›Mock voice mode answers the "call" in the Lens, so anyone can try the whole loop locally in minutes.
Run it ›Clone it, point it at FalkorDB, and wire any project. Mock mode needs no telephony account; switch to Shravan.ai for real calls.
uv run summon init . && uv run summon serve