MCP Kroki 服务器
一个用于将 Mermaid 图表转换为 SVG 图像的 MCP(模型上下文协议)服务器,使用 Kroki.io。
特性
- 使用 Kroki.io 生成图表 URL
- 下载图表作为 SVG、PNG、PDF 或 JPEG 文件
- 支持多种图表格式:
- Mermaid
- 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
:图表类型(例如,“mermaid”,“plantuml”)
content
:指定格式的图表内容
outputFormat
(可选):输出格式(svg, png, pdf, jpeg, base64)
2. 下载图表
将图表下载到本地文件。
参数:
type
:图表类型(例如,“mermaid”,“plantuml”)
content
:指定格式的图表内容
outputPath
:保存图表的位置路径
outputFormat
(可选):输出格式(svg, png, pdf, jpeg)
scale
(可选,数字,默认值为 1.0):图表尺寸的比例因子。当前仅影响 SVG 输出,尝试修改 width/height 属性。最小值为 0.1。
示例
const result = await callTool('generate_diagram_url', {
type: 'mermaid',
content: 'graph TD; A-->B; B-->C; C-->D;',
outputFormat: 'svg'
});
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"
]
}
}
}
许可证
MIT