mcpField
M
mcp-confluent

mcp-confluent

ローカル
github.com/confluentincデータベース1682 日前に更新

mcp-confluent について

mcp-confluentは、Confluent Cloud、Confluent Platform、単独のKafka環境をAIアシスタントから扱うためのオープンソースMCPサーバーです。Kafka操作に加え、Cloud接続ではFlink SQL、Schema Registry、Tableflowなどのツールを利用できます。

主な機能

  1. 01Kafkaトピックとメッセージの管理
  2. 02コンシューマーグループの確認
  3. 03Flink SQLの実行と確認
  4. 04コネクターとスキーマの管理
  5. 05メトリクスと請求情報の照会
  6. 06接続ごとのツール設定

活用シーン

  1. 01CloudまたはローカルのKafkaトピック操作
  2. 02Flinkステートメントとコネクターの診断
  3. 03スキーマとConfluentリソースの探索

MCP 対応

MCP対応クライアントに、設定可能なConfluentおよびKafkaのツールを公開します。利用できるツールは、設定したサービスと接続方式によって異なります。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"confluent": {
"command": "npx",
"args": [
"-y",
"@confluentinc/mcp-confluent"
]
}
}
}
起動コマンドnpx -y @confluentinc/mcp-confluent

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

パッケージ
npm@confluentinc/mcp-confluent

ツール

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

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

詳細

Confluent MCP サーバー

npm version License: MIT

AI アシスタントが自然言語を通じて Confluent Cloud、Confluent Platform、スタンドアロンの Apache Kafka デプロイメントを操作できる、オープンソースの MCP サーバーです。 Kafka、Flink SQL、Schema Registry、Connectors、Tableflow などにわたる 50 種類以上のツールを提供しており、Claude Desktop、Claude Code、Cursor、VS Code、Goose、Gemini CLI など、MCP 対応クライアントから利用できます。

ヒント

すでに Confluent Cloud をご利用ですか? Confluent は、ローカルでサーバーを実行する必要も、依存関係をインストールする必要もない、フルマネージドの MCP サーバーを提供しています。 既存の RBAC 権限に基づいて管理される、AI を活用したコネクター診断機能とともに、Confluent Cloud のリソースにアクセスできます。 Confluent Platform/セルフマネージド Kafka のサポートが必要な場合、またはツールセットをカスタマイズ、拡張したい場合は、このオープンソースサーバーを使用してください。

注記: オープンソースの MCP サーバーは、コミュニティがサポートするプロジェクトです。Confluent による専用サポートはなく、サポートはベストエフォートのみで、サービスレベルの保証はありません。問題が発生した場合や貢献を希望する場合は、このリポジトリに直接イシューまたはプルリクエストを作成してください。

クイックスタート

前提条件: Node.js 22.23.4+。 Confluent Cloudを操作する場合は、まずアカウントを作成する必要があります。

  1. プロジェクトのルートに、簡易な config.yaml ファイルを生成します。
npx @confluentinc/mcp-confluent --init-config
  1. config.yaml ファイルを接続情報で編集してから、次を実行します。
npx @confluentinc/mcp-confluent --config ./config.yaml

セットアップ手順の全容についてははじめにを、任意の AI ツールとの連携についてはMCP クライアントの設定を参照してください。

目次

利用可能なツール

ツールは、解決済みの設定にどのサービスブロックが含まれているかに応じて自動的に有効になります。ブロックとツールの対応関係の全容については、CONFIGURATION.mdを参照してください。

CLI を使って、利用可能なツールをすべて一覧表示できます。

npx -y @confluentinc/mcp-confluent --list-tools
常時利用可能なツール

これらのツールはサービスブロックや認証が不要です。設定が最小限の場合でも有効で、設定のほかの部分がどのデプロイメントを対象としているかに関係なく利用できます。

カテゴリツール説明
ドキュメントsearch-product-docs, get-product-doc-pageConfluent 製品のドキュメントを検索し、ページの全内容を取得します
診断explain-disabled-tools, list-configured-connections, config-help, describe-configured-connectionツールが利用できない理由の説明、設定済みの接続と各接続で有効なツールの一覧表示、特定のツールを有効にする YAML の提案、および接続の設定と利用可能なツールの説明を行います
Confluent Cloud で利用可能なツール

