图表转换服务

一个基于Kroki.io的MCP服务器,用于将Mermaid等图表转换为SVG、PNG、PDF或JPEG格式的图像。

  • by tkoba1974
  • JavaScript
  • 本地部署
  • 8 星标
  • 更新于
在 GitHub 查看 tkoba1974/mcp-kroki

使用说明

MCP Kroki服务器

一个MCP(模型上下文协议)服务器,用于使用Kroki.io将Mermaid图转换为SVG图像。

特性

  • 使用Kroki.io为图表生成URL
  • 将图表下载为SVG、PNG、PDF或JPEG文件
  • 支持多种图表格式:
    • 美人鱼
    • PlantUML
    • Graphviz
    • 还有更多(请参阅Kroki.io文档)

安装

本地安装

git clone https://github.com/tkoba1974/mcp-kroki.git
cd mcp-kroki
npm install
npm run build

用法

服务器提供两个主要工具:

1.生成图表URL

使用Kroki.io为图表生成URL。

参数:

  • type:图表类型(例如“美人鱼”、“plantuml”)
  • content:指定格式的图表内容
  • outputFormat (可选):输出格式(svg、png、pdf、jpeg、base64)

2.下载图表

将图表下载到本地文件。

参数:

  • type:图表类型(例如“美人鱼”、“plantuml”)
  • content:指定格式的图表内容
  • outputPath:应保存图表的路径
  • outputFormat (可选):输出格式(svg、png、pdf、jpeg)
  • scale (可选,数字,默认值:1.0):图表尺寸的缩放因子。目前,仅通过尝试修改宽度/高度属性来影响SVG输出。最小值为0.1。

示例

// Generate a URL for a Mermaid diagram
const result = await callTool('generate_diagram_url', {
  type: 'mermaid',
  content: 'graph TD; A-->B; B-->C; C-->D;',
  outputFormat: 'svg'
});

// Download a Mermaid diagram
const result = await callTool('download_diagram', {
  type: 'mermaid',
  content: 'graph TD; A-->B; B-->C; C-->D;',
  outputPath: '/path/to/diagram.svg'
});

运作原理

服务器使用Kroki.io API转换图表。图表内容在发送到Kroki.io之前经过压缩和编码。

使用Claude Desktop

添加到您的Claude Desktop配置文件(Claude_Desktop_config.json):

本地安装:

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

npx:

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

许可证

麻省理工学院