Plug it into Claude Code, Cursor, or any MCP-compatible agent — and from that moment, the agent is inside your project graph.

The agent uses your project as documentation, the mind-map graph grows organically as the agent develops the project, and you just track it, add features, write to the graph, and let the agent sync and keep working.

You watch it happen. In realtime. On the same graph view you were just editing.


What MCP actually means here

MCP (Model Context Protocol) is how agents talk to tools. We expose 24+ tools that map 1:1 to graph operations:

Every call is a real mutation on your real project.


How a single prompt becomes a whole feature tree

Tell Claude Code: "Plan out the OAuth integration feature for me."

Here's what happens in the next few seconds:

  1. Agent calls get_tree — sees where feature work lives in your project
  2. Agent calls find_nodes — checks if OAuth work already exists (no duplicates)
  3. Agent calls batch_create_nodes — drops a hierarchical tree: parent "OAuth Integration" with children "Provider setup", "Token exchange", "Refresh flow", "Error handling", each tagged appropriately
  4. Agent calls update_node to set ranks via manual_priority, so the TODO list reflects the right order
  5. Optionally agent calls get_sprint_summary to confirm capacity, or set_deadline to lock dates

On your screen? You see the nodes appear. Bursting in, one by one, connecting themselves, glowing with their tag colors. The TODO list updates with the new ranks. No refresh. No reload. You were just watching your empty graph a second ago and now there's a full feature tree on it.


The realtime part — how it actually works

Under the hood: Yjs CRDT + Supabase Realtime broadcast channels.

Every project has a dedicated channel: yjs-project-{projectId}. Both the frontend (your browser) and the MCP server (wherever your agent runs) subscribe to it.

When the agent creates a node, the MCP server:

  1. Applies the change to a local Y.Doc
  2. Saves the delta to the database via RPC
  3. Broadcasts the update over the Realtime channel

Your browser receives the broadcast, applies the same Yjs update to its own Y.Doc, and React re-renders the graph. The whole round trip is sub-200ms.

This is bidirectional. The agent edits — you see it. You drag a node — the agent sees it. You're both operating on the same shared document at the same time. If you're writing notes on a node while the agent is restructuring a sibling, neither of you blocks the other. CRDTs handle the merge.


Authentication without pain

You don't type API keys into Claude Code. You go to your Develosaur project, hit "Connect Agent", and download a develosaur.json file. Drop it in your project root. That's it.

The MCP server walks up the directory tree to find it, exchanges the API key for a short-lived JWT (60 minutes, auto-refreshed), and scopes every single call to that project. The agent literally cannot touch any other project — the JWT claim won't let it.


Built-in slash commands

We ship four prompts the agent can invoke on itself:

Meaning: you can say "start working" and the agent pulls task #1 from the ranked TODO list, tags it IN-PROGRESS, walks through it, marks it complete, and moves to #2. You watch your graph update itself while you drink coffee.


Seven action types in Chat — same model, in-app

The Cloud Chat panel (in-app) speaks the same language. It proposes seven action types:

Every action queues for your review. You accept the ones that look right, reject the ones that don't.


Why this matters

DeveloSaur treats agents as collaborators. Same graph. Same realtime channel. Same engine deciding what's next. When the agent completes a task, the graph updates and the next task surfaces — for both of you.

The "less management" philosophy already removed humans from the management layer. MCP removes them from the execution bookkeeping layer too. The agent tags, scores, ranks, creates, completes. You write, review, ship.

You don't manage the tool. You don't manage the agent. You watch the project build itself, step in when it matters, and the graph keeps moving.

Connect an agent and watch it work