mcpField
K
Kroki-MCP

Kroki-MCP

本地服务
github.com/utain媒体与设计2011 周前更新

关于 Kroki-MCP

Kroki-MCP 是一个用 Go 编写的命令行工具与 MCP 集成,可借助 Kroki 后端将 PlantUML、Mermaid 等文本图表定义转换为图片。支持本地与远程 Kroki 服务,并提供可配置选项。

主要功能

  1. 01支持 SVG 和 PNG 输出格式
  2. 02支持 SSE 与 STDIO 两种模式
  3. 03可配置 Kroki 服务地址
  4. 04通过 mcp-go 暴露图表转换工具

适用场景

  1. 01在对话中将 PlantUML 或 Mermaid 代码渲染为图表
  2. 02在 Docker Compose 环境中连接本地 Kroki 服务

MCP 相关

该项目是 MCP 服务,将图表转换功能作为 MCP 工具暴露给客户端,SVG 结果以标记文本返回,PNG 结果以图片返回。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Kroki-MCP

CI Go Version License: MIT

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服务主机地址stringlocalhost
--port, -p服务端口int5090
--mode, -m运行模式(sse 或 stdio)stringstdio
--format, -f输出格式(png、svg)stringpng
--kroki-hostKroki 服务 URLstringhttps://kroki.io
--log-level日志级别(debug、info、warn、error)stringinfo
--log-format日志格式(text 或 json)stringtext

项目结构

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

实现步骤

  1. 搭建 Go 项目。
  2. 实现 CLI,包含默认 SSE 模式和格式标志。
  3. 实现支持所有格式的 Kroki 客户端。
  4. 实现 SSE 和 STDIO 模式。
  5. 集成 mcp-go 以支持 MCP 工具。
  6. 添加错误处理和测试。
  7. 编写用法文档。

示例:作为 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

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。