Kafka MCP Server

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Supports environment variable configuration through .env files for Kafka connection settings and tool descriptions.

  • Provides publish and consume functionalities for Kafka topics, allowing messages to be sent to and retrieved from Kafka streams. Messages consumed cannot be read again using the same group ID.

  • Utilizes Pydantic for settings management and validation of configuration values.

Kafka MCP サーバー

Apache Kafka と統合して、LLM および Agentic アプリケーションの公開および消費機能を提供するメッセージ コンテキスト プロトコル (MCP) サーバー。

概要

このプロジェクトは、AIモデルが標準化されたインターフェースを介してKafkaトピックと対話できるようにするサーバーを実装します。サポート対象は以下のとおりです。

  • Kafkaトピックへのメッセージの公開
  • Kafkaトピックからのメッセージの消費

前提条件

  • Python 3.8以上
  • Apache Kafka インスタンス
  • Python の依存関係 (インストールのセクションを参照)

インストール

  1. リポジトリをクローンします。
    git clone <repository-url> cd <repository-directory>
  2. 仮想環境を作成してアクティブ化します。
    python -m venv venv source venv/bin/activate # On Windows, use: venv\Scripts\activate
  3. 必要な依存関係をインストールします。
    pip install -r requirements.txt
    requirements.txt が存在しない場合は、次のパッケージをインストールします。
    pip install aiokafka python-dotenv pydantic-settings mcp-server

構成

次の変数を含む.envファイルをプロジェクト ルートに作成します。

# Kafka Configuration KAFKA_BOOTSTRAP_SERVERS=localhost:9092 TOPIC_NAME=your-topic-name IS_TOPIC_READ_FROM_BEGINNING=False DEFAULT_GROUP_ID_FOR_CONSUMER=kafka-mcp-group # Optional: Custom Tool Descriptions # TOOL_PUBLISH_DESCRIPTION="Custom description for the publish tool" # TOOL_CONSUME_DESCRIPTION="Custom description for the consume tool"

使用法

サーバーの実行

提供されているmain.pyスクリプトを使用してサーバーを実行できます。

python main.py --transport stdio

利用可能な交通手段:

  • stdio : 標準入出力(デフォルト)
  • sse : サーバー送信イベント

Claude Desktopとの統合

この Kafka MCP サーバーを Claude Desktop で使用するには、Claude Desktop 構成ファイルに次の構成を追加します。

{ "mcpServers": { "kafka": { "command": "python", "args": [ "<PATH TO PROJECTS>/main.py" ] } } }

<PATH TO PROJECTS>プロジェクト ディレクトリへの絶対パスに置き換えます。

プロジェクト構造

  • main.py : アプリケーションのエントリポイント
  • kafka.py : Kafka コネクタの実装
  • server.py : Kafka とのやり取りのためのツールを備えた MCP サーバーの実装
  • settings.py : Pydantic を使用した構成管理

利用可能なツール

kafka-publish

構成された Kafka トピックに情報を公開します。

kafka-consume

構成された Kafka トピックから情報を消費します。

  • 注意: 一度トピックからメッセージを読み取ると、同じグループIDを使用して再度読み取ることはできません。
-
security - not tested
A
license - permissive license
-
quality - not tested

AI モデルが標準化されたインターフェースを介して Apache Kafka トピックからメッセージを公開および消費できるようにすることで、Kafka メッセージングを LLM およびエージェント アプリケーションと簡単に統合できるようになります。

  1. Overview
    1. Prerequisites
      1. Installation
        1. Configuration
          1. Usage
            1. Running the Server
            2. Integrating with Claude Desktop
          2. Project Structure
            1. Available Tools
              1. kafka-publish
              2. kafka-consume
            ID: 8ohdumy56r