これらのツールを利用するには、特定の Confluent Cloud コンポーネントに対するエンドポイントと認証が必要です。 設定変数の一覧については、config.example.yaml を参照してください。 ¹ の付いたカテゴリはOAuth 認証にも対応しており、API キーを用意する代わりにブラウザーからサインインできます。

カテゴリツール説明
Kafka ¹list-topics, create-topics, delete-topics, produce-message, consume-messages, list-consumer-groups, describe-consumer-group, get-consumer-group-lag, alter-topic-config, get-topic-configトピックの管理、メッセージの生成/消費、コンシューマーグループの確認、トピック設定の構成
Flink SQL ¹create-flink-statement, list-flink-statements, get-flink-statement-results, delete-flink-statements, get-flink-statement-exceptions, list-compute-poolsFlink SQL ステートメントの作成と管理、Flink コンピュートプールの検出
Flink Catalog ¹list-flink-catalogs, list-flink-databases, list-flink-tables, describe-flink-table, get-flink-table-infoFlink カタログ、データベース、テーブルスキーマの確認
Flink Diagnostics ¹check-flink-statement-health, detect-flink-statement-issues, get-flink-statement-profileヘルスチェック、問題の検出、クエリのプロファイリング
Connectors ¹list-connectors, get-connector-config, get-connector-offsets, get-connector-status, get-connector-tasks, get-connector-error-summary, get-connector-error-recommendations, get-connector-logs, create-connector ², delete-connector, pause-connector, resume-connector, restart-connector, update-connector-configKafka Connect コネクターの確認と管理
Schema Registry ¹list-schemas, create-schema, delete-schemaデータスキーマの一覧表示、確認、作成、削除
Catalog & Tags ¹search-topics-by-tag, search-topics-by-name, create-topic-tags, delete-tag, remove-tag-from-entity, add-tags-to-topic, list-tagsタグを使用したトピックの整理と検索
Organizations, Environments & Clusters ¹list-organizations, list-environments, read-environment, list-clustersConfluent Cloud リソースの検出
Tableflow ¹create-tableflow-topic, list-tableflow-topics, read-tableflow-topic, update-tableflow-topic, delete-tableflow-topic, list-tableflow-regionsTableflow 対応トピックの管理
Tableflow Catalog ¹create-tableflow-catalog-integration, list-tableflow-catalog-integrations, read-tableflow-catalog-integration, update-tableflow-catalog-integration, delete-tableflow-catalog-integrationTableflow カタログ統合(例:AWS Glue)の管理
Metrics ¹list-available-metrics, query-metricsConfluent Cloud の運用メトリクスの検出とクエリ
Billing ¹list-billing-costs請求およびコストデータのクエリ
¹ OAuth でも利用できます。設定方法と注意事項については、Confluent Cloud の OAuth 認証を参照してください。
現在マークされていないカテゴリには、静的 API キーを使用した direct 接続が必要です。OAuth への移行は進行中です。

² 個別のツールは OAuth では利用できません。静的 API キーを使用した direct 接続が必要です。

ローカルデプロイで利用可能なツール

これらのツールに必要なのは Kafka または Schema Registry のエンドポイントのみです。Confluent Cloud の API キー/シークレットは必要ありません。 Confluent Platform を含む、セルフマネージドクラスターを使用したローカル開発に最適です。

# minimal config.yaml for local development
connections:
  local:
    type: direct
    kafka:
      bootstrap_servers: "localhost:9092"
    schema_registry:
      endpoint: "http://localhost:8081"

すぐに使える設定例は sample_configs/ にあります。

カテゴリツール説明
Kafkalist-topics、create-topics、delete-topics、produce-message、consume-messages、list-consumer-groups、describe-consumer-group、get-consumer-group-lagトピックの管理、メッセージの生成/消費、コンシューマーグループの確認
Schema Registrylist-schemas、create-schema、delete-schemaデータスキーマの一覧表示、確認、作成、削除

Confluent Platform での使用

mcp-confluent は、ローカルの Kafka と Schema Registry を使用する他のデプロイと同様に、セルフマネージドの Confluent Platform(CP)クラスターで実行できます。ブローカーと Schema Registry を指定した direct 接続を設定してください。 CP 接続では、他のローカルデプロイと同じツールを利用できます。ローカルデプロイで利用可能なツールを参照してください。 Confluent Cloud のツール(Flink、Tableflow、Billing、Metrics など)を利用するには Confluent Cloud アカウントが必要で、CP では無効のままです。 localhost:9092 の構成との違いは、認証と TLS のみです。

