关于 Kroki-MCP
Kroki-MCP 是一个用 Go 编写的命令行工具与 MCP 集成,可借助 Kroki 后端将 PlantUML、Mermaid 等文本图表定义转换为图片。支持本地与远程 Kroki 服务,并提供可配置选项。
主要功能
- 01支持 SVG 和 PNG 输出格式
- 02支持 SSE 与 STDIO 两种模式
- 03可配置 Kroki 服务地址
- 04通过 mcp-go 暴露图表转换工具
适用场景
- 01在对话中将 PlantUML 或 Mermaid 代码渲染为图表
- 02在 Docker Compose 环境中连接本地 Kroki 服务
MCP 相关
该项目是 MCP 服务,将图表转换功能作为 MCP 工具暴露给客户端,SVG 结果以标记文本返回,PNG 结果以图片返回。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Kroki-MCP
Kroki-MCP 是一款命令行工具和 MCP 集成,可使用 Kroki 后端将文本图表(例如 PlantUML、Mermaid)转换为图像。它同时支持本地和远程 Kroki 服务,并提供灵活的配置和多种输出格式。
功能
- 模式:
- SSE: 使用 Server-Sent Events 流式传输结果。
- STDIO(默认): 从 stdin 读取图表代码,并输出到 stdout。
- 输出格式: 支持
svg(默认)和png。SVG 以标记文本形式返回,并经过规范化处理,以调整缩放比例,并确保在聊天中内嵌渲染时保持透明(例如 Claude Desktop);PNG 则以图像形式返回。 - Kroki 服务: 可配置后端主机(默认:
https://kroki.io)。 - 可扩展: 可轻松添加对更多图表类型和输出格式的支持。
- MCP 集成: 使用 github.com/mark3labs/mcp-go 将图表转换功能作为 MCP 工具提供。
用法
# 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
配置
| 选项 | 描述 | 类型 | 默认值 |
|---|---|---|---|
--host, -h | 服务主机地址 | string | localhost |
--port, -p | 服务端口 | int | 5090 |
--mode, -m | 运行模式(sse 或 stdio) | string | stdio |
--format, -f | 输出格式(png、svg) | string | png |
--kroki-host | Kroki 服务 URL | string | https://kroki.io |
--log-level | 日志级别(debug、info、warn、error) | string | info |
--log-format | 日志格式(text 或 json) | string | text |
项目结构
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
├── Dockerfile # Docker build file
├── docker-compose.yml # Docker Compose for dev environment
├── go.mod # Go module definition
├── README.md # Project documentation
└── .gitignore # Git ignore file
实现步骤
- 搭建 Go 项目。
- 实现 CLI,包含默认 SSE 模式和格式标志。
- 实现支持所有格式的 Kroki 客户端。
- 实现 SSE 和 STDIO 模式。
- 集成 mcp-go 以支持 MCP 工具。
- 添加错误处理和测试。
- 编写用法文档。
示例:作为 MCP 服务运行
要从源代码运行 Kroki-MCP 作为 MCP 服务:
go run github.com/utain/kroki-mcp/cmd/kroki-mcp@latest --mode sse --format png --kroki-host https://kroki.io
你可以在 MCP 配置文件中按如下方式配置 MCP 服务:
{
"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"
]
}
}
}
使用 Docker 进行开发
你可以使用 Docker 和 docker-compose 进行本地开发和测试。
使用 Docker 构建和运行
docker build -t kroki-mcp .
docker run --rm -it kroki-mcp --help
使用 docker-compose(搭配本地 Kroki 服务)
docker-compose up --build
- 这将同时启动 Kroki 服务和 kroki-mcp 服务。
- kroki-mcp 将连接到
http://kroki:8000上的 Kroki 服务。
贡献
请参阅 CONTRIBUTING.md,了解如何为此项目贡献代码。
更新日志
请参阅 CHANGELOG.md 查看发布历史。
相关项目
许可证
本项目采用 MIT License 许可。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。