mcpField
O
openflowkit-mcp

openflowkit-mcp

本地服务
github.com/Vrun-design开发工具9176 天前更新

关于 openflowkit-mcp

OpenFlowKit 是一款将文本描述与画布编辑结合的架构图工具,面向开发者及使用 Agent 的团队。它可从代码仓库绘制架构图,并为连线标注对应代码位置。

主要功能

  1. 01画布与文本同步编辑图表
  2. 02支持十种图表类型
  3. 03从 GitHub 仓库绘制架构图
  4. 04导入 Mermaid、Structurizr DSL 和 D2
  5. 05导出静态与动画格式

适用场景

  1. 01让 Agent 在实时画布上创建和修改图表
  2. 02检查架构图与代码的差异
  3. 03将图表渲染和校验纳入 CI
  4. 04把架构图导出用于文档

MCP 相关

MCP 服务为 MCP 客户端提供画布和文件操作工具,包括创建、读取、修改、截图及导出图表,也可分析代码库与检查架构漂移。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"vrun-design-openflowkit": {
"command": "npx",
"args": [
"-y",
"@vrun-design/openflowkit-mcp"
]
}
}
}
启动命令npx -y @vrun-design/openflowkit-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@vrun-design/openflowkit-mcp0.2.1

工具

29

收录的工具列表 · 更新于 2 周前

参数类型必填说明
dslstring是要验证的 OpenFlow DSL、Mermaid、Structurizr DSL 或 D2 源码。

详细介绍

OpenFlowKit 徽标

OpenFlowKit

架构图可以手绘、编写为代码,也可以交给 Agent 绘制。
免费、开源、本地优先。粘贴 GitHub 仓库链接,即可生成架构图,每条连线都标注了对应的代码行。

打开应用  ·  文档  ·  MCP 配置  ·  讨论  ·  问题

CI 状态 MIT 许可证 npm 上的 MCP 服务版本 npm 上的 CLI 版本

OpenFlowKit:Product Hunt 设计工具周榜第 4 名

Agent 在 OpenFlowKit 画布上实时绘制架构图;用户拖动方框、编辑一行文字并重新生成

为什么选择 OpenFlowKit

1. Agent 在你的画布上实时绘图

连接 Claude Code、Cursor 或任何 MCP 客户端,然后让它绘制图表。Agent 会读取页面、 绘图、调整样式并截图检查自己的成果,你可以在旁边实时观看。它所做的每项更改都只需一次撤销操作,就像你自己编辑一样。连接你的 Agent ↓

2. 文本和画布是同一张图
flowchart right
  Client [blue] -> "API Gateway" [emerald] : HTTPS
  "API Gateway" -> Queue [queue, amber]
  Queue -> Worker
  Worker -> Store [cylinder, red, bold]

打开代码面板(⌥C),将此内容粘贴到面板中,然后按 ⌘↵。在画布上拖动元素 或编辑文本;按 ⌘↵ 可根据文本重新生成画布,这只需一次撤销操作。粘贴 Mermaid、Structurizr 或 D2 内容,即可转换为图表。

画布旁的代码面板:以文本和图形呈现的同一张图

### 3. 粘贴 GitHub 仓库,获取其结构图

在空白画布的输入框中输入 owner/repo,然后按 Map repo;也可以打开 app.openflowkit.com/#/map/github/<owner>/<repo> (试用示例)。 浏览器会从 GitHub 读取仓库并绘制其组成部分。点击方框即可在原处展开,每条箭头都会列出其对应的 file:line,并链接到代码。无需密钥,也无需安装。对于私有仓库,可在页面上添加只读 GitHub 令牌,或绘制本地检出版本:npx openflowkit map . --html map.html (私有仓库)。

GoogleCloudPlatform/microservices-demo 的结构图:点击 checkoutservice 后,它会在原处展开并显示内部文件,侧边栏则列出它交互的对象

4. 导出,包括动画

可导出为 PNG、SVG、PDF、JSON,或选择 Copy as Mermaid,用于 README。在上方文本中添加 animate 块即可指定步骤,随后应用会在浏览器中将其导出为动画 SVG、GIF、MP4 或 WebM。

animate build 6s loop {
  step Client
  step Client -> "API Gateway" : HTTPS
  step Queue, Worker
  step Store hold 2s
}