YAML 設定例

sample_configs/confluent-platform.yaml は、そのままコピーして使える設定例です。 Kafka には SASL_SSL 経由の PLAIN、Schema Registry には HTTP Basic 認証を使用する想定です。 ブローカーと Schema Registry の URL をカスタマイズし、${KAFKA_API_KEY}/${KAFKA_API_SECRET}/${SCHEMA_REGISTRY_API_KEY}/${SCHEMA_REGISTRY_API_SECRET} 環境変数を介して認証情報を渡してください。 クラスターで SCRAM または別の SASL メカニズムを使用している場合は、このファイルの kafka.extra_properties マップを使って security.protocol と sasl.mechanisms を上書きしてください。

TLS 信頼設定(内部 CA)

CP クラスターは、内部 CA の背後にあることがよくあります。 ブローカーまたは Schema Registry への接続で TLS ハンドシェイクエラーが発生した場合は、サーバーの起動時に Node に CA バンドルを指定してください。

NODE_EXTRA_CA_CERTS=/path/to/internal-ca.pem pnpm run start -- --config path/to/config.yaml
エンドツーエンドのスモークテスト

docker-compose スタック(docker-compose.cp-test.yml)を起動すると、ローカルの CP Kafka(KRaft、SASL_PLAINTEXT/PLAIN)と、認証なしの Schema Registry が立ち上がります。 対応する統合テストには @cp タグが付いており、各ハンドラーの隣に *.cp.integration.test.ts として配置されています。

docker compose -f docker-compose.cp-test.yml up -d
# Wait ~30s for Kafka + SR to become ready, then:
CP_KAFKA_USERNAME=mcp CP_KAFKA_PASSWORD=mcp-secret \
  pnpm run test:integration --tags-filter=@cp
docker compose -f docker-compose.cp-test.yml down -v

これらの環境変数が設定されていない場合、テストは問題なくスキップされます。そのため、docker スタックを起動していなくても、pnpm run test:unit と、実際の Confluent Cloud アカウントに対するデフォルトの pnpm run test:integration には影響しません。

はじめに

前提条件
  • Node.js 22.23.4 以降 -- バージョン管理には、NVM の使用をおすすめします:
    nvm install 22
    nvm use 22
    
  • pnpm -- ソースからビルドする場合にのみ必要です(上記の npx によるクイックスタートでは不要です)。 macOS では Homebrew を使うのが最も簡単です。npm はクロスプラットフォームで動作します:
    brew install pnpm        # macOS
    # or, cross-platform:
    npm install -g pnpm
    
    その他の方法については、pnpm のインストールガイドをご覧ください。 正確な pnpm のバージョンは package.json の packageManager フィールドで固定されており、pnpm は組み込みのパッケージマネージャーのバージョン管理機能を通じて固定されたバージョンを自動的に実行するため、新しいバージョンの pnpm をインストールするだけで十分です。別途 Corepack をセットアップする必要はありません。
  • Kafka または Schema Registry が稼働しているローカル環境、あるいはOAuth を使用して認証する場合は、適切な API キーまたはログイン認証情報を備えた Confluent Cloud アカウント。
基本的なセットアップ手順

この MCP サーバーは、Claude Desktop、Copilot、Goose CLI/Desktop など、さまざまな MCP クライアントで使用できるように設計されています。 具体的な設定や操作方法は、使用するクライアントによって異なります。

この MCP サーバーは、YAML 設定ファイルに定義された静的 API キーに加えて、OAuth (PKCE) を使用して Confluent Cloud に認証できます。 詳細については、Confluent Cloud の OAuth 認証をご覧ください。

OAuth を使用せずにこの MCP を設定して実行する一般的な手順は次のとおりです:

  1. 設定ファイルを作成する: 提供されている config.yaml のサンプルファイルをプロジェクトのルートにコピーします。 CLI を使えば、git checkout を行わずに、現在のディレクトリに設定ファイルを生成できます:
