mcpField
D
diagonaldiagrams

diagonaldiagrams

本地服务
lucas19919.github.io媒体与设计02 周前更新

关于 diagonaldiagrams

diagonaldiagrams 是面向 Agent 的 Python 库和 MCP 服务,可将 Mermaid、JSON 或表格数据绘制为图表。它会检查 SVG 布局问题,并在发现错误时给出修复建议。

主要功能

  1. 01绘制 Mermaid、JSON 和 CSV 输入
  2. 02将图表生成为 SVG
  3. 03检查文本与连接线布局
  4. 04返回错误及修复建议
  5. 05导出 PNG、PDF、draw.io 和 Excalidraw

适用场景

  1. 01根据 Mermaid 描述生成流程图
  2. 02根据 CSV 数据创建图表
  3. 03在将图表加入文档前检查布局

MCP 相关

MCP 服务接收 MCP 客户端提交的图表规格,并返回生成的 SVG 和检查结果。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"lucas19919-diagonaldiagrams": {
"command": "uvx",
"args": [
"diagonaldiagrams"
]
}
}
}
启动命令uvx diagonaldiagrams

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

安装包
pypidiagonaldiagrams0.9.1

工具

9

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

参数类型必填说明
typestring否要说明的图形类型,例如 flow、arch、iso、bar、style 或 story。不填写则列出所有类型。

详细介绍

diagonaldiagrams

PyPI License: MIT

diagonaldiagrams 是一个 Python 库和 MCP 服务,可让 AI Agent 将图表和图形绘制为 SVG,并在展示之前检查是否存在文本重叠、箭头穿过方框或文本溢出等问题。

网站:录制示例、基准测试和图库。

由 diagonaldiagrams 绘制的架构图,展示了一个聊天请求在 AI Agent 平台中的流转过程

工作原理

  1. 描述。 Agent 用 Mermaid、JSON 或 CSV 编写简短的图形描述。
  2. 绘制。 diagonaldiagrams 排版并保存为 SVG。
  3. 检查。 它会审核图形并输出一行 JSON:要么一切正常,要么说明问题所在及修复方法。Agent 读取这一行,而不是截图。
$ diagonaldiagrams mermaid flow.mmd -o flow.svg
{"ok": true, "svg": "flow.svg", ..., "items": 3,
 "layout": ["row 1: Start", "row 2: Ready? (decision)", "row 3: Done"]}

当 ok 为 false 时,每个错误都会附带一个 fix。

安装

需要 Python 3.11 或更高版本。

命令行

pip install diagonaldiagrams

MCP(Cursor、Claude Desktop 和其他 MCP 应用)。将以下内容添加到应用的 MCP 设置中;这需要 uv。该服务已在官方 MCP 注册表中登记为 io.github.lucas19919/diagonaldiagrams。

{
  "mcpServers": {
    "diagonaldiagrams": { "command": "uvx", "args": ["diagonaldiagrams", "mcp"] }
  }
}

Claude Desktop 也可以打开最新版本中的 .mcpb 文件。

Claude Code

/plugin marketplace add lucas19919/diagonaldiagrams
/plugin install diagonaldiagrams@diagonaldiagrams

其他 Agent: 告诉它 Install diagonaldiagrams from https://github.com/lucas19919/diagonaldiagrams。它会按照安装技能进行安装,然后使用绘图技能绘图。供模型使用的简短版本见 llms.txt。

可绘制内容

命令输入绘制内容
mermaidflowchart、sequenceDiagram、erDiagram流程图、时序图或架构图
flow、arch、seq、schemaJSON根据规范绘制上述四种图
isoJSON以等距 3D 形式绘制层叠结构,并显示层间链接
bar、line、scatterCSV对比、趋势或关系图
geoCSV 或 GeoJSON在内置海岸线上标出地点
chart <type>CSV 或 JSON约 60 种其他图表
  • describe <type> 会输出任意图形类型的规范格式。
  • --fit column 会将图形调整为适合 README 或文档页面的大小。默认值为 slide,打印时使用 page。
  • story 会将一个图形转为同一页面上的多个视图;安装 ffmpeg 后,--gif 可将其录制为动画。
  • apply 使用 JSON 补丁编辑规范;export 可导出 PNG、PDF、draw.io 或 Excalidraw 文件。

对比

于 2026-10-19 使用版本 0.8.0,对 Mermaid CLI 和 Pele 进行测量,测试对象是相同的 4 个包含 5 到 40 个步骤的流程图。

  • 速度。 一个包含 20 个步骤的流程图耗时 152 ms,比 Mermaid CLI(2,340 ms)快约 15 倍,比 Pele(101 ms)慢约 1.5 倍。
  • Token 数。 在各种尺寸下,Agent 每张图使用 4.4k 到 6.4k 个 Token。对于 5 到 20 个步骤的图,Pele 和 Mermaid CLI 使用更少(1.3k 到 4.0k)。对于 40 个步骤的图,diagonaldiagrams 使用 6.4k,Pele 使用 6.3k,Mermaid CLI 使用 15.4k。这是两次运行的结果,因此样本量较小,仅供参考。
  • 质量。 在盲测对比中,对于适合幻灯片尺寸的图,diagonaldiagrams 被认为比 Pele 更清晰的比例为 85%,比 Mermaid CLI 更清晰的比例为 97%。它在架构图从 Mermaid 转换而来且尺寸适合窄栏的情况下表现较差:与 Pele 对比,8 次中 0 次胜出。

完整表格、测试方法和重跑测试所需的脚本见 bench/。

开发

python -m unittest discover tests/unit   # unit tests
python tests_smoke.py                    # the command-line contract
python scripts/golden.py                 # the reference figures, byte for byte

引擎的组成方式见:docs/ARCHITECTURE.md。发布方式见:PUBLISHING.md。

许可证

MIT。参见 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

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

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