mcp-confluent

Official
by confluentinc

Integrations

  • Allows configuration of Confluent Cloud credentials and endpoints through environment variables, supporting secure authentication with various Confluent services.

  • Enables AI assistants to interact with Confluent Cloud REST APIs, providing tools for managing Kafka topics, connectors, and Flink SQL statements through natural language interactions.

mcp-合流

AIアシスタントがConfluent Cloud REST APIと連携できるようにするMCPサーバー実装。このサーバーにより、Claude DesktopやGoose CLIなどのAIツールが、自然言語によるインタラクションを通じてKafkaトピック、コネクタ、Flink SQLステートメントを管理できるようになります。

デモ

グースCLI

クロードデスクトップ

目次

ユーザーガイド

はじめる

  1. **.envファイルを作成する:**サンプルの.envファイル構造 (以下に表示) を、プロジェクトのルートにある.envという名前の新しいファイルにコピーします。
  2. .envファイルへの入力: Confluent Cloud 環境に必要な値を入力します。各変数の詳細については、設定セクションをご覧ください。
  3. Node.js をインストールします(まだインストールされていない場合)
    • Node.jsのバージョン管理にはNVM (Node Version Manager)の使用をお勧めします。
    • Node.js をインストールして使用します。
    nvm install 22 nvm use 22

構成

次の構成で、プロジェクトのルート ディレクトリに.envファイルを作成します。

# .env file BOOTSTRAP_SERVERS="pkc-v12gj.us-east4.gcp.confluent.cloud:9092" KAFKA_API_KEY="..." KAFKA_API_SECRET="..." KAFKA_REST_ENDPOINT="https://pkc-v12gj.us-east4.gcp.confluent.cloud:443" KAFKA_CLUSTER_ID="" KAFKA_ENV_ID="env-..." FLINK_ENV_ID="env-..." FLINK_ORG_ID="" FLINK_REST_ENDPOINT="https://flink.us-east4.gcp.confluent.cloud" FLINK_ENV_NAME="" FLINK_DATABASE_NAME="" FLINK_API_KEY="" FLINK_API_SECRET="" FLINK_COMPUTE_POOL_ID="lfcp-..." CONFLUENT_CLOUD_API_KEY="" CONFLUENT_CLOUD_API_SECRET="" CONFLUENT_CLOUD_REST_ENDPOINT="https://api.confluent.cloud" SCHEMA_REGISTRY_API_KEY="..." SCHEMA_REGISTRY_API_SECRET="..." SCHEMA_REGISTRY_ENDPOINT="https://psrc-zv01y.northamerica-northeast2.gcp.confluent.cloud"

環境変数リファレンス

変数説明デフォルト値必須
ブートストラップサーバーKafka クラスターへの初期接続を確立するために使用される、host1:port1、host2:port2 形式の Kafka ブローカー アドレスのリスト (文字列)はい
コンフィギュレーションパスセッション永続性のための会話ベースの構成を保存および取得するためのファイルシステムパス(将来の実装)(文字列)はい
CONFLUENT_CLOUD_API_KEYConfluent Cloud プラットフォーム管理用のマスター API キー。組織全体のリソースの管理を可能にします (文字列 (最小: 1))はい
CONFLUENT_CLOUD_API_SECRET包括的な Confluent Cloud プラットフォーム管理のための CONFLUENT_CLOUD_API_KEY とペアになったマスター API シークレット (文字列 (最小: 1))はい
FLINK_API_KEYコンピューティング プールや SQL ステートメント管理を含む Confluent Cloud の Flink サービスにアクセスするための認証キー (文字列 (最小: 1))はい
FLINK_API_SECRETConfluent Cloud の Flink サービスへの認証アクセス用の FLINK_API_KEY とペアになったシークレット トークン (文字列 (最小: 1))はい
KAFKA_API_キーKafka クラスターとの安全な接続を確立するために必要な認証資格情報 (ユーザー名) (文字列 (最小: 1))はい
KAFKA_API_SECRET安全な Kafka クラスター アクセスのための KAFKA_API_KEY とペアになった認証資格情報 (パスワード) (文字列 (最小: 1))はい
スキーマレジストリAPIキーデータ スキーマを管理および検証するためのスキーマ レジストリ サービスにアクセスするための認証キー (文字列 (最小: 1))はい
スキーマレジストリAPIシークレット安全なスキーマ レジストリ アクセスのための SCHEMA_REGISTRY_API_KEY とペアになった認証シークレット (文字列 (最小: 1))はい
CONFLUENT_CLOUD_REST_ENDPOINTConfluent Cloud の REST API サービスのベース URL (デフォルト)いいえ
FLINK_COMPUTE_POOL_IDFlinkコンピューティング プールの一意の識別子。'lfcp-' プレフィックスで始まる必要があります (文字列)いいえ
FLINK_データベース名Flink SQL 操作でデータベース参照として使用される関連 Kafka クラスターの名前 (文字列 (最小: 1))いいえ
FLINK_ENV_IDFlink 環境の一意の識別子。'env-' プレフィックスで始まる必要があります (文字列)いいえ
FLINK_ENV_NAME識別および表示目的で使用される Flink 環境の人間が読める名前 (文字列 (最小: 1))いいえ
FLINK_ORG_IDFlink リソース管理用の Confluent Cloud 内の組織識別子 (文字列 (最小: 1))いいえ
FLINK_REST_ENDPOINTSQL ステートメントとコンピューティング プールの管理に使用される Confluent Cloud の Flink REST API エンドポイントのベース URL (文字列)いいえ
KAFKA_クラスターIDConfluent Cloud エコシステム内の Kafka クラスターの一意の識別子 (文字列 (最小: 1))いいえ
KAFKA_ENV_IDKafka クラスターの環境識別子。'env-' プレフィックスで始まる必要があります (文字列)いいえ
KAFKA_REST_エンドポイントKafka クラスターの管理と運用のための REST API エンドポイント (文字列)いいえ
スキーマレジストリエンドポイントデータ スキーマを管理するためにスキーマ レジストリ サービスにアクセスするための URL エンドポイント (文字列)いいえ