npx @confluentinc/mcp-confluent --init-config
  1. ファイルに値を入力する: Confluent Cloud 環境に必要な値を入力します。 詳細なリファレンスは CONFIGURATION.md をご覧ください。必要なサービスのブロックのみ入力してください(各ブロックでツールのグループが有効になります)。

  2. サーバーを起動する: MCP サーバーは次のいずれかの方法で実行できます:

    • ソースから: ソースからサーバーをビルドして実行するには、コントリビューションガイドの手順に従います。 通常は、次の作業を行います:

      • 依存関係をインストールする(pnpm install)
      • プロジェクトをビルドする(pnpm run build または pnpm run dev)
    • npx を使用: ビルドせずに、npx を使ってサーバーを直接起動できます:

      npx @confluentinc/mcp-confluent --config /path/to/myconfig.yaml
      
  3. MCP クライアントを設定する: 各クライアント(例:Claude、Goose)には、MCP サーバーのアドレスや必要な認証情報を指定する方法があります。 このサーバーが稼働しているアドレス(通常は特定のポートを指定した localhost)に接続するよう、クライアントを設定してください。 サーバーが使用するポートは、config.yaml の server.http.port で設定します。

  4. MCP クライアントを起動する: クライアントが MCP サーバーに接続するよう設定したら、MCP クライアントを起動します。起動時に、この MCP サーバーのインスタンスがローカルで立ち上がります。 このインスタンスは、データスキーマの管理と、ユーザーに代わってリソースを操作する役割を担います。

  5. クライアントを通じてリソースを操作する: クライアントの接続と設定が完了したら、クライアントのインターフェースを使って Confluent Cloud またはローカルリソースを操作できます。 クライアントはこの MCP サーバーにリクエストを送信し、サーバーがユーザーに代わって利用可能な接続を操作します。

設定

設定の完全なリファレンス — YAML スキーマ、すべてのサービスブロック、環境変数の補間、OAuth および HTTP/SSE 認証の設定、(非推奨の)従来の環境変数一覧、ツールとブロックの対応付け — は CONFIGURATION.md にあります。

互換性に関する注意。 このリリースでは、単一の接続について YAML(-c config.yaml)と従来の環境変数の方法(-e config.env)の完全な互換性を実現しています。 環境変数のみを使用する方法では、近い将来のリリースで起動時に警告が表示され、その1〜2リリース後に削除される予定です。 複数の接続(または接続なし)の定義は YAML のみで可能です。環境変数の方法では単一の接続しか指定できません。 CONFIGURATION.md → 2つの方法、1つの設定 と CONFIGURATION.md → 複数の接続(および接続なし) を参照してください。

Tableflow コマンドの前提条件とセットアップ

Tableflow ツールは、Confluent Cloud の Flink ランタイムを介して、クラウドストレージ(例:AWS S3)やメタデータカタログ(例:AWS Glue)をお客様に代わって操作します。 Flink ランタイムにはお客様のクラウドアカウントに対する IAM 権限が必要です。Tableflow ツールを使用する前に、これらの権限を Confluent Cloud に付与し、連携させる必要があります。

ロール、ポリシー、プロバイダー連携を設定するには、カスタムストレージと Glue を使用した Tableflow クイックスタート に従ってください。 この手順を省略すると、mcp-confluent が Tableflow 対応テーブルのプロビジョニングや管理を試みたときに、認可エラーが発生します。

Confluent Cloud の OAuth 認証

MCP サーバーは、静的 API キーの代わりに OAuth(PKCE) を使用して Confluent Cloud に認証できます。 Confluent へのアクセスが必要な最初のツール呼び出し時に、サーバーは Confluent Cloud のサインインページをブラウザーで開きます。その後のツール呼び出しでは、確立されたセッションが再利用されます。 API キーを用意する必要はありません。

セットアップ
npx @confluentinc/mcp-confluent --init-oauth-config
# edit ./config.yaml if needed, then:
npx @confluentinc/mcp-confluent --config ./config.yaml

--init-oauth-config を実行すると、ひな形の config.oauth.example.yaml が ./config.yaml に作成されます。 ファイル全体の構成は、ほぼ次のとおりです。

connections:
  ccloud-oauth:
    type: oauth

完全なスキーマと使いやすさに関する情報は、CONFIGURATION.md → 認証モード を参照してください。

Confluent Cloud で利用可能なツール のうち¹印の付いたカテゴリは、現在 OAuth で利用できます。それ以外のツールには、静的 API キーを使った direct 接続が引き続き必要です。

CLI の使用方法

MCP サーバーには、高度な制御を可能にする柔軟なコマンドラインインターフェイス(CLI)が用意されています。 CLI では、設定ファイルやトランスポートを選択したり、有効にするツールやブロックするツールを細かく調整したりできます。

基本的な使い方

CLI のすべてのオプションとヘルプを表示するには、次のコマンドを実行します。

