@vrun-design/openflowkit-mcp

MCPcommunity
v0.2.2io.github.Vrun-designMITUpdated 10d agonpmGitHub

Local-first Model Context Protocol server for OpenFlowKit — pair the live editor or edit .openflow.json files: create/update/read diagrams from DSL, scene ops, icon search, export. No account, no cloud.

Works in
ClaudeCursorCopilotGemini

Inferred from the transports this listing declares (stdio). A client not listed here hasn’t been ruled out — it just isn’t something Forge can confirm.

Automatically indexed from public sources. Not yet verified by the developer on Forge.Claim this listing →
499Downloads/wk
900GitHub stars
175Forks
10d agoLast update
Package
Authorio.github.Vrun-design
LicenseMIT
Version0.2.2
Sourcenpm+mcp-registry
Trust Status
B
60/100Good
✓Listed in Forge index+10/10
—Publisher identity verified+0/20
→ Publisher: run `forge publish` from the package repo to claim ownership
—Ed25519 publish signature+0/5
→ Included automatically when the publisher runs `forge publish`
—Domain verification+0/5
→ Publisher: host /.well-known/forge.json on the package homepage with { "publisher": "<github-login>" }
—npm Trusted Publishing (Sigstore)+0/5
→ Publish from GitHub Actions with --provenance so the attestation binds this package to this repo
—npm maintainer match+0/5
→ Earned once your identity is verified above and that login is an npm maintainer of this package
✓CVE scan · clean+30/30
✓Static analysis · clean+20/20
Paste into Claude Code, Cursor, or any AI assistant to fix all gaps
StatusCommunity-indexed
PublisherUnverified
SignatureUnsigned
Domain—
Provenance—
Dependencies✓ 60 resolved+ · none vulnerable
Tool surface37 tools · 2 privileged
Security scan✓ Cleanv0.2.2 · todayHow well does this scan work?
EvalsNone
IndexedOct 17, 2026

Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.

Tools

37 tools · 2 privileged
Statically extracted from the published packagev0.2.2 · 5h ago

Read out of the source npm actually ships, at scan time. The package was never executed. Tools registered dynamically at runtime, or hidden inside bundled or minified code, can be missed — so this is a floor on the tool surface, not a complete census of it.

analyze_codebaseWalk a directory on disk and report detected cloud platform, services,

Walk a directory on disk and report detected cloud platform, services,

No input schema was published for this tool.

discover_architectureWalk a local repo (compose, Dockerfiles, k8s, terraform, package manifests, datastore and

Walk a local repo (compose, Dockerfiles, k8s, terraform, package manifests, datastore and

No input schema was published for this tool.

drift_reportCompare an architecture model (inline dsl, a documentId, or else architecture.ofk in path) against a repository.

Compare an architecture model (inline dsl, a documentId, or else architecture.ofk in path) against a repository.

No input schema was published for this tool.

explain_elementEverything known about one element: the model entry, its relations, repository evidence

Everything known about one element: the model entry, its relations, repository evidence

No input schema was published for this tool.

list_diagram_node_typesQuick reference for the OpenFlow DSL vocabulary: family names, shape words, edge arrows, and the wireframe controls and screen frames.

Quick reference for the OpenFlow DSL vocabulary: family names, shape words, edge arrows, and the wireframe controls and screen frames.

No input schema was published for this tool.

server_infoReturn the server version and the tools, resources and prompts it serves.

Return the server version and the tools, resources and prompts it serves.

No input schema was published for this tool.

get_starter_templateReturn the OpenFlow DSL for a named starter template. Use

Return the OpenFlow DSL for a named starter template. Use

No input schema was published for this tool.

list_starter_templatesList built-in OpenFlow starter templates that can be loaded without any AI

List built-in OpenFlow starter templates that can be loaded without any AI

No input schema was published for this tool.

create_diagramDraw a new diagram frame from text, placed right of what the page already holds (or at `at`). One undo step. To change a diagram that exists, use update_diagram with its frameId instead of drawing another.

Draw a new diagram frame from text, placed right of what the page already holds (or at `at`). One undo step. To change a diagram that exists, use update_diagram with its frameId instead of drawing another.

No input schema was published for this tool.

update_diagramRedraw an existing diagram frame from new text, in place: same frame id and position, one undo step (a C4 workspace redraws every view page it owns). The text replaces the frame, as Generate in the code panel does, so canvas edits it does not carry (get_diagram lists them as `canvasEdits`) are drop…

Redraw an existing diagram frame from new text, in place: same frame id and position, one undo step (a C4 workspace redraws every view page it owns). The text replaces the frame, as Generate in the code panel does, so canvas edits it does not carry (get_diagram lists them as `canvasEdits`) are drop…

No input schema was published for this tool.

get_diagramNo description published

This tool published no description. Forge does not invent one.

list_diagramsEvery diagram frame in the document: frameId, page, family, title, and `edited` (the canvas no longer matches its text).

Every diagram frame in the document: frameId, page, family, title, and `edited` (the canvas no longer matches its text).

No input schema was published for this tool.

get_syntaxThe OpenFlow DSL grammar: the full reference, or one family’s section.

The OpenFlow DSL grammar: the full reference, or one family’s section.

No input schema was published for this tool.

search_iconsSearch the shipped icon packs by name (e.g. "lambda", "sql database"). Use the returned provider/slug in DSL `icon:` attributes.

Search the shipped icon packs by name (e.g. "lambda", "sql database"). Use the returned provider/slug in DSL `icon:` attributes.

No input schema was published for this tool.

find_icons_forConcept search ("cache", "queue", "auth") expanded into catalog queries and ranked; the fastest way to pick icon ids for architecture DSL.

Concept search ("cache", "queue", "auth") expanded into catalog queries and ranked; the fastest way to pick icon ids for architecture DSL.

No input schema was published for this tool.

exportExport the document, a page, or a selection as SVG, PNG, PDF (print HTML), JSON, or an animation (animated SVG, GIF, MP4, WebM). Returns the file bodies. Raster animation needs a live editor (WebCodecs); a file host serves animated SVG only.

Export the document, a page, or a selection as SVG, PNG, PDF (print HTML), JSON, or an animation (animated SVG, GIF, MP4, WebM). Returns the file bodies. Raster animation needs a live editor (WebCodecs); a file host serves animated SVG only.

No input schema was published for this tool.

screenshotA PNG image of one diagram frame, or of the whole page, to check your work by eye. Needs a live editor (the user clicks "Connect agent").

A PNG image of one diagram frame, or of the whole page, to check your work by eye. Needs a live editor (the user clicks "Connect agent").

No input schema was published for this tool.

fit_viewPoint the live editor's camera at one diagram frame, some ids, or (with neither) the whole page. Changes the view only, not the document.

Point the live editor's camera at one diagram frame, some ids, or (with neither) the whole page. Changes the view only, not the document.

No input schema was published for this tool.

get_documentNodes and connectors of one page, with ids, labels and geometry, plus `selection`: the ids the user has selected on that page in the live editor ("the box I selected"; empty in file mode or when nothing is selected). Use get_diagram for a diagram's DSL.

Nodes and connectors of one page, with ids, labels and geometry, plus `selection`: the ids the user has selected on that page in the live editor ("the box I selected"; empty in file mode or when nothing is selected). Use get_diagram for a diagram's DSL.

No input schema was published for this tool.

list_pagesEvery page in the document with its shape counts and diagram kind.

Every page in the document with its shape counts and diagram kind.

No input schema was published for this tool.

moveprivilegedMove 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 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.

No input schema was published for this tool.

styleSet 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).

Set 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).

