mcpField
K
Kroki-MCP

Kroki-MCP

ローカル
github.com/utainメディア・デザイン2011 週間前に更新

Kroki-MCP について

Kroki-MCP は、Go で書かれたコマンドラインツールおよび MCP 連携で、Kroki バックエンドを通じて PlantUML や Mermaid などのテキスト図の定義を画像に変換します。ローカルとリモートの Kroki サーバーに対応し、設定を柔軟に変更できます。

主な機能

  1. 01SVG と PNG の出力形式
  2. 02SSE と STDIO の動作モード
  3. 03設定可能な Kroki サーバーのホスト
  4. 04MCP ツールとして公開される図変換機能

活用シーン

  1. 01チャット内で PlantUML や Mermaid のコードを図として表示
  2. 02Docker Compose 環境でローカルの Kroki サーバーに接続

MCP 対応

本プロジェクトは MCP サーバーであり、図の変換機能を MCP ツールとして提供します。SVG は マークアップテキスト、PNG は画像として返されます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Kroki-MCP

CI Go Version License: MIT

Kroki-MCP は、Kroki バックエンドを使用してテキスト形式の図(PlantUML、Mermaid など)を画像に変換するコマンドラインツールおよび MCP 統合機能です。ローカルとリモートの Kroki サーバーに対応しており、柔軟な設定と複数の出力形式を利用できます。

機能

  • モード:
    • SSE: Server-Sent Events を使用して結果をストリーミングします。
    • STDIO(デフォルト): 標準入力から図のコードを読み取り、標準出力に出力します。
  • 出力形式: 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. デフォルトの SSE モードとフォーマットフラグを備えた CLI を実装します。
  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のもとでライセンスされています。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。