mcp-合流
AIアシスタントがConfluent Cloud REST APIと連携できるようにするMCPサーバー実装。このサーバーにより、Claude DesktopやGoose CLIなどのAIツールが、自然言語によるインタラクションを通じてKafkaトピック、コネクタ、Flink SQLステートメントを管理できるようになります。
デモ
グースCLI
クロードデスクトップ
目次
ユーザーガイド
はじめる
**
.env
ファイルを作成する:**サンプルの.env
ファイル構造 (以下に表示) を、プロジェクトのルートにある.env
という名前の新しいファイルにコピーします。.env
Confluent Cloud 環境に必要な値を入力します。各変数の詳細については、設定セクションをご覧ください。Node.js をインストールします(まだインストールされていない場合)
Node.jsのバージョン管理にはNVM (Node Version Manager)の使用をお勧めします。
Node.js をインストールして使用します。
nvm install 22 nvm use 22
構成
次の構成で、プロジェクトのルート ディレクトリに.env
ファイルを作成します。
環境変数リファレンス
変数 | 説明 | デフォルト値 | 必須 |
HTTP_ホスト | HTTPトランスポートにバインドするホスト(文字列) | 「ローカルホスト」 | はい |
HTTP_ポート | HTTPトランスポートに使用するポート(数値(最小:0)) | 3000 | はい |
ブートストラップサーバー | Kafka クラスターへの初期接続を確立するために使用される、host1:port1、host2:port2 形式の Kafka ブローカー アドレスのリスト (文字列) | いいえ | |
CONFLUENT_CLOUD_API_KEY | Confluent Cloud プラットフォーム管理用のマスター API キー。組織全体のリソースの管理を可能にします (文字列 (最小: 1)) | いいえ | |
CONFLUENT_CLOUD_API_SECRET | 包括的な Confluent Cloud プラットフォーム管理のための CONFLUENT_CLOUD_API_KEY とペアになったマスター API シークレット (文字列 (最小: 1)) | いいえ | |
CONFLUENT_CLOUD_REST_ENDPOINT | Confluent Cloud の REST API サービスのベース URL (デフォルト) | いいえ | |
FLINK_API_KEY | コンピューティング プールや SQL ステートメント管理を含む Confluent Cloud の Flink サービスにアクセスするための認証キー (文字列 (最小: 1)) | いいえ | |
FLINK_API_SECRET | Confluent Cloud の Flink サービスへの認証アクセス用の FLINK_API_KEY とペアになったシークレット トークン (文字列 (最小: 1)) | いいえ | |
FLINK_COMPUTE_POOL_ID | Flinkコンピューティング プールの一意の識別子。'lfcp-' プレフィックスで始まる必要があります (文字列) | いいえ | |
FLINK_データベース名 | Flink SQL 操作でデータベース参照として使用される関連 Kafka クラスターの名前 (文字列 (最小: 1)) | いいえ | |
FLINK_ENV_ID | Flink 環境の一意の識別子。'env-' プレフィックスで始まる必要があります (文字列) | いいえ | |
FLINK_ENV_NAME | 識別および表示目的で使用される Flink 環境の人間が読める名前 (文字列 (最小: 1)) | いいえ | |
FLINK_ORG_ID | Flink リソース管理用の Confluent Cloud 内の組織識別子 (文字列 (最小: 1)) | いいえ | |
FLINK_REST_ENDPOINT | SQL ステートメントとコンピューティング プールの管理に使用される Confluent Cloud の Flink REST API エンドポイントのベース URL (文字列) | いいえ | |
KAFKA_API_キー | Kafka クラスターとの安全な接続を確立するために必要な認証資格情報 (ユーザー名) (文字列 (最小: 1)) | いいえ | |
KAFKA_API_SECRET | 安全な Kafka クラスター アクセスのための KAFKA_API_KEY とペアになった認証資格情報 (パスワード) (文字列 (最小: 1)) | いいえ | |
KAFKA_クラスターID | Confluent Cloud エコシステム内の Kafka クラスターの一意の識別子 (文字列 (最小: 1)) | いいえ | |
KAFKA_ENV_ID | Kafka クラスターの環境識別子。'env-' プレフィックスで始まる必要があります (文字列) | いいえ | |
KAFKA_REST_エンドポイント | Kafka クラスターの管理と運用のための REST API エンドポイント (文字列) | いいえ | |
スキーマレジストリAPIキー | データ スキーマを管理および検証するためのスキーマ レジストリ サービスにアクセスするための認証キー (文字列 (最小: 1)) | いいえ | |
スキーマレジストリAPIシークレット | 安全なスキーマ レジストリ アクセスのための SCHEMA_REGISTRY_API_KEY とペアになった認証シークレット (文字列 (最小: 1)) | いいえ | |
スキーマレジストリエンドポイント | データ スキーマを管理するためにスキーマ レジストリ サービスにアクセスするための URL エンドポイント (文字列) | いいえ |
使用法
このMCPサーバーは、Claude DesktopやGoose CLI/Desktopなど、様々なMCPクライアントで使用できるように設計されています。具体的な設定と操作は、使用するクライアントによって異なります。ただし、一般的な手順は以下のとおりです。
サーバーを起動する: MCP サーバーは、次の 2 つの方法のいずれかで実行できます。
ソースから:開発者ガイドの指示に従って、ソースからサーバーをビルドして実行します。通常、以下の手順が必要です。
依存関係のインストール(
npm install
)プロジェクトのビルド(
npm run build
またはnpm run dev
)
npx を使用する場合: npx を使用してサーバーを直接起動できます (ビルドは不要)。
npx -y @confluentinc/mcp-confluent -e /path/to/confluent-mcp-server/.env
**MCPクライアントの設定:**各クライアントは、MCPサーバーのアドレスと必要な認証情報を指定する方法が異なります。クライアント(例:Claude、Goose)を、このサーバーが稼働しているアドレス(通常は特定のポートを持つ
localhost
)に接続するように設定する必要があります。サーバーが稼働するポートは、環境変数で設定できます。**MCPクライアントを起動します。**クライアントがMCPサーバーに接続できるように設定したら、MCPクライアントを起動できます。起動時に、MCPサーバーのインスタンスがローカルに作成されます。このインスタンスは、データスキーマの管理とConfluent Cloudとのやり取りをユーザーに代わって行います。
**クライアント経由でConfluentとやり取りする:**クライアントが接続されると、クライアントのインターフェースを使用してConfluent Cloudのリソースとやり取りできるようになります。クライアントはMCPサーバーにリクエストを送信し、MCPサーバーがユーザーに代わってConfluent Cloudとやり取りします。
Claudeデスクトップの設定
Claude Desktop および MCP サーバーのインストールの詳細については、ここを参照してください。
この MCP サーバーを使用するように Claude Desktop を構成するには:
オープンクロードデスクトップ構成
Macの場合:
~/Library/Application Support/Claude/claude_desktop_config.json
Windows の場合:
%APPDATA%\Claude\claude_desktop_config.json
設定ファイルの編集
好みのテキストエディタで設定ファイルを開きます
次のいずれかの方法を使用して、構成を追加または変更します。
{ "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 サーバーをインストールした実際のパスに置き換えます。Claudeデスクトップを再起動します
変更を有効にするには、Claude Desktop を閉じて再度開きます。
Claude Desktopを起動するとMCPサーバーが自動的に起動します。
これで、Claude Desktop は Confluent とのやり取りにローカル MCP サーバーを使用するように構成されます。
Goose CLIの設定
Goose CLI のインストール方法の詳細については、ここを参照してください。
インストールしたら、次の手順に従います。
構成コマンドを実行します。
goose configure対話型プロンプトに従います。
Add extension
選択Command-line Extension
を選択拡張機能名として
mcp-confluent
を入力します次のいずれかの構成方法を選択します。
node /path/to/confluent-mcp-server/dist/index.js --env-file /path/to/confluent-mcp-server/.envnpx -y @confluentinc/mcp-confluent -e /path/to/confluent-mcp-server/.env
/path/to/confluent-mcp-server/
この MCP サーバーをインストールした実際のパスに置き換えます。
mcp-confluent CLI の使用法
MCPサーバーは、高度な設定と制御のための柔軟なコマンドラインインターフェース(CLI)を提供します。CLIを使用すると、環境ファイルやトランスポートを指定したり、有効化またはブロックするツールを細かく調整したりできます。
基本的な使い方
すべての CLI オプションとヘルプを表示できます。
例: すべてのトランスポートを使用して展開する
例: 特定のツールのみを許可する
例: 特定のツールをブロックする
例: ファイルからのツールリストの使用
例: 利用可能なすべてのツールの一覧
**ヒント:**許可リストはブロックリストより前に適用されます。どちらも指定されていない場合は、すべてのツールがデフォルトで有効になります。
開発者ガイド
プロジェクト構造
構築と実行
依存関係をインストールします:
npm install開発モード(変更に注意してください):
npm run devこのコマンドは、TypeScript コードを JavaScript にコンパイルし、
src/
ディレクトリで変更が検出されると自動的に再構築します。プロダクションビルド(1回限りのコンパイル):
npm run buildサーバーを起動します。
npm run start
テスト
MCP検査官
MCP サーバーをテストするには、MCP サーバーのテストとデバッグを行う対話型開発者ツールであるMCP Inspector を使用できます。
新しいツールの追加
列挙クラス
ToolName
に新しい列挙を追加します。新しいツールを
ToolFactory
クラスのハンドラー マップに追加します。BaseToolHandler
拡張するクラスをエクスポートして、新しいファイルを作成します。基本クラスの
handle
メソッドを実装します。基本クラスの
getToolConfig
メソッドを実装します。
満足したら、
index.ts
のenabledTools
セットに追加します。
型の生成
貢献
バグ報告やフィードバックはGithub Issuesで受け付けています。貢献に関するガイドラインについては、 CONTRIBUTING.mdをご覧ください。
Related MCP Servers
- -securityAlicense-qualityMCP Server simplifies the implementation of the Model Context Protocol by providing a user-friendly API to create custom tools and manage server workflows efficiently.Last updated -34MIT License
- -securityAlicense-qualityMCP Server provides a simpler API to interact with the Model Context Protocol by allowing users to define custom tools and services to streamline workflows and processes.Last updated -63MIT License
- -securityAlicense-qualityAn MCP server that exposes HTTP methods defined in an OpenAPI specification as tools, enabling interaction with APIs via the Model Context Protocol.Last updated -8MIT License
- AsecurityFlicenseAqualityAn MCP server implementation that enables interaction with the Unstructured API, providing tools to list, create, update, and manage sources, destinations, and workflows.Last updated -3935