mcp-confluent

Official
by confluentinc

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

  1. 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.
  2. 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.
  3. 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:
    nvm install 22 nvm use 22

Configuración

Cree un archivo .env en el directorio raíz de su proyecto con la siguiente configuración:

# .env file BOOTSTRAP_SERVERS="pkc-v12gj.us-east4.gcp.confluent.cloud:9092" KAFKA_API_KEY="..." KAFKA_API_SECRET="..." KAFKA_REST_ENDPOINT="https://pkc-v12gj.us-east4.gcp.confluent.cloud:443" KAFKA_CLUSTER_ID="" KAFKA_ENV_ID="env-..." FLINK_ENV_ID="env-..." FLINK_ORG_ID="" FLINK_REST_ENDPOINT="https://flink.us-east4.gcp.confluent.cloud" FLINK_ENV_NAME="" FLINK_DATABASE_NAME="" FLINK_API_KEY="" FLINK_API_SECRET="" FLINK_COMPUTE_POOL_ID="lfcp-..." CONFLUENT_CLOUD_API_KEY="" CONFLUENT_CLOUD_API_SECRET="" CONFLUENT_CLOUD_REST_ENDPOINT="https://api.confluent.cloud" SCHEMA_REGISTRY_API_KEY="..." SCHEMA_REGISTRY_API_SECRET="..." SCHEMA_REGISTRY_ENDPOINT="https://psrc-zv01y.northamerica-northeast2.gcp.confluent.cloud"

Referencia de variables de entorno

VariableDescripciónValor predeterminadoRequerido
SERVIDORES BOOTSTRAPLista 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)
RUTA DE CONFIGURACIÓNRuta del sistema de archivos para almacenar y recuperar configuraciones basadas en conversaciones para la persistencia de la sesión (implementación futura) (cadena)
CLAVE DE API DE CONFLUENT CLOUDClave 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))
SECRETO DE LA API DE CONFLUENT CLOUDSecreto de API maestro emparejado con CONFLUENT_CLOUD_API_KEY para la administración integral de la plataforma Confluent Cloud (cadena (mín.: 1))
CLAVE DE API DE FLINKClave 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))
SECRETO DE LA API DE FLINKToken secreto emparejado con FLINK_API_KEY para acceso autenticado a los servicios Flink de Confluent Cloud (cadena (mín.: 1))
CLAVE DE API DE KAFKACredencial de autenticación (nombre de usuario) necesaria para establecer una conexión segura con el clúster de Kafka (cadena (mín.: 1))
SECRETO DE LA API DE KAFKACredencial de autenticación (contraseña) emparejada con KAFKA_API_KEY para acceso seguro al clúster de Kafka (cadena (mín.: 1))
CLAVE DE API DE REGISTRO DE ESQUEMAClave de autenticación para acceder a los servicios de Schema Registry para administrar y validar esquemas de datos (cadena (mín.: 1))
SECRETO DE API DE REGISTRO DE ESQUEMASecreto de autenticación emparejado con SCHEMA_REGISTRY_API_KEY para acceso seguro al Registro de esquemas (cadena (mín.: 1))
PUNTO FINAL DE DESCANSO EN LA NUBE CONFLUENTEURL base para los servicios de API REST de Confluent Cloud (predeterminada)No
ID DE GRUPO DE COMPUTACIÓN DE FLINKIdentificador único para el grupo de cómputo de Flink, debe comenzar con el prefijo 'lfcp-' (cadena)No
NOMBRE DE LA BASE DE DATOS FLINKNombre 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 FLINKIdentificador único para el entorno Flink, debe comenzar con el prefijo 'env-' (cadena)No
FLINK_ENV_NAMENombre 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 FLINKIdentificador 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 FLINKURL 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 KAFKAIdentificador único para el clúster de Kafka dentro del ecosistema de Confluent Cloud (cadena (mín.: 1))No
ID DE ENV. KAFKAIdentificador de entorno para el clúster de Kafka, debe comenzar con el prefijo 'env-' (cadena)No
PUNTO FINAL DE DESCANSO DE KAFKAPunto final de la API REST para la gestión y administración de clústeres de Kafka (cadena)No
PUNTO FINAL DEL REGISTRO DE ESQUEMAPunto 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:

  1. 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 o npm run dev )
  2. 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.
  3. 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.
  4. 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:

  1. 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
  2. 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:
    { "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" ] } } }

    Reemplace /path/to/confluent-mcp-server/ con la ruta real donde ha instalado este servidor MCP.

  3. 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:

  1. Ejecute el comando de configuración:
    goose configure
  2. 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:
    node /path/to/confluent-mcp-server/dist/index.js --env-file /path/to/confluent-mcp-server/.env
    npx -y @confluentinc/mcp-confluent -e /path/to/confluent-mcp-server/.env

