Kroki-MCP 是一款基于 Go 的模型上下文协议工具,通过 Kroki 后端将文本图定义(PlantUML、Mermid 等)转换为图像。
概览
Kroki-MCP 是一款命令行工具和 MCP 集成,用于通过 Kroki 后端将文本图(例如 PlantUML、Mermaid)转换为图像。它支持本地和远程 Kroki 服务器,具备灵活配置和多种输出格式。 - - 通过服务器发送事件流式结果。- 从标准读取图示代码并输出至标准输出。- 支持svg(默认)和png。SVG以标记文本形式返回,经过规范化以在聊天中内联渲染时保持透明(如Claude Desktop);PNG以图像返回。- 可配置后端主机(默认:https://kroki.io).)- 轻松支持更多图表类型和输出格式。- 利用 github.com/mark3labs/mcp-go 将图表转换为MCP工具。 1. 支架 Go 项目。2. 实现默认 SSE 模式的 CLI,格式化标志。3. 实现支持所有格式的 Kroki 客户端。4. 实现 SSE 和 STDIO 模式。5. 与 mcp-go 集成以支持 MCP 工具。6. 添加错误处理和测试功能。7.
概述(AI 翻译)
Kroki-MCP 是一款命令行工具和 MCP 集成,用于通过 Kroki 后端将文本图(例如 PlantUML、Mermaid)转换为图像。它支持本地和远程 Kroki 服务器,具备灵活配置和多种输出格式。
特色
- 模式:
- SSE: 通过服务器发送事件流传输结果。
- STDIO(默认): 从标准读取图示代码并输出为标准输出。
- 输出格式: 支持
svg(默认)和png。SVG 以标记文本形式返回,经过规范化以在聊天中内联渲染时保持透明(例如 Claude Desktop);PNG 以图像返回。 - Kroki 服务器: 可配置后端主机(默认:
https://kroki.io)。 - 可扩展性: 轻松支持更多图表类型和输出格式。
- MCP 集成: 利用 github.com/mark3labs/mcp-go 展示图示转换作为 MCP 工具。
用途
配置
| 选项 | 描述 | 类型 | 默认 |
|---|---|---|---|
--host, -h |
服务器主机地址 | 字符串 | localhost |
--port, -p |
服务器端口 | int | 5090 |
本页由 AI 翻译,技术细节请以原文为准。
README
以下为原文 README 节选,完整内容请查看原文。
Kroki-MCP
Kroki-MCP is a command-line tool and MCP integration for converting textual diagrams (e.g., PlantUML, Mermaid) into images using a Kroki backend. It supports both local and remote Kroki servers, with flexible configuration and multiple output formats.
Features
- Modes:
- SSE: Streams results using Server-Sent Events.
- STDIO (default): Reads diagram code from stdin and outputs to stdout.
- Output Formats: Supports
svg(default) andpng. SVG is returned as markup text, normalized to scale and stay transparent when rendered inline in chat (e.g., Claude Desktop); PNG is returned as an image. - Kroki Server: Configurable backend host (default:
https://kroki.io). - Extensible: Easily add support for more diagram types and output formats.
- MCP Integration: Exposes diagram conversion as an MCP tool using github.com/mark3labs/mcp-go.
Usage
# Default (SSE mode, PNG, default Kroki host)
kroki-mcp
# Specify output format
kroki-mcp --format svg
# Use STDIO mode
kroki-mcp --mode stdio --format svg
# Specify a custom Kroki server
kroki-mcp --kroki-host http://localhost:8000
Configuration
| Option | Description | Type | Default |
|---|---|---|---|
--host, -h |
Server host address | string | localhost |
--port, -p |
Server port | int | 5090 |
--mode, -m |
Operation mode (sse or stdio) |
string | stdio |
--format, -f |
Output format (png, svg) |
string | png |
--kroki-host |
Kroki server URL | string | https://kroki.io |
--log-level |
Log level (debug, info, warn, error) |
string | info |
--log-format |
Log format (text or json) |
string | text |
Project Structure
kroki-mcp/
├── cmd/
│ └── kroki-mcp/ # Main CLI and MCP server entry point
├── internal/
│ ├── kroki/ # Kroki client logic (HTTP, formats)
│ ├── config/ # Configuration management (flags, env, files)
│ └── mcp/ # MCP tool/server integration
├── test/ # Unit and integration tests
安装
docker run --rm -it kroki-mcp --help配置
{
"mcpServers": {
"kroki-mcp": {
"command": "go",
"args": [
"run",
"github.com/utain/kroki-mcp/cmd/kroki-mcp@latest",
"-m", "stdio",
"-f", "png",
"--kroki-host", "https://kroki.io"
]
}
}
}