npx @confluentinc/mcp-confluent --help
出力を表示
Usage: mcp-confluent [options]

Confluent MCP Server - Model Context Protocol implementation for Confluent Cloud

Options:
  -V, --version                    output the version number
  -e, --env-file <path>            Load environment variables from file
  -k, --kafka-config-file <file>   Path to a properties file for configuring kafka clients
  -t, --transport <types>          Transport types (comma-separated list) (choices: "http", "sse", "stdio", default: "stdio")
  --allow-tools <tools>            Comma-separated list of tool names to allow. If provided, takes precedence over --allow-tools-file. Allow-list is applied before block-list.
  --block-tools <tools>            Comma-separated list of tool names to block. If provided, takes precedence over --block-tools-file. Block-list is applied after allow-list.
  --allow-tools-file <file>        File with tool names to allow (one per line). Used only if --allow-tools is not provided. Allow-list is applied before block-list.
  --block-tools-file <file>        File with tool names to block (one per line). Used only if --block-tools is not provided. Block-list is applied after allow-list.
  --list-tools                     Print the final set of enabled tool names (with descriptions) after allow/block filtering and exit. Does not start the server.
  --disable-auth                   Disable authentication for HTTP/SSE transports. WARNING: Only use in development environments.
  --allowed-hosts <hosts>          Comma-separated list of allowed Host header values for DNS rebinding protection.
  --generate-key                   Generate a secure API key for MCP_API_KEY and print it to stdout, then exit.
  -h, --help                       display help for command
