mcpField
K
kafka-mcp-server

kafka-mcp-server

ローカル
cefboud.comクラウド・インフラ380 週間前に更新

kafka-mcp-server について

kafka-mcp-serverは、自然言語による操作のためにMCPクライアントをApache Kafkaクラスターへ接続します。トピックやメッセージの操作、クラスター情報、コンシューマーグループ情報を扱えます。

主な機能

  1. 01トピックの一覧表示と作成
  2. 02メッセージの消費と送信
  3. 03ブローカーとコントローラーの確認
  4. 04コンシューマーグループと遅延の一覧表示
  5. 05最古・最新オフセットの取得
  6. 06ツール呼び出しの順次一括実行

活用シーン

  1. 01Kafkaクラスター内のトピック確認
  2. 02Kafkaメッセージの送受信
  3. 03コンシューマーグループの遅延確認
  4. 04依存するツール呼び出しを1リクエストで実行

MCP 対応

Kafkaクラスター操作をMCPツールとして提供します。オプションのMultiplexToolは呼び出しを順番にまとめ、先行する出力を後続の入力に利用できます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"kafka-mcp-server-cefboud": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"KAFKA_MCP_BOOTSTRAP_SERVERS",
"ghcr.io/cefboud/kafka-mcp-server"
],
"env": {
"KAFKA_MCP_BOOTSTRAP_SERVERS": "<KAFKA_MCP_BOOTSTRAP_SERVERS>"
}
}
}
}
起動コマンドdocker run -i --rm -e KAFKA_MCP_BOOTSTRAP_SERVERS ghcr.io/cefboud/kafka-mcp-server
設定が必要な環境変数
KAFKA_MCP_BOOTSTRAP_SERVERS

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
ocighcr.io/cefboud/kafka-mcp-server

ツール

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

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

詳細

Kafka MCP Server

Kafka MCP Server は、自然言語(LLM)を使って Kafka クラスターとやり取りできるよう、Apache Kafka との統合を提供する Model Context Protocol (MCP) サーバーです。

デモ

前提条件

MCP サーバーをローカルで実行するには、Docker または Golang が必要です。

はじめに

Kafka クラスターにアクセスできる必要があります。クイックスタートドキュメントに従ってください。

 docker pull apache/kafka:4.0.0
 docker run -p 9092:9092 apache/kafka:4.0.0

Kafka は現在 localhost:9092 で利用できます。

Claude Desktop での使用方法
Docker:
{
  "mcpServers": {
    "kafka": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "KAFKA_MCP_BOOTSTRAP_SERVERS",
        "ghcr.io/cefboud/kafka-mcp-server"
      ],
      "env": {
        "KAFKA_MCP_BOOTSTRAP_SERVERS": "localhost:9092"
      }
    }
  }
}
ローカルでのビルド
cd <workdir>
git clone https://github.com/CefBoud/kafka-mcp-server.git
cd kafka-mcp-server
go build -o kafka-mcp-server  cmd/kafka-mcp-server/main.go 
{
  "mcpServers": {
    "kafka": {
      "command": "<workdir>/kafka-mcp-server/kafka-mcp-server",
      "args": [
        "stdio",
      ],
      "env": {
        "KAFKA_MCP_BOOTSTRAP_SERVERS": "localhost:9092"
      }
    }
  }
}

オプション:

      --bootstrap-servers string   Comma-separated list of the Kafka servers to connect to.
      --enable-command-logging     When enabled, the server will log all command requests and responses to the log file
      --log-file string            Path to log file
      --read-only                  Restrict the server to read-only operations

すべてのオプションは環境変数として渡すことができます。大文字にし、ハイフンをアンダースコアに置き換え、MCP_KAFKA_ を前置します。たとえば、--bootstrap-servers は MCP_KAFKA_BOOTSTRAP_SERVERS になります。

利用可能な MCP ツール

  • トピックの一覧表示
  • トピックの作成
  • メッセージの消費。
  • メッセージの生成。
  • クラスターの説明(ブローカーとコントローラーの一覧)
  • コンシューマーグループとそのラグの一覧表示。
  • トピックの最古および最新のオフセットの取得(GetOffsetShell)
  • コンシューマーグループのオフセットのリセット。
  • Kafka Connect ??
  • Schema Registry ??

🔀 MultiplexTool

MultiplexTool のデモ

多くのツールを順番に実行するのは、特に各ツールが直前の出力に依存する場合、面倒で時間がかかります。そのため、クライアントとサーバーの間で何度もやり取りする必要があります。

MultiplexTool を使うと、クライアントはツール呼び出しのリストを1つのリクエストにまとめ、順番に実行できます。また、プロンプトベースのプレースホルダーを使って以前の出力を参照し、ツール間の動的な依存関係をサポートします。

ツールの入力が前の結果に依存する場合、クライアントは PROMPT_ARGUMENT: 形式を使用して、LLM へのプロンプトを通じてその入力を動的に生成します(現在は Gemini のみサポートされています)。
例:
"userId": "PROMPT_ARGUMENT: the ID of the created user"

CLI フラグ:

  • --enable-multiplex:ツール呼び出しの多重化を有効にします。
  • --multiplex-model:PROMPT_ARGUMENT の推論に使用するモデル(例:gemini)を指定します。GEMINI_API_KEY 環境変数が必要です。
{
  "mcpServers": {
    "kafka": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "KAFKA_MCP_BOOTSTRAP_SERVERS",
        "ghcr.io/cefboud/kafka-mcp-server",
        "--enable-multiplex",
        "--multiplex-model",
        "gemini"
      ],
      "env": {
        "KAFKA_MCP_BOOTSTRAP_SERVERS": "localhost:9092",
        "GEMINI_API_KEY": "....."
      }
    }
  }
}

クレジット

  • github.com/github/github-mcp-server
  • github.com/mark3labs/mcp-go
  • github.com/IBM/sarama

コメント

MCP は初めてですか?

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

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