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-confluent
Una implementación de servidor MCP que permite a los asistentes de IA interactuar con las API REST de Confluent Cloud. Este servidor permite que herramientas de IA como Claude Desktop y Goose CLI gestionen temas, conectores y sentencias SQL de Flink de Kafka mediante interacciones en lenguaje natural.
Manifestación
Goose CLI
Escritorio de Claude
Tabla de contenido
Guía del usuario
Empezando
- Cree un archivo
.env
: copie la estructura de archivo.env
de ejemplo (que se muestra a continuación) en un nuevo archivo llamado.env
en la raíz de su proyecto. - Rellene el archivo
.env
: Introduzca los valores necesarios para su entorno de Confluent Cloud. Consulte la sección "Configuración" para obtener más información sobre cada variable. - Instalar Node.js (si aún no está instalado)
- Recomendamos utilizar NVM (Node Version Manager) para administrar las versiones de Node.js
- Instalar y utilizar Node.js:
Copy
Configuración
Cree un archivo .env
en el directorio raíz de su proyecto con la siguiente configuración:
Referencia de variables de entorno
Variable | Descripción | Valor predeterminado | Requerido |
---|---|---|---|
SERVIDORES BOOTSTRAP | Lista de direcciones de agentes de Kafka en el formato host1:puerto1,host2:puerto2 utilizadas para establecer la conexión inicial con el clúster de Kafka (cadena) | Sí | |
RUTA DE CONFIGURACIÓN | Ruta del sistema de archivos para almacenar y recuperar configuraciones basadas en conversaciones para la persistencia de la sesión (implementación futura) (cadena) | Sí | |
CLAVE DE API DE CONFLUENT CLOUD | Clave API maestra para la administración de la plataforma Confluent Cloud, que permite la gestión de recursos en toda su organización (cadena (mín.: 1)) | Sí | |
SECRETO DE LA API DE CONFLUENT CLOUD | Secreto de API maestro emparejado con CONFLUENT_CLOUD_API_KEY para la administración integral de la plataforma Confluent Cloud (cadena (mín.: 1)) | Sí | |
CLAVE DE API DE FLINK | Clave de autenticación para acceder a los servicios Flink de Confluent Cloud, incluidos los grupos de cómputo y la gestión de declaraciones SQL (cadena (mín.: 1)) | Sí | |
SECRETO DE LA API DE FLINK | Token secreto emparejado con FLINK_API_KEY para acceso autenticado a los servicios Flink de Confluent Cloud (cadena (mín.: 1)) | Sí | |
CLAVE DE API DE KAFKA | Credencial de autenticación (nombre de usuario) necesaria para establecer una conexión segura con el clúster de Kafka (cadena (mín.: 1)) | Sí | |
SECRETO DE LA API DE KAFKA | Credencial de autenticación (contraseña) emparejada con KAFKA_API_KEY para acceso seguro al clúster de Kafka (cadena (mín.: 1)) | Sí | |
CLAVE DE API DE REGISTRO DE ESQUEMA | Clave de autenticación para acceder a los servicios de Schema Registry para administrar y validar esquemas de datos (cadena (mín.: 1)) | Sí | |
SECRETO DE API DE REGISTRO DE ESQUEMA | Secreto de autenticación emparejado con SCHEMA_REGISTRY_API_KEY para acceso seguro al Registro de esquemas (cadena (mín.: 1)) | Sí | |
PUNTO FINAL DE DESCANSO EN LA NUBE CONFLUENTE | URL base para los servicios de API REST de Confluent Cloud (predeterminada) | No | |
ID DE GRUPO DE COMPUTACIÓN DE FLINK | Identificador único para el grupo de cómputo de Flink, debe comenzar con el prefijo 'lfcp-' (cadena) | No | |
NOMBRE DE LA BASE DE DATOS FLINK | Nombre del clúster de Kafka asociado utilizado como referencia de base de datos en las operaciones SQL de Flink (cadena (mín.: 1)) | No | |
ID DE ENVÍO FLINK | Identificador único para el entorno Flink, debe comenzar con el prefijo 'env-' (cadena) | No | |
FLINK_ENV_NAME | Nombre legible para humanos para el entorno de Flink utilizado con fines de identificación y visualización (cadena (mín.: 1)) | No | |
ID DE ORGANIZACIÓN FLINK | Identificador de la organización dentro de Confluent Cloud para la gestión de recursos de Flink (cadena (mín.: 1)) | No | |
PUNTO FINAL DE DESCANSO DE FLINK | URL base para los puntos finales de la API REST de Flink de Confluent Cloud utilizados para la administración de declaraciones SQL y grupos de cómputo (cadena) | No | |
ID DE CLÚSTER KAFKA | Identificador único para el clúster de Kafka dentro del ecosistema de Confluent Cloud (cadena (mín.: 1)) | No | |
ID DE ENV. KAFKA | Identificador de entorno para el clúster de Kafka, debe comenzar con el prefijo 'env-' (cadena) | No | |
PUNTO FINAL DE DESCANSO DE KAFKA | Punto final de la API REST para la gestión y administración de clústeres de Kafka (cadena) | No | |
PUNTO FINAL DEL REGISTRO DE ESQUEMA | Punto final de URL para acceder a los servicios de registro de esquemas para administrar esquemas de datos (cadena) | No |
Uso
Este servidor MCP está diseñado para usarse con varios clientes MCP, como Claude Desktop o Goose CLI/Desktop. La configuración y la interacción específicas dependerán del cliente que utilice. Sin embargo, los pasos generales son:
- Compilación: Siga las instrucciones de la Guía del desarrollador para compilar y ejecutar el servidor desde el código fuente. Esto suele implicar:
- Instalación de dependencias (
npm install
) - Construyendo el proyecto (
npm run build
onpm run dev
)
- Instalación de dependencias (
- Configura tu cliente MCP: Cada cliente tiene su propia forma de especificar la dirección del servidor MCP y las credenciales requeridas. Deberás configurar tu cliente (p. ej., Claude, Goose) para que se conecte a la dirección donde se ejecuta este servidor (probablemente
localhost
con un puerto específico). El puerto en el que se ejecuta el servidor puede configurarse mediante una variable de entorno. - Iniciar el cliente MCP: Una vez configurado el cliente para conectarse al servidor MCP, puede iniciarlo. Al iniciarse, se creará una instancia de este servidor MCP localmente. Esta instancia se encargará de administrar los esquemas de datos e interactuar con Confluent Cloud en su nombre.
- Interactúe con Confluent a través del cliente: Una vez conectado el cliente, puede usar su interfaz para interactuar con los recursos de Confluent Cloud. El cliente enviará solicitudes a este servidor MCP, que interactuará con Confluent Cloud en su nombre.
Configuración de Claude Desktop
Consulte aquí para obtener más detalles sobre la instalación de Claude Desktop y los servidores MCP.
Para configurar Claude Desktop para utilizar este servidor MCP:
- Abrir la configuración del escritorio de Claude
- En Mac:
~/Library/Application Support/Claude/claude_desktop_config.json
- En Windows:
%APPDATA%\Claude\claude_desktop_config.json
- En Mac:
- Editar archivo de configuración
- Abra el archivo de configuración en su editor de texto preferido
- Agregue o modifique la configuración utilizando uno de los siguientes métodos:
CopyCopyReemplace
/path/to/confluent-mcp-server/
con la ruta real donde ha instalado este servidor MCP. - Reiniciar Claude Desktop
- Cierre y vuelva a abrir Claude Desktop para que los cambios surtan efecto.
- El servidor MCP se iniciará automáticamente cuando se inicie Claude Desktop
Ahora Claude Desktop estará configurado para utilizar su servidor MCP local para las interacciones de Confluent.
Configuración de Goose CLI
Consulte aquí para obtener instrucciones detalladas sobre cómo instalar Goose CLI.
Una vez instalado, siga estos pasos:
- Ejecute el comando de configuración:Copy
- Siga las indicaciones interactivas:
- Seleccione
Add extension
- Elija
Command-line Extension
- Introduzca
mcp-confluent
como nombre de la extensión - Elija uno de los siguientes métodos de configuración:
CopyCopy - Seleccione
Reemplace /path/to/confluent-mcp-server/
con la ruta real donde ha instalado este servidor MCP.
Guía para desarrolladores
Estructura del proyecto
Construyendo y funcionando
- Dependencias de instalación:Copy
- Modo de desarrollo (esté atento a los cambios):Este comando compila el código TypeScript a JavaScript y lo reconstruye automáticamente cuando se detectan cambios en el directorioCopy
src/
. - Versión de producción (compilación única):Copy
- Iniciar el servidor:Copy
Pruebas
Inspector de MCP
Para probar servidores MCP, puede utilizar MCP Inspector , que es una herramienta de desarrollo interactiva para probar y depurar servidores MCP.
Agregar una nueva herramienta
- Agregue una nueva enumeración a la clase de enumeración
ToolName
. - Agregue su nueva herramienta al mapa de controladores en la clase
ToolFactory
. - Crea un nuevo archivo, exportando la clase que extiende
BaseToolHandler
.- Implementar el método
handle
de la clase base. - Implementar el método
getToolConfig
de la clase base.
- Implementar el método
- Una vez satisfecho, agréguelo al conjunto de
enabledTools
enindex.ts
.
Generando tipos
Contribuyendo
Se agradecen los informes de errores y los comentarios en forma de problemas de Github. Para obtener instrucciones sobre cómo contribuir, consulte 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
Una implementación de servidor MCP creada para interactuar con las API REST de Confluent Kafka y Confluent Cloud.
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