Openflowkit MCP
Architecture diagrams for your agent: draw on the live OpenFlowKit canvas or edit diagram files.
Connector by openflowkit · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/openflowkit-openflowkit-mcp
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: documentation, ui-design
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.
Runs code on install
Its package runs an install script (such as npm postinstall or setup.py code) as soon as you install it, before any tool is called. Read the script first.
- Tools
- 19 read · 8 write · 2 delete · 2 not yet classified
- Secrets
- None asked for
- Install scripts
- Runs code on install
- Runs as
- Node.js package
Tools by what they do 31
Read from the source code; the running server may list different tools.
Read 19 · Look things up without changing anything.
analyze_codebasediscover_architecturedrift_reportexplain_elementfind_iconsget_starter_templateget_syntaxget_viewlist_diagram_node_typeslist_diagramslist_shapeslist_starter_templates
Show 7 more tools
preview_diagramread_diagramrender_diagramselectserver_infovalidate_openflow_dslwhoami
Write 8 · Create, change, send or run things.
add_diagramadd_shapemovemove_shapesopenflow_createopenflow_savestyleupdate_diagram
Delete 2 · Delete, drop, revoke or wipe things.
deletedelete_shapes
Not yet classified 2 · We could not tell from the name and description.
openflow_openstyle_shapes
Files it touches
- Any path the agent passes to its tools
Tools (31)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
add_diagramAdd a new diagram to the page. Queued for the user to review; returns compile errors to fix.
add_shapeAdd shapeAdd one hand-drawn shape (not a diagram: use add_diagram for those). Returns its id.
analyze_codebaseAnalyze a local codebaseWalk a directory on disk and report detected cloud platform, services, top-level structure, and language breakdown. No network access — pure local filesystem scan. Useful to seed an architecture diagram.
deleteDelete shapesDelete nodes (with their children and the connectors attached to them) or connectors, by id. One undo step.
delete_shapesDelete shapes, connectors, or whole diagrams by frame id. Queued for review.
discover_architectureDiscover architecture from a repositoryWalk a local repo (compose, Dockerfiles, k8s, terraform, package manifests, datastore and HTTP-client usage) and return a proposed OFK C4 workspace as DSL, with evidence per unit. Deterministic, offline; review the proposal before committing it.
drift_reportArchitecture drift reportCompare an architecture model (inline dsl, a documentId, or else architecture.ofk in path) against a repository. Returns missing (in repo, not in model), undrawn (in model, no repo evidence) and changed (name matches, tech or dir differs) with evidence lines.
explain_elementExplain a model elementEverything known about one element: the model entry, its relations, repository evidence (when a path is given) and the ADR markdown files its links point at.
find_iconsIcon ids for a concept or product ("database", "queue", "lambda"). Use the returned ids in `icon:` attributes; never invent one.
get_starter_templateGet a starter templateReturn the OpenFlow DSL for a named starter template. Use list_starter_templates to discover available names.
get_syntaxRead the DSL grammarread-onlyThe OpenFlow DSL grammar, so you can write source for render_diagram. Pass a family (flowchart, architecture, sequence, state, erd, class, gitgraph, mindmap, chart, wireframe) for just that section.
get_viewWhat the person seesread-onlyWhat the person is looking at in the editor now: the page, Canvas or Map mode, their selection (ids, kinds, labels), the camera, and the top-level shapes on screen. Use it to resolve "this", "here" or "the one I selected" before acting.
list_diagram_node_typesList OpenFlow DSL shapes, families and edge stylesQuick reference for the OpenFlow DSL vocabulary: family names, shape words, edge arrows, and the wireframe controls and screen frames. Call get_syntax for the full grammar.
list_diagramsEvery diagram in the document: frame id, page, family, title, and whether it is in scope for changes.
list_shapesHand-drawn shapes in scope (not part of a diagram): id, kind, label, position, size, locked.
Show 16 more tools
list_starter_templatesList starter templatesList built-in OpenFlow starter templates that can be loaded without any AI call. Returns names, titles, categories, and one-line summaries.
moveMove shapesMove nodes on the canvas, by `delta`, or so the first id lands at `to` (the rest keep their offsets). Pass exactly one of the two. One undo step. A diagram regenerated from text lays its nodes out again.
move_shapesMove shapes, or whole diagrams by frame id, by dx/dy pixels (+x right, +y down). Queued for review.
openflow_createNew documentCreate an empty file-mode document in this process.
openflow_openOpen a .openflow.jsonLoad a canonical document from disk into file mode and return its id.
openflow_saveSave to .openflow.jsonWrite a document to disk (svg: true also writes the first page as a .svg beside it). With a paired editor and no documentId, saves what the editor currently shows.
preview_diagramPreview a diagram being writtenread-onlyUsed by the diagram card to draw while a diagram is being written. Not for the model: call render_diagram or create_diagram.
read_diagramThe full DSL of one diagram. Call it for any diagram not shown in full before changing or explaining it.
render_diagramDraw a diagramread-onlyDraw a diagram from OpenFlow DSL or Mermaid and show it inline. Pass `source` (flowchart, architecture, sequence, state, ER and more; call get_syntax first if you are unsure of the DSL). Returns the picture plus the canonical DSL (edit it and call again to revise) and a link that opens it in the editor. Invalid source returns diagnostics with line numbers: fix and retry.
selectSelect and showread-onlySelect shapes and connectors on the page in view and bring them on screen, so the person sees what you mean ("these three"). Changes the view only, not the document; the person can carry on from the selection.
server_infoServer infoReturn the server version and the tools, resources and prompts it serves. Useful when debugging client connections.
styleStyle shapesSet fill, stroke, stroke width, dash, opacity or text colour on nodes, or move the icon on icon cards (iconPlacement). Pass at least one property. One undo step. A diagram regenerated from text drops these unless its DSL carries them (get_diagram lists them as canvasEdits).
style_shapesColour shapes. Pass only what changes. Queued for review.
update_diagramReplace an in-scope diagram with its complete new DSL (not a diff). Queued for the user to review; returns compile errors to fix.
validate_openflow_dslValidate OpenFlow DSLParse and compile OpenFlow DSL — or Mermaid, Structurizr DSL or D2, converted first — and return structured diagnostics (code, severity, line, column, message, hint), the same check as `openflowkit validate`. `ok` is false on any error: text that cannot be drawn, or a line the parser could not read (create_diagram would draw without it). Warnings name guesses (an unknown word, a misspelled header) that still draw. For another language, `converted.dsl` is what it became and `converted.losses` name the lines of your text that did not carry over; diagnostics then refer to `converted.dsl`.
whoamiWho am I talking toLocal-only status: whether an editor is paired, and the documents this server holds.
Compare and alternatives
Featured in
Signals
- Stars
- 908
- Forks
- 177
- Open issues
- 2
- Contributors
- 9
- Last commit
- Oct 22, 2026 (6 days ago)
- Last release
- Oct 13, 2026 (15 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- Registry name
io.github.openflowkit/openflowkit-mcp- Version
- 0.2.4
- Auth
- No auth
- Packages
- npm openflowkit
- License
- MIT
- Repository
- github.com/openflowkit/openflowkit
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
More from openflowkit
Cite this page
Openflowkit MCP. Agent Mart. https://agentmart.dev/connectors/openflowkit-openflowkit-mcp (last updated 2026-10-24)