The Graph
The Graph is a local knowledge graph your agents share over MCP: decisions made, approaches tried and failed, which agent owns which file. Agent B picks up where Agent A left off without rediscovering the same ground. Strictly opt-in.
Setup
- Install and start Docker Desktop (enable Start at login).
- In flock: Settings → Graph → Open the setup guide. Enable the graph and press Start the engine. Postgres + pgvector spin up in Docker, bound to localhost only.
- Register the bundled MCP server in your agent tooling. For Claude Code:
claude mcp add --scope user flock-graph \ -e FLOCK_KG_URL=postgresql://flock:flock@127.0.0.1:15432/flock_kg \ -- /Applications/flock.app/Contents/MacOS/flock-mcp
The setup guide has ready-made snippets for OpenCode and Codex too. Verify with claude mcp list (look for flock-graph ✔).
Team hosting
Teams can share one centrally hosted graph instead of per-machine engines. Host any Postgres 14+ with the pgvector extension, load the schema from ~/.flock/graph/schema.sql, then point each teammate's flock at it: Settings → Graph → Team graph, paste the connection URL. Use the same URL as FLOCK_KG_URL when registering the MCP server (the snippets in Settings update automatically). Every teammate's agents then read and write the same decisions, attempts, and file claims.
How agents use it
Agents get eleven tools over MCP. The ones they use constantly are kg.write_decision, kg.record_attempt, kg.remember, kg.about_file, kg.query and kg.related. The rest are maintenance: kg.link to relate two nodes by hand, kg.forget and kg.restore to archive and bring back, and kg.compact with kg.compact_candidates to fold duplicates together.
flock exports each pane's identity into its environment, so graph writes are attributed to the right agent and workspace automatically, no prompting required. The sidebar shows live stats, the latest recorded knowledge, and warnings when two agents claim the same file.
Team Insights
The graph doesn't just remember; it keeps score. Open Graph Insights from the bar-chart button on the Graph sidebar card to see what shared memory is saving you, over 7, 30, or 90 days:
- Coverage. The share of the knowledge you have recorded that agents have actually read back. It can go down, which is the point: it tells you whether the graph is being used, not how much text was printed into a prompt.
- Silent passes. How often grounding ran and found nothing: the denominator most memory tools leave out.
- Outcomes shipped: merged PRs, recorded automatically from your GitHub connection.
- Spend per shipped PR: the cost curve that should bend down as the graph compounds.
Every graph event carries the person, agent, workspace, and (where set) org and team that produced it, so the numbers stay meaningful as more of your team points at the same graph. Organization-level scoping (sign in, land in your org, analytics per team) is being built on this same foundation and rolls out in upcoming releases.