mcpField
O
openflowkit-mcp

openflowkit-mcp

本地服务
github.com/openflowkit生产力9176 天前更新

关于 openflowkit-mcp

OpenFlowKit 是面向开发者和 Agent 的图表编辑器与命令行工具,采用统一文本格式,支持实时画布编辑、代码库映射和导出。其 MCP 服务可让 Agent 操作画布或图表文件。

主要功能

  1. 01实时画布绘制与编辑
  2. 02文本图表及格式转换
  3. 03GitHub 代码库架构映射
  4. 04支持十种图表类型
  5. 05导出图像、文档与动画
  6. 06命令行校验和 CI 工作流

适用场景

  1. 01让 Agent 绘制或修改架构图
  2. 02生成带代码行引用的 GitHub 代码库地图
  3. 03转换 Mermaid、Structurizr 或 D2 图表
  4. 04在 CI 中校验并跟踪架构图

MCP 相关

MCP 服务提供工具,可在实时画布或文件中创建、读取、编辑、设置样式、移动、截图和导出图表。它还提供代码库分析工具,用于发现架构并报告差异。

配置

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

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

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

安装包
npmopenflowkit0.2.4

工具

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 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。