
Kroki
STDIOMCP server for converting Mermaid and other diagrams to images using Kroki.io
MCP server for converting Mermaid and other diagrams to images using Kroki.io
An MCP (Model Context Protocol) server for converting Mermaid diagrams to SVG images using Kroki.io.
git clone https://github.com/tkoba1974/mcp-kroki.git cd mcp-kroki npm install npm run build
The server provides two main tools:
Generates a URL for a diagram using Kroki.io.
Parameters:
type
: The diagram type (e.g., "mermaid", "plantuml")content
: The diagram content in the specified formatoutputFormat
(optional): The output format (svg, png, pdf, jpeg, base64)Downloads a diagram to a local file.
Parameters:
type
: The diagram type (e.g., "mermaid", "plantuml")content
: The diagram content in the specified formatoutputPath
: The path where the diagram should be savedoutputFormat
(optional): The output format (svg, png, pdf, jpeg)scale
(optional, number, default: 1.0): Scaling factor for the diagram dimensions. Currently only affects SVG output by attempting to modify width/height attributes. Minimum value is 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' });
The server uses the Kroki.io API to convert diagrams. The diagram content is compressed and encoded before being sent to Kroki.io.
Add to your Claude Desktop configuration file (claude_desktop_config.json):
{ "mcpServers": { "mcp-kroki": { "command": "node", "args": ["/path/to/mcp-kroki/build/index.js"] } } }
{ "mcpServers": { "mcp-kroki": { "command": "npx", "args": [ "-y", "@tkoba1974/mcp-kroki" ] } } }
MIT