No input schema was published for this tool.

deleteprivilegedDelete nodes (with their children and the connectors attached to them) or connectors, by id. One undo step.

Delete nodes (with their children and the connectors attached to them) or connectors, by id. One undo step.

No input schema was published for this tool.

add_shapeNo description published

This tool published no description. Forge does not invent one.

c4-workspaceNo description published

This tool published no description. Forge does not invent one.

auth-flowNo description published

This tool published no description. Forge does not invent one.

three-tier-architectureNo description published

This tool published no description. Forge does not invent one.

request-sequenceNo description published

This tool published no description. Forge does not invent one.

order-stateNo description published

This tool published no description. Forge does not invent one.

event-pipelineNo description published

This tool published no description. Forge does not invent one.

simple-processNo description published

This tool published no description. Forge does not invent one.

openflow_createCreate an empty file-mode document in this process.

Create an empty file-mode document in this process.

No input schema was published for this tool.

openflow_openLoad a canonical document from disk into file mode and return its id.

Load a canonical document from disk into file mode and return its id.

No input schema was published for this tool.

openflow_saveWrite 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.

Write 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.

No input schema was published for this tool.

whoamiLocal-only status: whether an editor is paired, and the documents this server holds.

Local-only status: whether an editor is paired, and the documents this server holds.

No input schema was published for this tool.

render_diagramDraw a diagram from OpenFlow DSL or Mermaid and show it inline. Pass `source` (flowchart, architecture, sequence,

Draw a diagram from OpenFlow DSL or Mermaid and show it inline. Pass `source` (flowchart, architecture, sequence,

No input schema was published for this tool.

validate_openflow_dslParse and compile OpenFlow DSL — or Mermaid, Structurizr DSL or D2, converted first — and return structured diagnostics

Parse and compile OpenFlow DSL — or Mermaid, Structurizr DSL or D2, converted first — and return structured diagnostics

No input schema was published for this tool.

28 of 37 tools published a description.

Tool names and descriptions are written by the publisher and shown verbatim as inert text. They are the strings an MCP client passes to a model, so Forge scans them for prompt-injection patterns — any finding appears with the security scan above. “Privileged” is a keyword match on the tool name, not an audit of what the tool does: a benign-sounding name can still do anything.

About

Local-first Model Context Protocol server for OpenFlowKit — pair the live editor or edit .openflow.json files: create/update/read diagrams from DSL, scene ops, icon search, export. No account, no cloud.

Keywords
mcpmodel-context-protocolopenflowkitdiagramflowchartmermaidclaudecursorwindsurflocal-first
Alternatives
Comparing tool surfaces…

Dependency tree

What one Forge scan resolved from npm metadata on 2026-10-22 — observed resolution, not a publisher declaration.

60 packages resolved · 3 direct · none carrying advisories Resolution stops at depth 4 and 60 packages.

The crawl stopped at the 60-package limit. The rest of the tree was never resolved.

36 more resolved packages are not drawn here (display cap: 24). Every dependency carrying an advisory is drawn regardless of the cap. Full inventory (CycloneDX SBOM)

Declared but not resolved

56 declared dependencies never landed in the tree. They are missing from Forge's resolution, not from the package.

+44 more not listed. The counts by reason above cover all of them.

Not followed: peerDependencies. This tree covers runtime dependencies only, so anything those pull in was never resolved.