dragnodeto pull · drag space to orbit · scroll to zoom
MCP server live · v0.4.5
Watch once. Query forever.
Paste a YouTube link. I turn the talk into a Neo4j knowledge graph, every claim, every API, every paper cited, and mount it as an MCP server. Cursor, Claude Desktop, and Claude Code query it directly. You never re-watch the talk.
A profile is a schema. It tells Gemini what to extract from this talk, what to type it as, and what to skip. Switch profiles, get a different graph from the same video.
01
Software Engineer
Drop a 45-min Strange Loop talk on distributed consensus. Get back: every architectural decision the speaker made, the alternative they rejected, the latency numbers they quoted, and the exact minute the live demo fell over. Queryable from Cursor.
ArchitectureTradeoffsCodeAPIsFailure modes
02
ML Researcher
Drop a 30-min NeurIPS oral. Get back: the datasets, the ablation deltas, the hyperparameter ranges, the baselines compared, and the limitations the authors actually disclosed in the talk vs the paper. Cite-able weeks later from inside your draft.
Drop a 90-min interview. Get back: the four cleanest hooks under 12 seconds, the five quotable lines, the b-roll cues, and the beat where the guest contradicts themselves. Your editor can ask the graph.
HooksBeatsQuotesB-rollTension points
04
Educator
Drop a lecture series. Get back: the concept dependency tree, the prereqs flagged before assignment, the exercises the lecturer left ungraded, and the misconceptions they corrected mid-class.
ConceptsPrereqsExercisesMisconceptionsExamples
05
Founder
Drop a YC demo day or a Stripe Sessions keynote. Get back: every market-size claim with its source, every metric quoted, every competitive jab, and the strategy they hint at without naming.
BetsMarketsNumbersTacticsClaims
06
Journalist
Drop a 60-min press conference. Get back: who said what at what timestamp, citing whom, contradicting whom, a fact-checkable spine with one click back to the source frame.
ClaimsSourcesTimelineQuotesContradictions
— How
Three steps. Roughly forty seconds.
Each step is a real product surface, not a marketing illustration.
01Pick a profile
A profile is a schema. Pick SWE and I extract APIs, code, and architectural decisions. Pick ML Researcher and I extract datasets, ablations, and citations from the same video. The schema tells Gemini what to keep.
profiles · pick one
02Drop the URL
Paste a YouTube link. I stream the transcript through Gemini 2.5 Pro, type every entity, and write nodes + edges to Postgres + Neo4j, roughly 40s per hour of video on a free Gemini key.
youtube.com/watch?v=k_LR4NxvhUQqueued
transcribe · whisper
extract · gemini-2.5-pro
type · entities + edges
persist · postgres + neo4j
streaming…
03Query from your IDE
One JSON block in your mcp.json. Cursor, Claude Desktop, and Claude Code hit the same graph. Ask “what did Sarah Wen say about pace layers”, get the quote and the timestamp, not a summary of a summary.
Every video joins the same graph. By month 1 most users are at ~12k nodes. By year 1 you're at ~84k. Cross-video queries get more interesting the more you ingest.
nodes
12,400
— FAQ
The questions I'd ask before signing up.
NotebookLM scopes you to one notebook at a time, your psychology research can't reference your neuroscience notes, and there's no graph spanning your sources. I keep one Neo4j graph per workspace, every video you analyze joins it, and Cursor / Claude Desktop query it through MCP. NotebookLM tops out at 50 sources per notebook with no cross-notebook reasoning. I'm built for the case where you watch fifty talks on one topic and want them to talk to each other.
Yes. The server is live at /mcp/{your_key}/sse, Cursor, Claude Desktop, and Claude Code all accept the same JSON config. Six tools exposed: analyze_video, search_videos, chat_with_video, list_videos, get_video, delete_video. The MCP ecosystem hit ~17,000 servers and 97M monthly SDK downloads by Q1 2026, so the protocol is past the experimental phase. SSE is being deprecated in favor of Streamable HTTP through 2026, when Claude Desktop drops SSE support, I'll ship the new transport and the URL stays the same.
Free Gemini works. Google AI Studio gives you a free Gemini 2.5 Pro key at 5 RPM / 100 requests-per-day, no credit card. That's enough for ~5 videos/day at typical durations. If you'd rather use OpenRouter, their first 1M BYOK requests/month are free and they charge a 5% surcharge on the model price after that. Either way, your token bill goes to Google or to OpenRouter, not to me. I bill for storage (Postgres rows + Neo4j nodes), which is why Pro is $12 instead of $50.
Free tier: 30-day archive after cancellation, then deletion. Pro: graph persists; you can export every node and edge as JSON + GraphML at any time. Self-host export is on the roadmap (docker-compose with Postgres + Neo4j is what I run in production); the compose file works today but isn't documented for end users yet.
Embeddings find similar text. A graph remembers what's connected to what, "Sarah Wen cited Stewart Brand's pace layers in the Config 2024 talk at 10:14, then contradicted his slow-layer claim at 12:01". Embeddings can't represent contradiction or citation chains. I use both: embeddings for retrieval, the graph for reasoning. The graph is what makes "every paper cited across all 30 videos I watched" a one-line Cypher query instead of a manual scan.
Gemini 2.5 Pro by default, long context wins for hour-long talks. The same backend accepts OpenAI keys (GPT-4.1, GPT-5 when available) for the analyzer, and Anthropic via OpenRouter for chat. Local Ollama works through the OpenAI-compatible endpoint. I don't gate the choice, your key, your model.
No native app, by design. The product is the web app + the remote MCP server; your IDE is the front-end. Fully offline isn't supported yet, both ingestion (transcript + Gemini call) and graph queries hit the API. If you want air-gapped, the docker-compose path is the answer; it's runnable today but not officially supported.