Local-first OpenFlowKit diagramming tools for Claude, Cursor, Windsurf & other MCP clients.
This MCP server integrates OpenFlowKit diagramming into MCP clients such as Claude, Cursor, and Windsurf. It supports creating flows from templates, code, structured imports, or AI, refining diagrams visually, and exporting assets locally.
π οΈ Key Features
Local-first OpenFlowKit diagramming workflow
Flow creation from templates, code, structured imports, or AI
Diagram refinement in a visual studio
Access via a first-party MCP server
π Use Cases
Generate architecture and system-design diagrams for builders
Use Claude/Cursor/Windsurf to drive diagram creation from within MCP clients
Convert inputs (code or structured imports) into flowcharts
β‘ Developer Benefits
Developer-oriented diagramming for system design and architecture diagrams
Supports workflows involving AI assistance and code-to-diagram output
MCP-based integration for self-hosted or local-first usage
β οΈ Limitations
Tooling details beyond βfirst-party MCP serverβ and local-first diagramming are not provided in the source excerpt.
Create flows from templates, code, structured imports, or AI. Refine them visually, keep them local-first, and export as Cinematic MP4 walkthroughs β or drive everything from Claude / Cursor / Windsurf via our first-party MCP server.
π§· Anchored Layout Pin nodes β auto-layout rearranges around them
πͺ MCP Server Drive from Claude Desktop, Cursor, Windsurf
β‘ Worker Layout ELK runs off main thread UI stays responsive
π¦ Local AI Ollama localhost preset fully offline diagramming
β»οΈ Self-Correcting AI Bad DSL β AI sees its own output and repairs it
See it in action
OpenFlowKit demo 1
Why OpenFlowKit?
Every diagramming tool makes a compromise. OpenFlowKit doesn't.
Tool
What's missing
Excalidraw / tldraw
Freeform whiteboards β no structured diagram types, no DSL, no code imports
Mermaid.js
Code-only β no visual canvas, no AI, no interactive editor
Draw.io
Decade-old UX β Limited AI integration, no developer import pipelines
Lucidchart / Miro
Cloud lock-in β expensive, account required, your data lives on their servers
PlantUML
Server-dependent rendering β no visual editor, no local-first model
OpenFlowKit is the only MIT-licensed tool that combines a real workspace home, a professional visual canvas, bidirectional diagram-as-code, AI generation from 10 providers (including fully-local Ollama), automatic icon assignment from 1,600+ tech icons, anchored auto-layout, hardware-encoded cinematic MP4 export, and a Model Context Protocol server so Claude / Cursor / Windsurf can drive it directly β all with zero server-side storage.
Feature highlights
OpenFlowKit
Excalidraw
Draw.io
Mermaid
Lucidchart
Visual canvas editor
β
β
β
β
β
Bidirectional diagram-as-code
β
β
β
β
β
AI generation (10 providers + Ollama)
β
β
β
β
Limited
Mermaid import (8 types)
β
β
β οΈ
β
β
Auto-icon assignment (1,600+)
β
β
β
β
β
AWS / Azure / GCP / CNCF icons
β
β
β
Partial
β
Anchored auto-layout (pin nodes)
β
β
β
β
β
Cinematic MP4 export (WebCodecs)
β
β
β
β
β
Figma export (editable SVG)
β
β
β
β
β
No account required
β
β
β
β
β
Open source (MIT)
β
β
β
β
β
Paste Mermaid β Beautiful Diagrams
Paste any Mermaid flowchart, architecture, state diagram, class diagram, ER diagram, sequence diagram, mindmap, or journey β all 8 diagram families. OpenFlowKit renders it on a visual canvas and automatically assigns the correct branded icon to every technology node.
Paste this β you get the Express wordmark, PostgreSQL elephant, Redis logo, and RabbitMQ icon β all auto-detected, all beautifully laid out. No other tool does this.
1,600+ icons from developer, AWS, Azure, CNCF, and GCP catalogs are matched automatically based on node labels. No manual drag-and-drop. No configuration.
Icon matcher searches 1,600+ icons across all catalogs β exact match, then alias, then substring
Enricher assigns colors, icons, and provider SVGs to every node
ELK layout arranges everything cleanly
Mermaid quality gates
npm run test:mermaid runs the broad Mermaid parser/plugin/round-trip gate
npm run test:mermaid:layout runs the layout, import-state, and recovery corpus gate
npm run test:mermaid:gold runs both together
AI generation (API key required)
Describe your system in plain English. AI generates a diagram on the canvas with correct icons applied automatically.
Prompt
Output
"Node.js API with PostgreSQL and Redis"
3 nodes with correct icons
"AWS Lambda β SQS β DynamoDB"
3 nodes with AWS icons
"React frontend β Express β MongoDB β S3"
4 nodes across developer + AWS catalogs
10 providers supported: Google Gemini, OpenAI, Anthropic Claude, Groq, Mistral, NVIDIA NIM, Cerebras, OpenRouter, Ollama (fully local), or any custom OpenAI-compatible endpoint. Bad DSL from any provider is now auto-repaired β the model sees its own broken output and the parser error, then returns corrected DSL in a single follow-up turn.
Home first, editor second
OpenFlowKit now treats the product as two clear surfaces:
Home for creating, opening, duplicating, importing, and organizing flows
Editor for actual canvas work once a real document exists
That means the app does not create a fake default flow just to get you onto the canvas. If you delete everything, your workspace can stay empty until you intentionally create the next flow.
Flowpilot β AI generation with any model
Flowpilot sits directly in the editor. Describe a system, paste source code, upload a screenshot, or ask it to refine what's already on the canvas. Your API key is stored in your browser and sent directly to the provider β OpenFlowKit's servers never see it.
10 providers. Bring your own key. Switch any time. One runs entirely on your laptop.
Provider
Default model
Why use it
π¦ Ollama (local)
llama3.2
Fully offline. No key, no network, no cost.
Google Gemini
gemini-2.5-flash-lite
Free tier available, fast, browser-safe
OpenAI
gpt-5-mini
Best reasoning for complex architectures
Anthropic Claude
claude-sonnet-4-6
Excellent code and system understanding
Groq
openai/gpt-oss-120b
Fastest open-source inference available
Mistral
mistral-large-latest
Strong European privacy-first alternative
NVIDIA NIM
meta/llama-4-maverick-17b-128e-instruct
Enterprise GPU inference
Cerebras
gpt-oss-120b
Ultra-fast on WSE-3 silicon
OpenRouter
google/gemini-2.5-pro
Access 300+ models through one key
Custom endpoint
Any model
LM Studio, vLLM, or any OpenAI-compatible API
No proxy. No middleman. Direct browser-to-provider requests.
OpenFlow DSL β diagram as code
Every diagram has a live code panel. Edit the canvas β code updates. Edit the code β canvas updates. Two-way, always in sync.
π Class diagrams β UML with inheritance, composition, and interface relationships
βοΈ Sequence diagrams β async messages, actors, and lifelines
π§ Mind maps β collapsible radial trees with auto-layout
π€οΈ User journeys β steps, phases, and sentiment scoring
βοΈ State machines β transitions, guards, entry and exit actions
Editor workflow built for technical diagrams
OpenFlowKit works best when you move between the right surfaces instead of forcing everything through one panel:
Toolbar add menu for quick insert actions
Command Center for templates, import, assets, search, layout, pages, layers, and design systems
Studio for Flowpilot, Mermaid, OpenFlow DSL, infra parsing, and linting
Properties panel for exact visual and metadata edits
Large diagrams also get better organization with multi-page documents, layers, sections, and local-first document recovery.
π¬ Cinematic Export β hardware-encoded MP4, no other OSS tool ships this
Turn any diagram into an animated video walkthrough β node by node, edge by edge β entirely in your browser. No upload, no server, no third-party tool.
Designed for architecture reviews, onboarding docs, and demos where a static image doesn't cut it.
No other open-source diagramming tool does this.
On modern browsers (Chrome / Edge / Safari 16.4+ / Firefox 130+) OpenFlowKit encodes via WebCodecs VideoEncoder + an in-browser MP4 muxer β H.264 baseline, hardware-accelerated, faster than real-time, deterministic frame timing. No more dropped frames under load. MediaRecorder remains a fallback for older browsers, so the feature is purely additive.
πͺ MCP Server β drive OpenFlowKit from Claude Desktop, Cursor, Windsurf
Point any MCP client at the @vrun-design/openflowkit-mcp package and your AI assistant gains local-first diagramming tools β no API key, no cloud round-trip. Your client already has an LLM, so OpenFlowKit MCP supplies deterministic local validation, codebase analysis, templates, icon lookup, and viewer links.
Then ask Claude: "Read the OpenFlowKit DSL cheatsheet, create a checkout flow with a promo-code branch and a Stripe webhook step, validate it, and create a viewer URL." The DSL comes back in seconds and stays editable in OpenFlowKit.
8 local-first tools β validate DSL, create viewer URLs, analyze codebases, find icon slugs, fetch starter templates, and inspect capabilities (no API key, runs on your machine)
5 resources β DSL cheatsheet, template catalog, template bodies, full icon catalog, and per-provider icon catalogs
3 prompts β flowchart creation, Mermaid conversion, and codebase architecture, all using the client model
Pure Node, zero infra cost β runs on the user's machine, ships via npm
PNG / SVG β transparent background, pixel-perfect at any resolution
PDF β print-ready, vector-crisp
Mermaid β paste directly into GitHub READMEs, Notion, Confluence, Linear
PlantUML β for enterprise toolchains and legacy integrations
Figma β full editable SVG import with preserved layers
JSON β complete round-trip import/export, no data loss
Local-first by default β your data, your machine
Local-first is the default. Your saved flows live in your browser's IndexedDB. Your AI keys stay on your device β every request goes directly from your browser to the provider you chose. Exports are explicit and run entirely client-side. No accounts, no telemetry, no server-side storage.
Real-time P2P collaboration over WebRTC exists in the codebase as an opt-in beta (set VITE_COLLABORATION_ENABLED=true). It is off by default while we redesign the signaling path for production reliability β the local-first experience does not depend on it.
Canvas built for keyboard-first developers
Shortcut
Action
β K / Ctrl K
Command bar β search, import, layout, assets, and actions
β \ / Ctrl \
Toggle the live code panel
β Z / Ctrl Z
Full undo with complete history
β D / Ctrl D
Duplicate selection
β G / Ctrl G
Group selected nodes
P
Pin / unpin selected nodes (anchored layout)
β / / Ctrl /
Keyboard shortcuts reference
Plus: smart alignment guides, snap-to-grid, multi-select, pages, layers, sections, architecture lint, light/dark/system theme, and full i18n in 7 languages.
Open http://localhost:3045. The container serves the production build with nginx, SPA route fallback, long-lived caching for hashed assets, and the same security headers used by the static hosting path.
No database. No secrets. No infrastructure. One folder, or one container.
Tech stack
Layer
Technology
Framework
React 19 + TypeScript 5
Build
Vite 6
Canvas
React Flow (XYFlow)
Auto-layout
ELK.js β runs in a Web Worker, off the main thread
@vrun-design/openflowkit-mcp β Model Context Protocol stdio
Collaboration
WebRTC P2P (opt-in, off by default)
i18n
react-i18next β 7 languages
Testing
Vitest + Playwright
Contributing
All contributions are welcome β bug fixes, new diagram types, parser improvements, translations, and documentation.
Start here:
bash
npm run dev # development server at localhost:5173
npm run test# unit tests via Vitest
npm run e2e # end-to-end tests via Playwright
npm run lint # ESLint + TypeScript type-check