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-汇合
一个 MCP 服务器实现,使 AI 助手能够与 Confluent Cloud REST API 交互。该服务器允许 Claude Desktop 和 Goose CLI 等 AI 工具通过自然语言交互来管理 Kafka 主题、连接器和 Flink SQL 语句。
演示
Goose 命令行界面
克劳德桌面
目录
用户指南
入门
- **创建
.env
文件:**将示例.env
文件结构(如下所示)复制到项目根目录中名为.env
的新文件中。 - **填充
.env
文件:**填写 Confluent Cloud 环境所需的值。有关每个变量的详细信息,请参阅配置部分。 - 安装 Node.js (如果尚未安装)
- 我们建议使用NVM (Node 版本管理器)来管理 Node.js 版本
- 安装并使用 Node.js:
Copy
配置
在项目的根目录中创建一个.env
文件,其配置如下:
环境变量参考
多变的 | 描述 | 默认值 | 必需的 |
---|---|---|---|
引导服务器 | 用于建立与 Kafka 集群的初始连接的 Kafka 代理地址列表,格式为 host1:port1,host2:port2(字符串) | 是的 | |
配置路径 | 用于存储和检索会话持久性的基于对话的配置的文件系统路径(未来实现)(字符串) | 是的 | |
CONFLUENT_CLOUD_API_KEY | Confluent Cloud 平台管理的主 API 密钥,用于管理整个组织的资源(字符串(最小值:1)) | 是的 | |
CONFLUENT_CLOUD_API_SECRET | 主 API 密钥与 CONFLUENT_CLOUD_API_KEY 配对,用于全面的 Confluent Cloud 平台管理(字符串(最小值:1)) | 是的 | |
FLINK_API_KEY | 用于访问 Confluent Cloud 的 Flink 服务的身份验证密钥,包括计算池和 SQL 语句管理(字符串(最小值:1)) | 是的 | |
FLINK_API_SECRET | 与 FLINK_API_KEY 配对的秘密令牌,用于对 Confluent Cloud 的 Flink 服务进行身份验证访问(字符串(最小值:1)) | 是的 | |
KAFKA_API_密钥 | 与 Kafka 集群建立安全连接所需的身份验证凭证(用户名)(字符串(最小值:1)) | 是的 | |
KAFKA_API_SECRET | 与 KAFKA_API_KEY 配对的身份验证凭证(密码),用于安全的 Kafka 集群访问(字符串(最小值:1)) | 是的 | |
SCHEMA_REGISTRY_API_KEY | 用于访问 Schema Registry 服务以管理和验证数据模式的身份验证密钥(字符串(最小值:1)) | 是的 | |
SCHEMA_REGISTRY_API_SECRET | 与 SCHEMA_REGISTRY_API_KEY 配对的身份验证密钥,用于安全 Schema Registry 访问(字符串(最小值:1)) | 是的 | |
CONFLUENT_CLOUD_REST_ENDPOINT | Confluent Cloud 的 REST API 服务的基本 URL(默认) | 不 | |
FLINK_COMPUTE_POOL_ID | Flink 计算池的唯一标识符,必须以“lfcp-”前缀开头(字符串) | 不 | |
FLINK_DATABASE_NAME | 在 Flink SQL 操作中用作数据库引用的关联 Kafka 集群的名称(字符串(最小值:1)) | 不 | |
FLINK_ENV_ID | Flink 环境的唯一标识符,必须以“env-”前缀开头(字符串) | 不 | |
FLINK_ENV_NAME | 用于识别和显示目的的 Flink 环境的人类可读名称(字符串(最小值:1)) | 不 | |
FLINK_ORG_ID | Confluent Cloud 中用于 Flink 资源管理的组织标识符(字符串(最小值:1)) | 不 | |
FLINK_REST_ENDPOINT | 用于 SQL 语句和计算池管理的 Confluent Cloud Flink REST API 端点的基本 URL(字符串) | 不 | |
KAFKA_CLUSTER_ID | Confluent Cloud 生态系统中 Kafka 集群的唯一标识符(字符串(最小值:1)) | 不 | |
KAFKA_ENV_ID | Kafka 集群的环境标识符,必须以“env-”前缀开头(字符串) | 不 | |
KAFKA_REST_ENDPOINT | Kafka 集群管理的 REST API 端点(字符串) | 不 | |
SCHEMA_REGISTRY_ENDPOINT | 用于访问 Schema Registry 服务以管理数据模式的 URL 端点(字符串) | 不 |
用法
此 MCP 服务器设计用于与各种 MCP 客户端配合使用,例如 Claude Desktop 或 Goose CLI/Desktop。具体配置和交互方式取决于您使用的客户端。但一般步骤如下:
- **构建:**按照开发者指南中的说明从源代码构建并运行服务器。这通常涉及:
- 安装依赖项(
npm install
) - 构建项目(
npm run build
或npm run dev
)
- 安装依赖项(
- **配置您的 MCP 客户端:**每个客户端都有其自身的方式来指定 MCP 服务器的地址和所需的凭据。您需要配置您的客户端(例如 Claude、Goose)以连接到该服务器运行的地址(可能是带有特定端口的
localhost
)。服务器运行的端口可以通过环境变量进行配置。 - **启动 MCP 客户端:**将客户端配置为连接到 MCP 服务器后,即可启动 MCP 客户端。启动时,它会在本地创建一个 MCP 服务器实例。该实例将负责管理数据模式并代表您与 Confluent Cloud 进行交互。
- **通过客户端与 Confluent 交互:**客户端连接后,您可以使用客户端界面与 Confluent Cloud 资源进行交互。客户端会向 MCP 服务器发送请求,然后 MCP 服务器会代表您与 Confluent Cloud 进行交互。
配置 Claude 桌面
有关安装 Claude Desktop 和 MCP 服务器的更多详细信息,请参阅此处。
要配置 Claude Desktop 以使用此 MCP 服务器:
- 打开 Claude 桌面配置
- 在 Mac 上:
~/Library/Application Support/Claude/claude_desktop_config.json
- 在 Windows 上:
%APPDATA%\Claude\claude_desktop_config.json
- 在 Mac 上:
- 编辑配置文件
- 在您喜欢的文本编辑器中打开配置文件
- 使用以下方法之一添加或修改配置:
CopyCopy将
/path/to/confluent-mcp-server/
替换为您安装此 MCP 服务器的实际路径。 - 重启Claude桌面
- 关闭并重新打开 Claude Desktop 以使更改生效
- Claude Desktop 启动时,MCP 服务器将自动启动
现在,Claude Desktop 将配置为使用您的本地 MCP 服务器进行 Confluent 交互。
配置 Goose CLI
有关如何安装 Goose CLI 的详细说明,请参阅此处。
安装后,请按照以下步骤操作:
- 运行配置命令:Copy
- 按照交互式提示进行操作:
- 选择
Add extension
- 选择
Command-line Extension
- 输入
mcp-confluent
作为扩展名称 - 选择以下配置方法之一:
CopyCopy - 选择
将/path/to/confluent-mcp-server/
替换为您安装此 MCP 服务器的实际路径。
开发者指南
项目结构
构建和运行
- 安装依赖项:Copy
- 开发模式(注意变化):此命令将 TypeScript 代码编译为 JavaScript,并在Copy
src/
目录中检测到更改时自动重建。 - 生产构建(一次性编译):Copy
- 启动服务器:Copy
测试
MCP 检查器
要测试 MCP 服务器,您可以使用MCP Inspector ,这是一个用于测试和调试 MCP 服务器的交互式开发工具。
添加新工具
- 向枚举类
ToolName
添加一个新枚举。 - 将您的新工具添加到
ToolFactory
类中的处理程序映射中。 - 创建一个新文件,导出扩展
BaseToolHandler
类。- 实现基类的
handle
方法。 - 实现基类的
getToolConfig
方法。
- 实现基类的
- 一旦满意,就将其添加到
index.ts
中的enabledTools
集合中。
生成类型
贡献
欢迎通过 Github Issues 提交 Bug 报告和反馈。贡献指南请参阅CONTRIBUTING.md
You must be authenticated.
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.
Tools
为与 Confluent Kafka 和 Confluent Cloud REST API 交互而构建的 MCP 服务器实现。
Related MCP Servers
- -securityAlicense-qualityA lightweight MCP server that interacts with the Neon REST API, deployable on Cloudflare Workers for streamlined database management and integration.Last updated -5TypeScriptMIT License
- -securityAlicense-qualityA 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 -4TypeScriptMIT 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 -3925
- -securityFlicense-qualityA remote MCP server implementation for Cloudflare that uses server-sent events (SSE) to enable Model Control Protocol communication.Last updated -TypeScript