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.
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.
Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.
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 andWalk 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 evidenceEverything 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. UseReturn 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 AIList 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 publishedThis 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 publishedThis tool published no description. Forge does not invent one.
c4-workspaceNo description publishedThis tool published no description. Forge does not invent one.
auth-flowNo description publishedThis tool published no description. Forge does not invent one.
three-tier-architectureNo description publishedThis tool published no description. Forge does not invent one.
request-sequenceNo description publishedThis tool published no description. Forge does not invent one.
order-stateNo description publishedThis tool published no description. Forge does not invent one.
event-pipelineNo description publishedThis tool published no description. Forge does not invent one.
simple-processNo description publishedThis 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 diagnosticsParse 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.
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.
Linked names open Forge’s index of every entry observed exposing that tool. Browse all indexed tools.
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)
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.