上方的图表逐步构建而成,并导出为动画 SVG

这个动画就是上方两个代码片段由应用导出的动画 SVG。GitHub 会像显示图片一样播放它。

十种图表类型,一种语言

每种图表都使用同一种简短、宽容的文本语法,并会针对每行报错,说明如何修复。 下面的每张图都是对应文档页面上的第一个示例,由 openflowkit CLI 渲染。

包含 Node.js 和 AWS Lambda 图标的架构图
架构图 · 云图标、分组,以及包含多个视图的 C4 模型
登录序列图
序列图 · alt / opt / loop、注释、激活
流程图
流程图 · 形状、判断、分组
实体关系图
ERD · 列、键、乌鸦脚基数
状态机
状态图 · 起始和结束、复合状态
类图
类图 · 成员、构造型、关系
思维导图
思维导图 · 缩进就是树结构
Git 图
Git 图 · 分支、合并、标签
柱状图
图表 · 以文本编写数据,可在表格中编辑
手机线框图
线框图 · 手机、平板或桌面屏幕上的 35 种控件

这门语言有版本管理,并集中记录在一个文件中:src/dsl/grammar.md (文档)。代码面板、助手、MCP 工具和 CLI 使用的都是同一种文本。

快速开始

在浏览器中: app.openflowkit.com。无需安装,无需账户。

在终端中: npx openflowkit(Node 20.11+)。

在本地运行(Node 22.22+):

git clone https://github.com/openflowkit/openflowkit.git
cd openflowkit
npm install && npm run dev      # http://localhost:3000
连接你的 Agent

OpenFlowKit 提供一组 Agent 工具。根据 Agent 的运行位置选择对应行:

Agent 的运行位置……连接方式可以做什么
在你的电脑上:Claude Code、Cursor、VS Code、Claude Desktop、Windsurf下方的 MCP 服务全部功能:在你打开的画布上绘图(每次更改对应一步撤销)、编辑仓库中的 .openflow.json 文件、映射代码库、截取屏幕截图
在聊天应用中:claude.ai、Claude Desktop、ChatGPT添加自定义连接器:https://mcp.openflowkit.com/mcp,选择 No sign-in在聊天中以卡片形式绘制图表,并提供 Open in OpenFlowKit。不会绘制在你打开的画布上
在浏览器中(实验性)无需安装:在支持 WebMCP 的 Agent 浏览器中打开图表读取和编辑你打开的图表

将 OpenFlowKit 添加到 Cursor 在 VS Code 中安装 OpenFlowKit

对于 Claude Code,只需一行:

claude mcp add -s user openflowkit -- npx -y openflowkit mcp

对于 Codex:codex mcp add openflowkit -- npx -y openflowkit mcp。

对于 Claude Desktop、Windsurf 和任何其他 MCP 客户端:

{
  "mcpServers": {
    "openflowkit": { "command": "npx", "args": ["-y", "openflowkit", "mcp"] }
  }
}

重启 Agent,然后在应用中点击 Connect agent,或打开 app.openflowkit.com/#/connect。该面板提供各客户端的操作步骤, 并会复制包含配对令牌的相同配置。如果没有打开应用,这些工具也会编辑仓库中的 .openflow.json 文件。 每个客户端的分步说明及故障修复方法:连接你的 Agent。

插件:Claude Code 和 Codex(一次安装即可配置服务和技能)
# Claude Code
claude plugin marketplace add openflowkit/openflowkit
claude plugin install openflowkit@openflowkit

# Codex: add the marketplace, then install OpenFlowKit from the Plugins Directory
codex plugin marketplace add openflowkit/openflowkit

该技能(skills/openflowkit/SKILL.md)会告知 Agent 何时使用图表有帮助、如何编写图表,以及如何将图表保存在代码旁边。能够读取网页的 Agent 可通过 https://app.openflowkit.com/llms.txt 获取相同文本。

## 与 Agent 协作

MCP 服务会为你的 Agent 提供你在实时画布或文件上可用的操作。