Reemplace /path/to/confluent-mcp-server/ con la ruta real donde ha instalado este servidor MCP.

Guía para desarrolladores

Estructura del proyecto

/ ├── src/ # Source code │ ├── confluent/ # Code related to Confluent integration (API clients, etc.) │ ├── tools/ # Tool implementations (each tool in a separate file) │ ├── index.ts # Main entry point for the server │ └── ... # Other server logic, utilities, etc. ├── dist/ # Compiled output (TypeScript -> JavaScript) ├── openapi.json # OpenAPI specification for Confluent Cloud ├── .env # Environment variables (example - should be copied and filled) ├── README.md # This file └── package.json # Node.js project metadata and dependencies

Construyendo y funcionando

  1. Dependencias de instalación:
    npm install
  2. Modo de desarrollo (esté atento a los cambios):
    npm run dev
    Este comando compila el código TypeScript a JavaScript y lo reconstruye automáticamente cuando se detectan cambios en el directorio src/ .
  3. Versión de producción (compilación única):
    npm run build
  4. Iniciar el servidor:
    npm run start

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.

# make sure you've already built the project either in dev mode or by running npm run build npx @modelcontextprotocol/inspector node $PATH_TO_PROJECT/dist/index.js --env-file $PATH_TO_PROJECT/.env

Agregar una nueva herramienta

  1. Agregue una nueva enumeración a la clase de enumeración ToolName .
  2. Agregue su nueva herramienta al mapa de controladores en la clase ToolFactory .
  3. Crea un nuevo archivo, exportando la clase que extiende BaseToolHandler .
    1. Implementar el método handle de la clase base.
    2. Implementar el método getToolConfig de la clase base.
  4. Una vez satisfecho, agréguelo al conjunto de enabledTools en index.ts .

Generando tipos

# as of v7.5.2 there is a bug when using allOf w/ required https://github.com/openapi-ts/openapi-typescript/issues/1474. need --empty-objects-unknown flag to avoid it npx openapi-typescript ./openapi.json -o ./src/confluent/openapi-schema.d.ts --empty-objects-unknown

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.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

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.

Una implementación de servidor MCP creada para interactuar con las API REST de Confluent Kafka y Confluent Cloud.

  1. Demo
    1. Goose CLI
    2. Claude Desktop
  2. Table of Contents
    1. User Guide
      1. Getting Started
      2. Configuration
      3. Environment Variables Reference
      4. Usage
      5. Configuring Claude Desktop
      6. Configuring Goose CLI
    2. Developer Guide
      1. Project Structure
      2. Building and Running
      3. Testing
      4. Adding a New Tool
      5. Generating Types
      6. Contributing

    Related MCP Servers

    • -
      security
      A
      license
      -
      quality
      A lightweight MCP server that interacts with the Neon REST API, deployable on Cloudflare Workers for streamlined database management and integration.
      Last updated -
      5
      TypeScript
      MIT License
    • -
      security
      A
      license
      -
      quality
      A 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 -
      4
      TypeScript
      MIT License
    • A
      security
      F
      license
      A
      quality
      An MCP server implementation that enables interaction with the Unstructured API, providing tools to list, create, update, and manage sources, destinations, and workflows.
      Last updated -
      39
      25
      • Apple
    • -
      security
      F
      license
      -
      quality
      A remote MCP server implementation for Cloudflare that uses server-sent events (SSE) to enable Model Control Protocol communication.
      Last updated -
      TypeScript
      • Linux

    View all related MCP servers

    ID: 8zh4gg3sw9