mcpField
D
Diagrammo (dgmo)

Diagrammo (dgmo)

本地服务
github.com/diagrammo媒体与设计31 天前更新

关于 Diagrammo (dgmo)

Diagrammo (dgmo) 是 MCP 服务,可将简洁的 DGMO 标记渲染为图表,供使用兼容 MCP 的 AI 工具的用户生成图示。渲染在本地完成,也可将图表交给 Diagrammo 编辑器继续修改。

主要功能

  1. 01将图表渲染为 SVG 或 PNG
  2. 02验证标记并报告解析错误
  3. 03推荐并列出图表类型
  4. 04获取语法参考和示例
  5. 05在浏览器中预览图表
  6. 06分享图表或保存到 Diagrammo

适用场景

  1. 01根据对话创建时序图
  2. 02将项目计划转为甘特图
  3. 03渲染前检查标记
  4. 04将生成的图表交给编辑器

MCP 相关

向 MCP 客户端提供 DGMO 渲染、验证、图表类型建议、示例、预览以及 Diagrammo 分享和 Cloud 空间操作工具。本地渲染不会发送图表标记,除非主动分享。

配置

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

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

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

安装包
npm@diagrammo/dgmo-mcp0.29.13

工具

11

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

参数类型必填说明
dgmostring是DGMO 图表标记。将小写颜色名称追加为末尾词元,为标签设置颜色(例如 "Sales red");将颜色名称首字母大写("Red"),则将其作为字面文本使用。
formatenum否输出格式svg | png
themeenum否颜色主题light | dark | transparent
palettestring否调色板(slate、atlas、blueprint、tidewater、nord、catppuccin、tokyo-night)

详细介绍

@diagrammo/dgmo-mcp

将对话变成真正的图表——无需离开你的 AI 工具。

npm version npm downloads license

这个 MCP 服务让 Claude(以及任何兼容 MCP 的 AI 工具)能够根据简洁的文本标记渲染 时序图、流程图、ER 图、C4 架构图、甘特图以及另外 40 多种图表类型——然后将结果交给完整的 编辑器进行完善。在聊天中提出绘图需求,就能得到一张真正的图表。

时序图C4 架构图
甘特图流程图

你可以做什么

用自然语言提出需求——“把身份验证流程画成时序图”、“把 Q3 计划绘制成甘特图”、“把我们的服务画成 C4 图”——Claude 就会编写标记并渲染图表。标记清晰易读,也便于查看差异:

flowchart Mutiny Resolution
direction-tb

[Sail]     Set sail under the captain
{Trouble?} Discontent in the crew?
{Vote}     Crew vote called
[Mutiny]   Seize the ship

(Sail) -> (Trouble?)
(Trouble?) -Yes-> (Vote)
(Vote) -Mutiny-> (Mutiny)

→ 渲染结果就是上方的流程图。所有渲染都在本地完成——图表数据不会离开你的设备。

工具

工具功能说明支持 HTTP
render_diagram将 DGMO 标记渲染为 SVG 或 PNG是
validate_diagram检查标记并报告解析错误,不进行渲染是
suggest_chart_type根据描述推荐适合的图表类型是
list_chart_types列出所有支持的图表类型,并标注 Beta 类型是
get_language_reference获取 DGMO 语法文档,便于准确生成是
get_examples获取图表类型的完整示例是
share_diagram获取可分享的 diagrammo.app URL — 将图表交给网页编辑器是
open_in_app将图表直接在 Diagrammo 桌面应用中打开以便编辑否
check_app_installed报告桌面应用是否已安装否
preview_diagram渲染一个或多个图表,并在浏览器中打开 HTML 预览否
generate_report构建精美的多章节 HTML 报告,包含目录和可选源代码否
put_space_diagram按文件夹和标题将图表写入 Diagrammo Cloud 空间是
get_space_diagram按 ID 或文件夹和标题读取 Cloud 空间中的图表是
list_space_diagrams列出 Cloud 空间中的所有图表是

这三个空间工具会将图表发送到 Diagrammo Cloud。它们需要一个空间 API 密钥 (在 Diagrammo 账户页面生成),并将其作为 DGMO_API_KEY 设置在服务端环境中 — 绝不能将其作为工具参数传入,这样密钥就不会出现在对话记录中。

share_diagram 和 open_in_app 是从聊天中跳转出去的桥梁:Claude 生成的图表 可以进一步完善、调整样式并嵌入到其他地方 — 详见下文。

标记为否的四个工具会打开浏览器或启动桌面应用。通过 HTTP 使用时,这些操作会 在运行服务的机器上执行,而不是在你的机器上,因此不会通过 HTTP 提供 — 详见通过 HTTP 提供服务。

MCP 服务之外