它能做什么使用的工具
绘制 文本或 Mermaid 图表,然后修改图表create_diagram、update_diagram、add_shape
读取 每个页面、图表背后的文本,以及你选中的内容get_document、get_diagram、list_pages
重新设置样式并移动 现有内容style、move、delete
查看 自己的结果screenshot 会返回一张模型可以查看的真实图片
交付文件export:SVG、PNG、PDF、JSON 或动画 SVG
读取你的代码仓库discover_architecture、drift_report、explain_element

可以试着提出这些请求:

  • “绘制这个代码仓库的架构图。”
  • “把我选中的方框设为红色,并在 API 前面添加一个缓存。”
  • “把我们 README 中的 Mermaid 转换成可编辑的图表。”
  • “对比 architecture.ofk 和代码,告诉我有哪些偏差。”

你对画布所做的编辑是安全的:如果你移动、重新设置样式或重命名了内容,而 Agent 又根据文本重新生成图表,get_diagram 会提供保留每项编辑的文本,update_diagram 会报告它不得不舍弃的内容。Agent 每次修改都是一个撤销步骤,Connect 面板会显示最近的一次修改,并提供 Undo 按钮。

全部 29 个工具

16 个编辑器操作,也可用于文件:create_diagram、 update_diagram、get_diagram、list_diagrams、get_syntax、 search_icons、find_icons_for、move、style、delete、 add_shape、export、screenshot、fit_view、get_document、list_pages。

13 个文件和代码仓库操作:openflow_create、openflow_open、openflow_save、whoami、 server_info、validate_openflow_dsl、list_diagram_node_types、list_starter_templates、 get_starter_template、analyze_codebase、discover_architecture、drift_report、 explain_element。

参数和示例:MCP 服务文档。操作清单位于 src/agent/manifest.ts。需要 Node 20.11+。

改用自己的密钥: 按 ⌘J 打开助手。选择 Claude、OpenAI、Gemini、 Groq、Mistral、Cerebras、NVIDIA、OpenRouter、Ollama 或任何兼容 OpenAI 的端点(LM Studio…), 然后粘贴密钥。密钥会保留在此浏览器中,回复会以提案的形式显示,供你应用或忽略。

导入现有图表

粘贴到代码面板即可转换,并会如实列出无法保留的内容。直接将 Mermaid 粘贴到画布上,即可在原处绘制。

来源转换内容
Mermaidflowchart / graph、sequenceDiagram、stateDiagram、erDiagram、classDiagram、mindmap、architecture、gitGraph
Structurizr DSL模型、视图和样式,转换为每个视图对应一个页面的 C4 工作区
D2形状、连接线和容器

导出时,Copy as Mermaid 会将流程图或时序图转换为 Mermaid 文本,可用于 README 或 wiki。Mermaid · 从 Structurizr 导入

在代码仓库和 CI 中使用

openflowkit CLI 可在任何终端或 CI 作业中运行与应用相同的引擎:

npx openflowkit render diagram.ofk -o diagram.svg   # Mermaid, D2, Structurizr or DSL → SVG
npx openflowkit validate diagram.ofk --strict       # exit 1 on an error
npx openflowkit convert flow.mmd -o flow.openflow.json
npx openflowkit discover . --out architecture.ofk   # draft a C4 model of this repo
npx openflowkit drift .                             # exit 1 when the code moved on

运行 npx openflowkit:欢迎框、橙色块状字母 OPEN FLOWKIT,以及三个可尝试的命令

将 architecture.ofk 与代码一同提交,drift 就能在 CI 中确保架构图保持准确。PR diagrams Action 会在拉取请求中评论图表的变更情况:节点和连接线数量、文本差异,以及 .ofk 模型的偏差。 CLI · GitHub Action

导出与分享

格式说明
PNG1× 或 2×;浅色、深色或打印主题;可选透明背景
SVG、PDF矢量格式,嵌入图标和 Inter 字体
JSON整个文档中的每个页面;可在任何浏览器中打开
动画 SVG、GIF、MP4、WebM在浏览器中根据 animate 块或连接器顺序生成
复制为 Mermaid流程图和时序图
分享链接只读链接,在浏览器中加密;或可编辑副本,代码位于链接中,不会上传任何内容

键盘

每个操作都有对应的按键,在应用中按 ? 可查看所有按键。