使用法

このMCPサーバーは、Claude DesktopやGoose CLI/Desktopなど、様々なMCPクライアントで使用できるように設計されています。具体的な設定と操作は、使用するクライアントによって異なります。ただし、一般的な手順は以下のとおりです。

  1. ビルド:開発者ガイドの指示に従って、ソースからサーバーをビルドして実行します。通常、以下の手順が必要です。
    • 依存関係のインストール( npm install
    • プロジェクトのビルド( npm run buildまたはnpm run dev
  2. **MCPクライアントの設定:**各クライアントは、MCPサーバーのアドレスと必要な認証情報を指定する方法が異なります。クライアント(例:Claude、Goose)を、このサーバーが稼働しているアドレス(通常は特定のポートを持つlocalhost )に接続するように設定する必要があります。サーバーが稼働するポートは、環境変数で設定できます。
  3. **MCPクライアントを起動します。**クライアントがMCPサーバーに接続できるように設定したら、MCPクライアントを起動できます。起動時に、MCPサーバーのインスタンスがローカルに作成されます。このインスタンスは、データスキーマの管理とConfluent Cloudとのやり取りをユーザーに代わって行います。
  4. **クライアント経由でConfluentとやり取りする:**クライアントが接続されると、クライアントのインターフェースを使用してConfluent Cloudのリソースとやり取りできるようになります。クライアントはMCPサーバーにリクエストを送信し、MCPサーバーがユーザーに代わってConfluent Cloudとやり取りします。

Claudeデスクトップの設定

Claude Desktop および MCP サーバーのインストールの詳細については、ここを参照してください。

この MCP サーバーを使用するように Claude Desktop を構成するには:

  1. オープンクロードデスクトップ構成
    • Macの場合: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows の場合: %APPDATA%\Claude\claude_desktop_config.json
  2. 設定ファイルの編集
    • 好みのテキストエディタで設定ファイルを開きます
    • 次のいずれかの方法を使用して、構成を追加または変更します。
    { "mcpServers": { "confluent": { "command": "node", "args": [ "/path/to/confluent-mcp-server/dist/index.js", "--env-file", "/path/to/confluent-mcp-server/.env", ] } } }
    { "mcpServers": { "confluent": { "command": "npx", "args": [ "-y" "@confluentinc/mcp-confluent", "-e", "/path/to/confluent-mcp-server/.env" ] } } }

    /path/to/confluent-mcp-server/この MCP サーバーをインストールした実際のパスに置き換えます。

  3. Claudeデスクトップを再起動します
    • 変更を有効にするには、Claude Desktop を閉じて再度開きます。
    • Claude Desktopを起動するとMCPサーバーが自動的に起動します。

これで、Claude Desktop は Confluent とのやり取りにローカル MCP サーバーを使用するように構成されます。

Goose CLIの設定

Goose CLI のインストール方法の詳細については、ここを参照してください。

インストールしたら、次の手順に従います。

  1. 構成コマンドを実行します。
    goose configure
  2. 対話型プロンプトに従います。
    • Add extension選択
    • Command-line Extensionを選択
    • 拡張機能名としてmcp-confluentを入力します
    • 次のいずれかの構成方法を選択します。
    node /path/to/confluent-mcp-server/dist/index.js --env-file /path/to/confluent-mcp-server/.env
    npx -y @confluentinc/mcp-confluent -e /path/to/confluent-mcp-server/.env

/path/to/confluent-mcp-server/この MCP サーバーをインストールした実際のパスに置き換えます。

開発者ガイド

プロジェクト構造

/ ├── src/ # Source code │ ├── confluent/ # Code related to Confluent integration (API clients, etc.) │ ├── tools/ # Tool implementations (each tool in a separate file) │ ├── index.ts # Main entry point for the server │ └── ... # Other server logic, utilities, etc. ├── dist/ # Compiled output (TypeScript -> JavaScript) ├── openapi.json # OpenAPI specification for Confluent Cloud ├── .env # Environment variables (example - should be copied and filled) ├── README.md # This file └── package.json # Node.js project metadata and dependencies

構築と実行

  1. 依存関係をインストールします:
    npm install
  2. 開発モード(変更に注意してください):
    npm run dev
    このコマンドは、TypeScript コードを JavaScript にコンパイルし、 src/ディレクトリで変更が検出されると自動的に再構築します。
  3. プロダクションビルド(1回限りのコンパイル):
    npm run build
  4. サーバーを起動します。
    npm run start

テスト

MCP検査官

MCP サーバーをテストするには、MCP サーバーのテストとデバッグを行う対話型開発者ツールであるMCP Inspector を使用できます。

# make sure you've already built the project either in dev mode or by running npm run build npx @modelcontextprotocol/inspector node $PATH_TO_PROJECT/dist/index.js --env-file $PATH_TO_PROJECT/.env

新しいツールの追加

  1. 列挙クラスToolNameに新しい列挙を追加します。
  2. 新しいツールをToolFactoryクラスのハンドラー マップに追加します。
  3. BaseToolHandler拡張するクラスをエクスポートして、新しいファイルを作成します。
    1. 基本クラスのhandleメソッドを実装します。
    2. 基本クラスのgetToolConfigメソッドを実装します。
  4. 満足したら、 index.tsenabledToolsセットに追加します。

型の生成

# as of v7.5.2 there is a bug when using allOf w/ required https://github.com/openapi-ts/openapi-typescript/issues/1474. need --empty-objects-unknown flag to avoid it npx openapi-typescript ./openapi.json -o ./src/confluent/openapi-schema.d.ts --empty-objects-unknown

貢献

バグ報告やフィードバックはGithub Issuesで受け付けています。貢献に関するガイドラインについては、 CONTRIBUTING.mdをご覧ください。

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Confluent Kafka および Confluent Cloud REST API と対話するために構築された MCP サーバー実装。

  1. Demo
    1. Goose CLI
    2. Claude Desktop
  2. Table of Contents
    1. User Guide
      1. Getting Started
      2. Configuration
      3. Environment Variables Reference
      4. Usage
      5. Configuring Claude Desktop
      6. Configuring Goose CLI
    2. Developer Guide
      1. Project Structure
      2. Building and Running
      3. Testing
      4. Adding a New Tool
      5. Generating Types
      6. Contributing

    Related MCP Servers

    • -
      security
      A
      license
      -
      quality
      A lightweight MCP server that interacts with the Neon REST API, deployable on Cloudflare Workers for streamlined database management and integration.
      Last updated -
      5
      TypeScript
      MIT License
    • -
      security
      A
      license
      -
      quality
      A framework to use with AI to easily create a server for any service. Just drop the API Documentation in it and ask to create the MCP.
      Last updated -
      4
      TypeScript
      MIT License
    • A
      security
      F
      license
      A
      quality
      An MCP server implementation that enables interaction with the Unstructured API, providing tools to list, create, update, and manage sources, destinations, and workflows.
      Last updated -
      39
      25
      • Apple
    • -
      security
      F
      license
      -
      quality
      A remote MCP server implementation for Cloudflare that uses server-sent events (SSE) to enable Model Control Protocol communication.
      Last updated -
      TypeScript
      • Linux

    View all related MCP servers

    ID: 8zh4gg3sw9