MCP 服务是进入 Diagrammo 的一个入口 — 这是一个基于同一 DGMO 标记构建的完整生态系统。通过聊天生成,在真正的编辑器中完善,随处嵌入:

  • diagrammo.app — 桌面应用。open_in_app 会将 AI 生成的图表直接放入其中,并提供实时预览、调色板和导出功能。
  • online.diagrammo.app — 完整的浏览器编辑器,无需安装。 share_diagram 生成的 URL 会直接在此打开。
  • 文档集成 — 将 DGMO 围栏代码块放入你的文档站点: remark-dgmo, astro-dgmo, docusaurus-plugin-dgmo, fumadocs-dgmo.
  • Obsidian — Diagrammo Diagrams 社区插件可在你的库中渲染 DGMO。
  • 命令行界面 — npx @diagrammo/dgmo-cli file.dgmo -o out.png,或者使用 npm install -g @diagrammo/dgmo-cli 安装(macOS 和 Linux)。

一种标记,到处可用。 在这里生成的图表,在应用、文档和 Obsidian 中的渲染效果完全一致 — 因为它们都使用 DGMO。

→ 前往 diagrammo.app 免费试用

设置

最简单的方式 — 一条命令

安装 dgmo CLI,让它为你完成所有配置:

npm install -g @diagrammo/dgmo-cli   # macOS and Linux
dgmo install                         # auto-detects Claude Code, Codex, Claude Desktop, Cursor, …

更喜欢 Homebrew 或 pacman?请参阅 diagrammo.app/dev。

dgmo install 会以非交互方式配置每个检测到的助手,并将其指向 dgmo mcp,因此无需单独安装软件包,也无需回答提示。使用 dgmo install claude-code(或 codex、claude-desktop 等)即可指定一个客户端。

手动配置

更喜欢自己编辑配置?通过 npx 将任意 MCP 客户端指向此服务(无需全局安装):

Claude Code — .claude/settings.local.json;Claude Desktop — ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "dgmo": {
      "command": "npx",
      "args": ["-y", "@diagrammo/dgmo-mcp"]
    }
  }
}

如果已安装 dgmo CLI,也可以使用 { "command": "dgmo", "args": ["mcp"] }。保存后重启客户端,工具便会自动显示。

通过 HTTP 提供服务

上述配置会将服务作为子进程启动,并通过标准输入和输出与其通信。这要求服务和客户端在同一台机器上。如果它们不在同一台机器上——例如使用托管 Agent 平台、容器,或由多人共用一台服务——则可改为将其作为 HTTP 端点启动:

npx -y @diagrammo/dgmo-mcp --http            # http://127.0.0.1:3333/mcp
MCP_TRANSPORT=http MCP_PORT=8080 npx -y @diagrammo/dgmo-mcp

每个选项都可以通过标志或环境变量设置,具体取决于你的配置方式:

标志变量默认值说明
--httpMCP_TRANSPORT=http关闭提供可流式传输的 HTTP,而非 stdio
--port <n>MCP_PORT3333监听端口
--host <addr>MCP_HOST127.0.0.1绑定的网络接口
--path <path>MCP_PATH/mcp端点响应的路径
--allow-host <h>MCP_ALLOWED_HOSTSloopback允许的其他 Host 标头,可重复指定
--allow-origin <o>MCP_ALLOWED_ORIGINSown origin允许的 Origin 标头,可重复指定

每个请求都会独立处理——没有会话,也不会在调用之间保留任何内容——因此一个端点可以同时为多个客户端提供服务。

此服务本身不提供身份验证。 默认绑定到 loopback,并拒绝携带未获允许的 Host 标头,或与自身来源不同且未通过 --allow-origin 指定的 Origin 标头的请求;对于同一台机器或同一容器内的客户端而言,这已经足够。任何可从更广泛网络访问的服务都需要在其前面配置你自己的身份验证,并通过 --allow-host 指定访问该服务时使用的主机名。在未指定主机名的情况下绑定到非 loopback 接口时,会打印警告。

--help 会显示此处所有内容,具体取决于已安装的版本。

隐私

所有渲染都在本地进行。你的图表标记和生成的图像不会离开你的机器,除非你主动调用 share_diagram(该工具会将图表编码到 diagrammo.app URL 中)。请参阅隐私条款。

开发中心(AI 调优工具)

pnpm hub

一条命令、一个服务、一个浏览器标签页。开发中心会在一个带标签页的外壳中打开这三款 AI 调优开发工具——通过顶部标签页在它们之间切换,无需记住不同的端口或命令:

  • 触发词调优 — 编辑驱动 suggest_chart_type 的短语/概念词汇,为提示词实时评分,并保存回 triggers.json。
  • LLM 评审器 — 使用 claude -p,根据提示词评审图表类型描述。
  • 指导工作室 — 编写服务提供的各类型样式指导(即 dgmo 的 language-reference.md 中的 `` 块,这些内容会被分段传入 get_language_reference):选择类型,编辑如何指示 AI 设置样式,针对已提交的数据集样例运行提示词(确保不同运行之间输入始终不变),并排查看生成的 DGMO 和渲染图像。类型选择器也可显示覆盖率进度条;“比较 3×”会渲染无指导版本和你的提示,方便目视比较;保存时会验证内容并写回 language-reference.md。

这些工具仅供开发使用,不会打包进已发布的服务中。(如果你想单独运行某个工具,独立的 pnpm harness 和 pnpm studio 脚本仍可各自运行一个工具。)

贡献与发布

开发环境设置和发布工作流请参阅 CONTRIBUTING.md。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

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

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