About MCP Kroki Server
MCP Kroki Server lets MCP clients turn diagrams into files or Kroki.io URLs. It supports Mermaid, PlantUML, Graphviz, and other formats, with several output types.
Key features
- 01Generate Kroki.io diagram URLs
- 02Download diagrams as files
- 03Support Mermaid, PlantUML, Graphviz
- 04Export SVG, PNG, PDF, or JPEG
Use cases
- 01Create image files from Mermaid diagrams
- 02Generate shareable URLs for PlantUML diagrams
MCP support
Exposes tools to MCP clients for generating diagram URLs and downloading converted diagrams via Kroki.io.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
2Saved tool list · updated 3w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| type | string | Yes | Diagram type (e.g., "mermaid" for Mermaid diagrams, "plantuml" for PlantUML, "graphviz" for GraphViz DOT, "c4plantuml" for C4 architecture diagrams, and many more). See Kroki.io documentation for all supported formats. |
| content | string | Yes | The diagram content in the specified format. For Mermaid diagrams, this would be the Mermaid syntax code (e.g., "graph TD; A-->B; B-->C;"). |
| outputFormat | string | No | The format of the output image. Options are: "svg" (vector graphics, default), "png" (raster image), "pdf" (document format), "jpeg" (compressed raster image), or "base64" (base64-encoded SVG for direct embedding in HTML). |
Details
From the project READMEMCP Kroki Server
An MCP (Model Context Protocol) server for converting Mermaid diagrams to SVG images using Kroki.io.
Features
- Generate URLs for diagrams using Kroki.io
- Download diagrams as SVG, PNG, PDF, or JPEG files
- Support for multiple diagram formats:
- Mermaid
- PlantUML
- Graphviz
- And many more (see Kroki.io documentation)
Installation
local install
git clone https://github.com/tkoba1974/mcp-kroki.git
cd mcp-kroki
npm install
npm run build
Usage
The server provides two main tools:
1. Generate Diagram URL
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)
2. Download Diagram
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.
Example
// 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'
});
How It Works
The server uses the Kroki.io API to convert diagrams. The diagram content is compressed and encoded before being sent to Kroki.io.
Usage with Claude Desktop
Add to your Claude Desktop configuration file (claude_desktop_config.json):
local install:
{
"mcpServers": {
"mcp-kroki": {
"command": "node",
"args": ["/path/to/mcp-kroki/build/index.js"]
}
}
}
npx:
{
"mcpServers": {
"mcp-kroki": {
"command": "npx",
"args": [
"-y",
"@tkoba1974/mcp-kroki"
]
}
}
}
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.