最先会用到的按键
按键操作
V R O T A选择、矩形、椭圆、文本、连接器
⌥C · ⌘↵代码面板 · 根据文本生成
⌘JAI 助手
M在 Canvas 和 Map 之间切换
⌘F在画布上查找
⇧1 · ⇧2适应全部内容 · 缩放至所选内容
⌘G · ⌘D组合 · 复制
Enter编辑所选形状的标签

在 Windows 和 Linux 上,用 Ctrl 和 Alt 分别替代 ⌘ 和 ⌥。

工作原理

你、你的 Agent,以及导入的 Mermaid、Structurizr 或 D2,都会转换为 OpenFlow DSL;编译器会将其作为场景文档上的一个撤销步骤处理,并将结果提供给画布、导出功能和浏览器存储

这张图也是 OpenFlowKit 文本:how-it-works.ofk,以动画 SVG 格式导出,并使用 pulse 预设。

你和你的 Agent 也可以直接在画布上绘图;每次编辑,无论是输入文本还是手动操作,都会作为同一文档上的一条命令执行。

画布上的任何帧都可以写回为规范文本,并且测试保证 format(format(x)) == format(x)。语言和文档代码采用纯 TypeScript 编写,不依赖 React、Pixi 或 DOM,因此同一个编译器可以在浏览器、MCP 服务和 CLI 中运行。完整介绍请参阅:ARCHITECTURE.md。

仓库结构
路径内容
src/dsl/语言:语法、解析器、图表类别、编译与序列化、仓库发现
src/opencanvas/编辑器:文档模型与命令、Pixi 渲染器、导出器、React UI
src/agent/Agent 调用的操作、桥接协议、操作清单
mcp-server/已发布的 MCP 服务和 openflowkit CLI
cli/npm 上的 openflowkit:CLI 的简称
plugin/、skills/Claude Code 和 Codex 插件,以及 Agent 技能
action/PR 图表 GitHub Action
worker/分享链接 Worker(仅存储密文)
stats/私有使用情况仪表板 Worker
docs-site/文档站点

自托管

docker build -t openflowkit . && docker run --rm -p 3045:3045 openflowkit   # http://localhost:3045

该镜像是通过 nginx 提供的静态构建版本,使用与托管应用相同的响应头。内容安全策略、自有网络中的 AI 提供商以及分享链接,请参阅自托管。

隐私

你的图表会留在浏览器中。只有在你主动选择时,数据才会离开浏览器:使用你自己的密钥调用 AI 时,数据会发送给相应的提供方;创建分享链接时,会上传一份加密副本;生成代码库地图时,会从 GitHub 读取数据。 无需账户。我们会收集基本使用统计数据来改进 OpenFlowKit;你可以在 Settings 中关闭统计。点击主页上的 Download all diagrams,即可一次性备份所有内容;在任何浏览器中点击 Import 即可恢复。

常见问题

免费吗? 是的:采用 MIT 许可,可免费使用,也可自行托管。团队版 Pro 计划正在筹备中;应用内可以加入候补名单。

支持离线使用吗? 页面打开后,绘图、代码面板和导出功能都可以在页面中运行。AI、分享链接和代码库地图需要网络连接。若要完全离线使用,请自行托管。

支持哪些浏览器? 支持当前版本的桌面浏览器,且需支持 WebGL。自动化测试在 Chromium 中运行。

团队成员可以一起编辑吗? 目前不支持实时协作。只读链接是一个快照,可编辑链接会为每个人提供独立副本,而 .openflow.json 和 .ofk 文件可以直接放在 git 中使用。

更多信息:常见问题。

参与贡献

欢迎提交 Issue、创意和 PR。请先阅读 CONTRIBUTING.md,了解环境配置和检查流程;阅读 ARCHITECTURE.md,了解代码的组织方式。欢迎在 Discussions 中提问。查看各版本的变更:CHANGELOG.md。

如需报告安全问题,请按照 SECURITY.md 中的说明私下提交。本项目采用 MIT 许可,详见 LICENSE。

贡献者


OpenFlowKit 标志

如果 OpenFlowKit 帮你保存了图表,请在 GitHub 上给它一个 ⭐。
这样其他人也能找到它。

打开应用  ·  文档  ·  参与贡献  ·  讨论区  ·  报告错误

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。