例:すべてのトランスポートを使用してデプロイする
npx @confluentinc/mcp-confluent -c config.yaml --transport http,sse,stdio
出力を表示
...
{"level":"info","time":"2025-05-14T17:03:02.883Z","pid":47959,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Starting transports: http, sse, stdio"}
{"level":"info","time":"2025-05-14T17:03:02.971Z","pid":47959,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"HTTP transport routes registered"}
{"level":"info","time":"2025-05-14T17:03:02.972Z","pid":47959,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"SSE transport routes registered"}
{"level":"info","time":"2025-05-14T17:03:02.972Z","pid":47959,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"STDIO transport connected"}
{"level":"info","time":"2025-05-14T17:03:03.012Z","pid":47959,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Server listening at http://[::1]:3000"}
{"level":"info","time":"2025-05-14T17:03:03.013Z","pid":47959,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Server listening at http://127.0.0.1:3000"}
{"level":"info","time":"2025-05-14T17:03:03.013Z","pid":47959,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"All transports started successfully"}
例:特定のツールのみを許可する
npx @confluentinc/mcp-confluent -c config.yaml --allow-tools produce-message,consume-messages

指定したツールのみが有効になり、それ以外はすべて無効になります。

例:特定のツールをブロックする
npx @confluentinc/mcp-confluent -c config.yaml --block-tools produce-message,consume-messages

指定したツール以外はすべて有効になります。

例:ファイルからツールリストを使用する

許可リストとブロックリストをファイルで管理することもできます(1行につきツール名を1つ記述します)。

npx -y @confluentinc/mcp-confluent -c config.yaml --allow-tools-file allow.txt --block-tools-file block.txt
例:利用可能なすべてのツールを一覧表示する
npx -y @confluentinc/mcp-confluent --list-tools
出力を表示
billing:
  list-billing-costs: Retrieve billing cost data for a Confluent Cloud organization within a specified date range with pagination support

catalog:
  add-tags-to-topic: Assign existing tags to Kafka topics in Confluent Cloud.
  create-topic-tags: Create new tag definitions in Confluent Cloud.
  delete-tag: Delete a tag definition from Confluent Cloud.
  list-tags: Retrieve all tags with definitions from Confluent Cloud Schema Registry.
  remove-tag-from-entity: Remove tag from an entity in Confluent Cloud.
  search-topics-by-name: List all topics in the Kafka cluster matching the specified name.
  search-topics-by-tag: List all topics in the Kafka cluster with the specified tag.

confluent-cloud:
  list-clusters: Get all clusters in the Confluent Cloud environment
  list-environments: Get all environments in Confluent Cloud with pagination support
  list-organizations: List Confluent Cloud organizations the current credentials can see. Paginated; if the response includes a nextPageTok...
  read-environment: Get details of a specific environment by ID

connect:
  create-connector: Create a new connector. Returns the new connector information if successful.
  delete-connector: Delete an existing connector. Returns success message if deletion was successful.
  get-connector-config: Retrieve the full configuration map for a connector. Returns the flat config object the connector was created/updated...
  get-connector-error-recommendations: Get suggested remediation steps for a connector that has failed or is in an error state. Returns a one-liner when no recommendations are available.
  get-connector-error-summary: Summarize a connector's current errors. Projects Confluent Cloud's /status diagnostics into a compact, agent-friendly form. Returns a one-liner when the connector is healthy.
  get-connector-logs: Retrieve recent log entries for a Confluent Cloud connector from the Cloud logging API. Defaults to the last hour of ERROR-level entries. Paginated via nextPageToken.
  get-connector-offsets: Retrieve current offsets for a connector's tasks. Useful for detecting lag, stalled tasks, or assisting recovery.
  get-connector-status: Get the current state of a connector and its tasks (RUNNING, FAILED, PAUSED, UNASSIGNED) including failure traces if ...
  get-connector-tasks: List the tasks of a connector along with their configurations.
  list-connectors: Retrieve a list of "names" of the active connectors. You can then make a read request for a specific connector by name.
  pause-connector: Pause a running connector and its tasks. Idempotent.
  restart-connector: Restart a connector and its tasks. Asynchronous; the connector will not transition state synchronously.
  resume-connector: Resume a paused connector and its tasks. Idempotent.
  update-connector-config: Update the configuration of an existing connector. Full-replace: omitted keys are removed and the connector is reconf...

docs:
  get-product-doc-page: Fetch the full markdown content of a Confluent product documentation page. Accepts URLs under https://docs.confluent....
  search-product-docs: Search Confluent product documentation (docs.confluent.io, developer.confluent.io, support.confluent.io) by keyword.

flink:
  check-flink-statement-health: Perform an aggregate health check for a Flink SQL statement. Returns status (healthy/warning/critical), current phase...
  create-flink-statement: Make a request to create a statement.
  delete-flink-statements: Make a request to delete a statement.
  describe-flink-table: Get full schema details for a Flink table via INFORMATION_SCHEMA.COLUMNS. Returns column names, data types (including...
  detect-flink-statement-issues: Detect issues for a Flink SQL statement by analyzing status, exceptions, and performance metrics. Identifies problems...
  get-flink-statement-exceptions: Retrieve the 10 most recent exceptions for a Flink SQL statement. Useful for diagnosing failed or failing statements.
  get-flink-statement-profile: Get Query Profiler data for a Flink SQL statement. Returns the task graph with human-readable task/operator names, pe...
  get-flink-statement-results: Fetch the result rows produced by a Flink SQL statement.
  get-flink-table-info: Get table metadata via INFORMATION_SCHEMA.TABLES. Returns watermark configuration, distribution info, and table type.
  list-compute-pools: Get the Flink compute pools in the Confluent Cloud environment. Paginated; if the response includes a nextPageToken, pas...
  list-flink-catalogs: List all catalogs available in the Flink environment via INFORMATION_SCHEMA.CATALOGS.
  list-flink-databases: List all databases (schemas) in a Flink catalog via INFORMATION_SCHEMA.SCHEMATA. Returns catalog and database names.
  list-flink-statements: Retrieve a sorted, filtered, paginated list of all statements.
  list-flink-tables: List all tables in a Flink database via INFORMATION_SCHEMA.TABLES. Returns table names and types.

kafka:
  alter-topic-config: Alter topic configuration in Confluent Cloud.
  consume-messages: Consume messages from Kafka topics. Optionally restrict to a partition, start from an offset, timestamp, earliest, la...
  create-topics: Create one or more Kafka topics with an optional partition count and replication factor.
  delete-topics: Delete the topic with the given names.
  describe-consumer-group: Describe a single consumer group on a Kafka cluster. Returns the group's state, type, protocol, partition assignor, c...
  get-consumer-group-lag: Compute live offset lag for a single Kafka consumer group. Returns per-(topic, partition) {committedOffset, highWater...
  get-partition-offsets: Return per-partition low/high watermarks and message counts for a Kafka topic. Use this to size a backfill, measure l...
  get-topic-config: Retrieve configuration details for a specific Kafka topic.
  list-consumer-groups: List consumer groups on a Kafka cluster — wraps the broker's listGroups admin call. Optional filters narrow the resul...
  list-topics: List all topics in the Kafka cluster.
  produce-message: Produce records to a Kafka topic. Supports Confluent Schema Registry serialization (AVRO, JSON, PROTOBUF) for both ke...

mcp-server-diagnostics:
  config-help: Call when the user wants to enable or unlock a specific tool (e.g. "how do I enable the tableflow tools?", "what config does cr...
  explain-disabled-tools: Call when the user asks why a tool is missing or unavailable (e.g., "why can't I list Kafka topics?", "where are the ...
  list-configured-connections: List every configured connection and the connection-routable tools you can invoke against each. The connection id (th...

metrics:
  list-available-metrics: List available Confluent Cloud metrics and their filter fields from the Telemetry API. Use this tool BEFORE query-met...
  query-metrics: Query Confluent Cloud metrics from the Telemetry API. IMPORTANT: Use the list-available-metrics tool first to discove...

schema-registry:
  create-schema: Register a new schema (or a new version of an existing schema) under a subject in the Schema Registry.
  delete-schema: Delete a schema subject or a specific version from the Schema Registry. If version is omitted, all versions of the su...
  list-schemas: List all schemas in the Schema Registry.

tableflow:
  create-tableflow-catalog-integration: Make a request to create a catalog integration.
  create-tableflow-topic: Make a request to create a tableflow topic.
  delete-tableflow-catalog-integration: Make a request to delete a tableflow catalog integration.
  delete-tableflow-topic: Make a request to delete a tableflow topic.
  list-tableflow-catalog-integrations: Retrieve a sorted, filtered, paginated list of all catalog integrations.
  list-tableflow-regions: Retrieve a sorted, filtered, paginated list of all tableflow regions.
  list-tableflow-topics: Retrieve a sorted, filtered, paginated list of all tableflow topics.
  read-tableflow-catalog-integration: Make a request to read a catalog integration.
  read-tableflow-topic: Make a request to read a tableflow topic.
  update-tableflow-catalog-integration: Make a request to update a catalog integration.
  update-tableflow-topic: Make a request to update a tableflow topic.

ヒント: 許可リストはブロックリストより先に適用されます。 どちらも指定されていない場合、デフォルトですべてのツールが有効になります。

MCP クライアントの設定

お好みのクライアントでこの MCP サーバーを設定し、使用する手順については、以下のガイドを参照してください。

テレメトリ

この MCP サーバーは、改善に役立てるため、使用状況データを収集し、サーバー側の実行時エラーを報告します(Sentry 経由)。 環境変数に DO_NOT_TRACK=true を設定するか、YAML に server.do_not_track: true を設定すると、どちらもオプトアウトできます。 収集される情報と送信されない情報の詳細については、telemetry.md を参照してください。

トラブルシューティング

「Node.js のバージョンがサポートされていません」 -- このプロジェクトには Node.js 22.23.4 以降が必要です。 node -v でバージョンを確認し、必要に応じてアップグレードしてください。

ツールが表示されない -- 各ツールには、config.yaml 内の特定のサービスブロックが必要です。 --list-tools を実行して有効なツールを確認するか、クライアントから explain-disabled-tools MCP ツールを呼び出すと、ツールごとの理由を確認できます。 ブロックとツールの対応関係については、CONFIGURATION.md を参照してください。

HTTP/SSE で認証エラーが発生する -- npx @confluentinc/mcp-confluent --generate-key で API キーを生成し、config.yaml の server.auth.api_key に追加してください。 CONFIGURATION.md → HTTP/SSE transport security を参照してください。

接続拒否/ポートの競合 -- HTTP のデフォルトポートは 8080 です。 変更するには、config.yaml の server.http.port を設定してください。

Tableflow の認可エラー -- Tableflow ツールを使用するには、クラウド環境で特定の IAM 権限が必要です。 Tableflow コマンドの前提条件とセットアップ を参照してください。

コントリビュート

バグ報告やフィードバックは、Github Issues にお寄せください。 コントリビュートのガイドラインについては、CONTRIBUTING.md を参照してください。

プレリリースのテスト

ベータテストや早期のフィードバックのために、プレリリース版で MCP サーバーを実行するには、リリースの tarball ファイルをローカルディレクトリにダウンロードしてください。 その後、上記の npx コマンドを実行する際に、@confluentinc/mcp-confluent をその tarball へのパスに置き換えます。例:npx @~path/to/my/tarball --list-tools

コメント

MCP は初めてですか?

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

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