Conduktor について
Conduktor MCP は、Kafka クラスターを管理するプラットフォームチームやエンジニア向けに、クラスター、トピック、コンシューマーグループ、スキーマ、コネクター、ガバナンスの情報を提供します。Conduktor Console 内で動作し、既存の RBAC を適用して監査記録を残します。ツールは読み取りが中心ですが、一部の書き込みにも対応します。
主な機能
- 01クラスターの健全性とトピック利用状況の確認
- 02コンシューマーグループの状態・ラグ・メンバー確認
- 03スキーマと互換性の照会
- 04コネクター・証明書・アクセス・リネージの確認
- 05監査ログとチーム別コストの照会
- 06ツールによるトピックのラベル設定
活用シーン
- 01コンシューマーグループのラグや停止メッセージの調査
- 02未使用トピックと作成者の特定
- 03期限切れが近い証明書とトピック所有者の確認
- 04チーム別コストとデータフローの分析
MCP 対応
Conduktor Console に組み込まれた MCP エンドポイントが、クライアントや Console 内のエージェントに Kafka のコントロールプレーン用ツールを提供します。呼び出しには Console の ID と RBAC 権限が適用され、監査ログに記録されます。ツールは主に読み取り用で、一部に書き込み操作があります。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://{console_host}/api/mcpclaude mcp add --transport http conduktor-kafka https://{console_host}/api/mcp{"mcpServers":{"conduktor-kafka":{"type":"http","url":"https://{console_host}/api/mcp"}}}Cursor で開く{"servers":{"conduktor-kafka":{"type":"http","url":"https://{console_host}/api/mcp"}}}VS Code で開く{"mcpServers":{"conduktor-kafka":{"type":"http","url":"https://{console_host}/api/mcp"}}}{"mcpServers":{"conduktor-kafka":{"serverUrl":"https://{console_host}/api/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://{console_host}/api/mcp認証が必要ツール
詳細
Conduktor MCP
Kafka 環境を AI アシスタントに管理させましょう。
クラスターを眺めるだけのチャットウィンドウではありません。エージェントが、あなたのものでも私たちのものでも、稼働中のすべてのクラスターで実際に何が起きているかを把握し、対応するための手段です。誰も利用していないトピックを整理し、コストを支出したチームに割り当て、来月期限切れになる証明書を見つけ、午前3時に失敗したコネクターを再起動し、担当者が退職したトピックにラベルを付けます。
MCP エンドポイントはConduktor Consoleに組み込まれています。デプロイは不要で、新たにセキュリティ対策を施す必要もありません。アシスタントは、すでに運用している RBAC、監査証跡、所有権モデルを引き継ぎます。
まずは試してみる
手元に Kafka がなくても大丈夫です。demo/を使えば、トピック、トラフィック、意図的に遅延させたコンシューマーグループを用意したクラスター、Console、MCP エンドポイントをdocker compose up -dで起動できます。
セットアップ
Console で Personal Access Token を作成し、MCP クライアントを自分の Console に接続します。
{
"mcpServers": {
"conduktor": {
"command": "npx",
"args": ["-y", "@conduktor/mcp"],
"env": {
"CONDUKTOR_CONSOLE_URL": "https://console.acme-corp.com",
"CONDUKTOR_API_TOKEN": "your-personal-access-token"
}
}
}
}
/api/mcpは自動で追加されます。末尾にすでに含まれている URL を貼り付けても機能します。
パッケージを使わずに接続する
@conduktor/mcpはmcp-remoteをラップしています。必要に応じて直接呼び出すこともできます。
{
"mcpServers": {
"conduktor": {
"command": "npx",
"args": [
"mcp-remote",
"https://console.acme-corp.com/api/mcp",
"--header",
"Authorization: Bearer ${CONDUKTOR_API_TOKEN}"
],
"env": { "CONDUKTOR_API_TOKEN": "your-personal-access-token" }
}
}
}
アシスタントに質問できること
英語で質問すると、ドキュメントではなく、実際の環境に基づいた回答が得られます。
1か月間消費されていないトピックと、その作成者を教えてください。 前四半期に payments チームが費やしたコストと、その要因を教えてください。 このコンシューマーグループが停止しています。処理を妨げているメッセージは何ですか? 3月より前に期限切れになる証明書と、それぞれの所有者を教えてください。 これらのトピックには所有者がいません。リネージから担当すべき人を特定できますか?
これらは単なるデモではありません。それぞれが以下のツールに対応しており、エージェントが無人で実行できるタスクにも対応しています。
回答から運用へ
同じカタログを、2種類の呼び出し元が利用します。Claude Code、Cursor、スクリプト、社内開発者プラットフォームなどのツールと、スケジュールまたは監査ログイベントをきっかけに、独自のマシン ID で実行されるConsole 内のエージェントです。
後者によって、これは単なるチャットボットではなくなります。エージェントとは、タスクと ID、そして範囲を限定したツール一式を組み合わせたものです。月曜日の午前9時や、コネクターの失敗と同時に起動し、問題に取り組み、対応可能なレポートや提案、あるいは実行を提案してあなたの承認を待つ変更を返します。
各実行の全過程が記録されます。プロンプト、各ツール呼び出し、トークン、結果がすべて対象です。これをチケットに添付したり、監査担当者に提出したりできます。
ツール
コントロールプレーン全体をカバーする31個のツールです。大半は読み取り専用ですが、書き込みを行うツールもあり、その数は増えています。
クラスター
| Tool | 役割 |
|---|---|
list-clusters | Console が管理するすべての Kafka クラスターと、それぞれの Schema Registry、Connect クラスター、種類を一覧表示します |
get-cluster | スラッグを指定して、1つのクラスターの登録情報を取得します |
insights-cluster | 1回の呼び出しで、健全性スコア、トピック数とパーティション数、シリアライズの内訳など、クラスターの全体像を取得します |
トピック
| Tool | 役割 |
|---|---|
list-topics | 名前、ラベル、説明、パーティション数、レプリケーション、設定を含むトピックカタログを取得します |
get-topic | 正確な名前を指定して、1つのトピックを取得します |
list-topics-with-usage | メッセージ数、サイズ、スループットを含むトピックを取得します |
query-topics | クラスター全体からトピックを絞り込みます |
aggregate-topics | トピックをグループ化し、グループごとに件数、合計、平均、最小値、最大値を計算します |
insights-topics | パーティションの偏り、レプリケーションの問題、ひそかに発生している問題を確認します |
set-topic-labels (書き込み) | トピックにラベルを付けます。所有者、環境など、任意の分類体系に対応します |
メッセージ
| ツール | 機能 |
|---|---|
get-last-messages | トピックの最新 N 件のメッセージ |
get-record-at | パーティションとオフセットで指定する特定のレコード — コンシューマーをブロックしているレコード |
コンシューマーグループ
| ツール | 機能 |
|---|---|
list-consumer-groups | 状態、ラグ、メンバー数を含むグループ |
get-consumer-group | 1 つのグループの詳細 |
list-consumer-groups-by-topic | このトピックを実際に読み取っている対象 |
スキーマ
| ツール | 機能 |
|---|---|
list-subjects · get-subject · list-subject-names | サブジェクトの一覧 |
get-schema-version | 特定のバージョン |
check-schema-compatibility | 変更をリリースする前に、コンシューマーに影響するかどうかを確認 |
Connect、Gateway
| ツール | 機能 |
|---|---|
list-connectors-detailed · get-connector | コネクターとその状態 |
list-interceptors | クラスターで設定されている Gateway インターセプター |
アクセス、ID、ガバナンス、コスト
| ツール | 機能 |
|---|---|
list-acl-bindings | 誰が何を実行できるか |
list-service-accounts · get-service-account | 人間以外の ID |
list-certificates | 証明書と有効期限 |
list-applications | カタログに登録されているアプリケーション |
get-stream-lineage | 何が何に流れるか |
query-audit-log | 誰がいつ何を行ったか |
get-chargeback-report | チームごとに割り当てられたコスト |
セキュリティがあるからこそ実現できます
エージェントに本番環境への実アクセスを許可できるのは、境界がすでに定められ、呼び出しごとに適用されているからです。
ユーザー本人として実行されます。 すべての呼び出しには Console トークンが含まれ、そのユーザーの RBAC 権限で実行されます。エージェントが参照できるのは、その所有者が参照できるクラスターだけです。所有者のアクセス権を取り消すと、エージェントのアクセス権も同時に失われます。
データプレーンではなく、コントロールプレーンです。 モデルに渡されるのは、トピック、設定、オフセット、グループ、スキーマ、リネージ、コストなどのメタデータです。タスクでレコードを読み取るツールが明示的に必要でない限り、レコードが Kafka の外に出ることはありません。
すべて監査されます。 すべての呼び出しが Console の監査ログに記録され、実行した ID に関連付けられます。
ドキュメント
このリポジトリの内容
@conduktor/mcp として公開されているランチャー、このドキュメント、レジストリのメタデータが含まれています。サーバー自体は Console 内で実行されます。サーバーのバグについては Conduktor サポートにお問い合わせください。ランチャーやドキュメントについては、こちらで issue を作成してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。