Your agent is editing code it's never read.
It just scanned forty files to answer "what breaks if I change this?" It could have asked one fucking question.
Dendro is one model of your React or React Native codebase, rendered twice: semantics your agent can query, and a map you can both point at.
MCP tools that answer React questions in React terms: the component's contract
before an edit (props, state, contexts, blast radius), rerender risk with the
why, effect hygiene (leaked subscriptions, derived-state effects, fetch races
that exhaustive-deps can't see), navigation graphs (Next.js, React Navigation,
Remix, Expo Router), live runtime state from a running app — and whole-repo
orientation in one ~300-token call.
Symbol servers tell your agent where the symbol is. Dendro tells it what rerenders, and why.
Your app's constellation: a live dendrogram in VS Code, descended from Reactive. Your agent drives it — highlights what it's talking about, annotates, traces a prop, walks you through the architecture step by step while you click Next/Back. You watch the same map the agent reasons over.
- Install Dendro React — run
ext install RooneyTech.dendro-reactin VS Code, or install from the Marketplace - Open your React or React Native project in Claude Code
- Paste this:
Set up Dendro React for this project. The extension is already installed in VS Code. Do these steps in order:
- Find the MCP server path:
ls ~/.vscode/extensions/rooneytech.dendro-react-*/dist/mcp-server.js- Find the absolute node path:
which node- Create
.mcp.jsonin the project root using the absolute node path as"command"and the MCP server path as the first arg- Add a Dendro section to
CLAUDE.md(create it if needed) with: the entry file path,get_usage_guideas first call, and a note to run viz commands sequentially- Verify by calling
get_usage_guide
That's it. Your agent handles the rest.
Say "Dendro" in your prompts — like "Use Dendro to show me how this app is structured." It'll use the visualizer and deeper analysis instead of just reading files.
- Watch: "Open the Dendro visualizer and walk me through the app"
- Ask: "Use Dendro to check how healthy this codebase is"
- Before an edit: "Get the component contract for CheckoutForm first"
- "Where does state live? Use Dendro to trace the data flow"
- "Show me how navigation works in this app with Dendro"
- "Use Dendro to explain this repo's architecture like I've never seen it"
- Component contracts — props, state, contexts, blast radius, complexity in one call, before your agent edits
- Health audits — A-F grade with line-anchored findings and fixes (leaked listeners, fetch races, derived-state effects)
- Complexity scoring — every component graded, refactoring candidates named
- Navigation mapping — React Navigation, Next.js, React Router, Remix, Expo Router
- Context & data flow — providers, consumers, prop drilling detection
- Visual canvas — the agent highlights, annotates, and traces flows in a live dendrogram
- Runtime inspection — connect to a running app for live state, props, and hooks (optional)
Every tool is free — exports, snapshots, verified projection, live introspection,
and batch analysis included. No account, no license key, and no code leaves your
machine. The one exception is submit_feedback, which sends a debrief to the
maker only when you explicitly say yes.
| Setting | Default | Description |
|---|---|---|
dendro-react.autoStartRuntime |
false |
Auto-connect to React Native apps on activation |
dendro-react.runtimePlatform |
auto |
Target platform: auto, ios, android, or device |
dendro-react.runtimePort |
8097 |
DevTools WebSocket port |
dendro-react.runtimeHost |
localhost |
WebSocket host (0.0.0.0 for physical devices) |
dendro-react.projectorMode |
false |
Larger fonts/strokes for screen sharing |
- Setup Guide — manual setup, Cursor/Windsurf config, runtime connection, troubleshooting
- Tools Reference — every MCP tool with descriptions
Dendro is in early access. If something doesn't work, feels confusing, or you wish it did something different — I want to hear it.
- Issues & ideas: GitHub Issues
- Email: colin@rooneytech.com
- Or just tell your agent to use
submit_feedback— it knows what to do.
Built by Colin Rooney. Originally derived from Reactive, built at OSLabs with Micah Ziegler and Susana Lam. Named after the Greek word for tree and the branching dendrites of neurons.