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:
nvm install 22 nvm use 22
配置
在项目的根目录中创建一个.env
文件,其配置如下:
环境变量参考
多变的 | 描述 | 默认值 | 必需的 |
HTTP_HOST | 绑定 HTTP 传输的主机(字符串) | “本地主机” | 是的 |
HTTP_PORT | 用于 HTTP 传输的端口(数字(最小值:0)) | 3000 | 是的 |
引导服务器 | 用于建立与 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)) | 不 | |
CONFLUENT_CLOUD_REST_ENDPOINT | Confluent Cloud REST API 服务的基本 URL(默认) | 不 | |
FLINK_API_KEY | 用于访问 Confluent Cloud 的 Flink 服务的身份验证密钥,包括计算池和 SQL 语句管理(字符串(最小值:1)) | 不 | |
FLINK_API_SECRET | 与 FLINK_API_KEY 配对的秘密令牌,用于对 Confluent Cloud 的 Flink 服务进行身份验证访问(字符串(最小值:1)) | 不 | |
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_API_密钥 | 与 Kafka 集群建立安全连接所需的身份验证凭证(用户名)(字符串(最小值:1)) | 不 | |
KAFKA_API_SECRET | 与 KAFKA_API_KEY 配对的身份验证凭证(密码),用于安全的 Kafka 集群访问(字符串(最小值:1)) | 不 | |
KAFKA_CLUSTER_ID | Confluent Cloud 生态系统中 Kafka 集群的唯一标识符(字符串(最小值:1)) | 不 | |
KAFKA_ENV_ID | Kafka 集群的环境标识符,必须以“env-”前缀开头(字符串) | 不 | |
KAFKA_REST_ENDPOINT | Kafka 集群管理的 REST API 端点(字符串) | 不 | |
SCHEMA_REGISTRY_API_KEY | 用于访问 Schema Registry 服务以管理和验证数据模式的身份验证密钥(字符串(最小值:1)) | 不 | |
SCHEMA_REGISTRY_API_SECRET | 与 SCHEMA_REGISTRY_API_KEY 配对的身份验证密钥,用于安全 Schema Registry 访问(字符串(最小值:1)) | 不 | |
SCHEMA_REGISTRY_ENDPOINT | 用于访问 Schema Registry 服务以管理数据模式的 URL 端点(字符串) | 不 |
用法
此 MCP 服务器设计用于与各种 MCP 客户端配合使用,例如 Claude Desktop 或 Goose CLI/Desktop。具体配置和交互方式取决于您使用的客户端。但一般步骤如下:
**启动服务器:**您可以通过以下两种方式之一运行 MCP 服务器:
**从源代码构建:**按照开发者指南中的说明从源代码构建并运行服务器。这通常涉及:
安装依赖项(
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 服务器的更多详细信息,请参阅此处。
要配置 Claude Desktop 以使用此 MCP 服务器:
打开 Claude 桌面配置
在 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 将配置为使用您的本地 MCP 服务器进行 Confluent 交互。
配置 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/
目录中检测到更改时自动重建。生产构建(一次性编译):
npm run build启动服务器:
npm run start
测试
MCP 检查器
要测试 MCP 服务器,您可以使用MCP Inspector ,这是一个用于测试和调试 MCP 服务器的交互式开发工具。
添加新工具
向枚举类
ToolName
添加一个新枚举。将您的新工具添加到
ToolFactory
类中的处理程序映射中。创建一个新文件,导出扩展
BaseToolHandler
类。实现基类的
handle
方法。实现基类的
getToolConfig
方法。
一旦满意,就将其添加到
index.ts
中的enabledTools
集合中。
生成类型
贡献
欢迎通过 Github Issues 提交 Bug 报告和反馈。贡献指南请参阅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