mcpField
K
Kroki-MCP

Kroki-MCP

Local
github.com/utainMedia & Design20Updated 11w ago

About Kroki-MCP

Kroki-MCP is a Go command-line tool and MCP integration that converts text diagram definitions such as PlantUML and Mermaid into images through a Kroki backend. It supports local and remote Kroki servers with configurable options.

Key features

  1. 01SVG and PNG output formats
  2. 02SSE and STDIO operation modes
  3. 03Configurable Kroki server host
  4. 04Diagram conversion exposed as an MCP tool

Use cases

  1. 01Render PlantUML or Mermaid code as diagrams during a chat
  2. 02Connect to a local Kroki server in a Docker Compose setup

MCP support

This project is an MCP server that exposes diagram conversion as an MCP tool. SVG results are returned as markup text and PNG results as images.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

Kroki-MCP

CI Go Version License: MIT

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) and png. 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

OptionDescriptionTypeDefault
--host, -hServer host addressstringlocalhost
--port, -pServer portint5090
--mode, -mOperation mode (sse or stdio)stringstdio
--format, -fOutput format (png, svg)stringpng
--kroki-hostKroki server URLstringhttps://kroki.io
--log-levelLog level (debug, info, warn, error)stringinfo
--log-formatLog format (text or json)stringtext

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
├── 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

Implementation Steps

  1. Scaffold Go project.
  2. Implement CLI with default SSE mode, format flags.
  3. Implement Kroki client supporting all formats.
  4. Implement SSE and STDIO modes.
  5. Integrate with mcp-go for MCP tool support.
  6. Add error handling and tests.
  7. Document usage.

Example: Running as an MCP Server

To run Kroki-MCP as an MCP server from source:

go run github.com/utain/kroki-mcp/cmd/kroki-mcp@latest --mode sse --format png --kroki-host https://kroki.io

You can configure the MCP server in your MCP configuration file as follows:

{
  "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"
      ]
    }
  }
}

Development with Docker

You can use Docker and docker-compose for local development and testing.

Build and Run with Docker
docker build -t kroki-mcp .
docker run --rm -it kroki-mcp --help
Using docker-compose (with local Kroki server)
docker-compose up --build
  • This will start both a Kroki server and the kroki-mcp service.
  • kroki-mcp will connect to the Kroki server at http://kroki:8000.

Contributing

Please see CONTRIBUTING.md for guidelines on how to contribute to this project.

Changelog

See CHANGELOG.md for release history.

Related Projects

License

This project is licensed under the MIT License.

Comments

Markdown supported

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.