D2图表渲染服务器

一个用于D2图表语言的MCP服务器,允许LLMs在不依赖d2二进制文件的情况下渲染、验证和格式化D2图表。

  • by ItsJooL
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 ItsJooL/d2-mcp

使用说明

d2 mcp服务器

MCP(模型上下文协议)服务器 D2图表语言允许LLM渲染、验证和格式化D2图,而无需 d2 二进制渲染由 @terrastruct/d2 WASM包。

工具

工具 描述 需要 d2 二元的?
d2_render 将D2源代码编译并渲染为SVG 否
d2_inspect 解析D2并返回形状/连接的结构化文本摘要(快速预览,无渲染) 否
d2_validate 检查D2语法并返回错误 否
d2_format 规范格式D2源代码 是
d2_list_themes 列出所有带有ID的可用主题 否
d2_list_layouts 列出可用的布局引擎 否

安装D2技能

该回购交易 d2 代理技能,教LLM如何编写有效的D2图(语法、样式、模式、何时使用哪个布局引擎以及如何保存输出)。

通过安装 技能s.sh:

npx skills add itsjool/d2-mcp

这下降了 skills/d2/SKILL.md 将其添加到代理的技能目录中,以便在任何会话中都可以自动使用。


需求

  • Node.js 18+
  • d2 仅需要二进制文件 d2_format --从安装 d2lang.com 或设置 D2_PATH env 是

安装

npm install
npm run build

使用Claude代码

通过npx(无需安装):

{
  "mcpServers": {
    "d2": {
      "command": "npx",
      "args": ["-y", "github:itsjool/d2-mcp"]
    }
  }
}

通过本地构建:

{
  "mcpServers": {
    "d2": {
      "command": "node",
      "args": ["/path/to/d2-mcp/dist/index.js"]
    }
  }
}

然后用以下代码启动Claude Code:

claude --mcp-config /path/to/mcp.json

发展

npm run dev     # watch mode with tsx
npm run build   # compile TypeScript to dist/
npm start       # run compiled server

备注

  • ELK布局明显慢于WASM中的dagre;首选dagre,除非您特别需要祖先到后代的连接或容器大小

许可证

麻省理工学院