Confluent Cloud
Interactúa con las API REST de Confluent Cloud para gestionar clústeres de Kafka, temas y datos.
Documentación
Confluent MCP Server
Un servidor MCP de código abierto que permite a los asistentes de IA interactuar con Confluent Cloud, Confluent Platform y despliegues independientes de Apache Kafka mediante lenguaje natural. Proporciona más de 50 herramientas en Kafka, Flink SQL, Schema Registry, Connectors, Tableflow y más, utilizables desde cualquier cliente compatible con MCP, incluidos Claude Desktop, Claude Code, Cursor, VS Code, Goose y Gemini CLI.
[!TIP] ¿Ya eres cliente de Confluent Cloud? Confluent ofrece un servidor MCP totalmente gestionado sin necesidad de ejecutar un servidor local ni instalar dependencias. Proporciona acceso a tus recursos de Confluent Cloud con diagnósticos de conectores impulsados por IA, gobernados por tus permisos RBAC existentes. Usa este servidor de código abierto si necesitas soporte para Confluent Platform / Kafka autogestionado, o si quieres personalizar y ampliar el conjunto de herramientas.
NOTA: El servidor MCP de código abierto es un proyecto respaldado por la comunidad. Confluent no ofrece soporte dedicado para él, y el soporte es solo de mejor esfuerzo, sin compromisos de nivel de servicio. Si encuentras un problema o quieres contribuir, abre un issue o pull request directamente en este repositorio.
Inicio rápido
Requisitos previos: Node.js 22.19.0+. Si quieres interactuar con Confluent Cloud, primero debes crear una cuenta.
- Genera un archivo
config.yamlrápido en la raíz de tu proyecto:
npx @confluentinc/mcp-confluent --init-config
- Edita el archivo
config.yamlcon los detalles de tu conexión y luego:
npx @confluentinc/mcp-confluent --config ./config.yaml
Consulta Primeros pasos para obtener instrucciones completas de configuración y Configuración de clientes MCP para la integración con tu herramienta de IA preferida.
Tabla de contenidos
- Inicio rápido
- Herramientas disponibles
- Uso con Confluent Platform
- Primeros pasos
- Configuración
- Autenticación OAuth para Confluent Cloud
- Uso de la CLI
- Configuración de clientes MCP
- Telemetría
- Solución de problemas
- Contribuciones
Herramientas disponibles
Las herramientas se habilitan automáticamente según los bloques de servicio presentes en tu configuración resuelta; consulta CONFIGURATION.md para ver la asignación completa de bloques a herramientas.
Puedes listar todas las herramientas disponibles mediante la CLI:
npx -y @confluentinc/mcp-confluent --list-tools
Herramientas siempre disponibles
Estas herramientas no necesitan bloques de servicio ni autenticación: se habilitan incluso con una configuración básica, independientemente del despliegue al que apunte el resto de tu configuración.
| Categoría | Herramientas | Descripción |
|---|---|---|
| Documentación | search-product-docs, get-product-doc-page | Busca en la documentación de productos de Confluent y obtén el contenido completo de las páginas |
| Diagnósticos | explain-disabled-tools, list-configured-connections, config-help, describe-configured-connection | Explica por qué faltan herramientas, lista las conexiones configuradas y las herramientas habilitadas en cada una, sugiere el YAML para habilitar una herramienta específica y describe la configuración de una conexión y la disponibilidad de sus herramientas |
Herramientas disponibles para Confluent Cloud
Estas herramientas requieren endpoints y autenticación contra componentes específicos de Confluent Cloud.
Consulta config.example.yaml para ver el conjunto completo de variables de configuración.
Las categorías marcadas con ¹ también funcionan con autenticación OAuth: inicia sesión a través de tu navegador en lugar de aprovisionar claves de API.
| Categoría | Herramientas | Descripción |
|---|---|---|
| Kafka ¹ | list-topics, create-topics, delete-topics, produce-message, consume-messages, list-consumer-groups, describe-consumer-group, get-consumer-group-lag, alter-topic-config, get-topic-config | Gestiona topics, produce/consume mensajes, inspecciona grupos de consumidores y configura ajustes de topics |
| Flink SQL ¹ | create-flink-statement, list-flink-statements, get-flink-statement-results, delete-flink-statements, get-flink-statement-exceptions, list-compute-pools | Crea y gestiona sentencias Flink SQL; descubre pools de cómputo de Flink |
| Flink Catalog ¹ | list-flink-catalogs, list-flink-databases, list-flink-tables, describe-flink-table, get-flink-table-info | Explora catálogos de Flink, bases de datos y esquemas de tablas |
| Diagnósticos de Flink ¹ | check-flink-statement-health, detect-flink-statement-issues, get-flink-statement-profile | Comprobaciones de salud, detección de problemas y perfilado de consultas |
| Conectores ¹ | list-connectors, get-connector-config, get-connector-offsets, get-connector-status, get-connector-tasks, get-connector-error-summary, get-connector-error-recommendations, get-connector-logs, create-connector ², delete-connector, pause-connector, resume-connector, restart-connector, update-connector-config | Inspecciona y gestiona conectores de Kafka Connect |
| Schema Registry ¹ | list-schemas, create-schema, delete-schema | Lista, inspecciona, crea y elimina esquemas de datos |
| Catálogo y etiquetas ¹ | search-topics-by-tag, search-topics-by-name, create-topic-tags, delete-tag, remove-tag-from-entity, add-tags-to-topic, list-tags | Organiza y busca topics usando etiquetas |
| Organizaciones, entornos y clústeres ¹ | list-organizations, list-environments, read-environment, list-clusters | Descubre recursos de Confluent Cloud |
| Tableflow ¹ | create-tableflow-topic, list-tableflow-topics, read-tableflow-topic, update-tableflow-topic, delete-tableflow-topic, list-tableflow-regions | Gestiona topics habilitados para Tableflow |
| Tableflow Catalog ¹ | create-tableflow-catalog-integration, list-tableflow-catalog-integrations, read-tableflow-catalog-integration, update-tableflow-catalog-integration, delete-tableflow-catalog-integration | Gestiona integraciones de catálogo de Tableflow (p. ej., AWS Glue) |
| Métricas ¹ | list-available-metrics, query-metrics | Descubre y consulta métricas operativas de Confluent Cloud |
| Facturación ¹ | list-billing-costs | Consulta datos de facturación y costos |
¹ También disponible con OAuth: consulta Autenticación OAuth para Confluent Cloud para la configuración y las advertencias.
Las categorías no marcadas actualmente requieren una conexión direct con claves de API estáticas; la migración a OAuth está en curso.
² Herramienta individual no disponible con OAuth; requiere una conexión direct con claves de API estáticas.
Herramientas disponibles para despliegues locales
Estas herramientas solo requieren endpoints de Kafka o Schema Registry: no se necesita clave/secreto de API de Confluent Cloud. Ideales para el desarrollo local con clústeres autogestionados, incluida Confluent Platform.
# minimal config.yaml for local development
connections:
local:
type: direct
kafka:
bootstrap_servers: "localhost:9092"
schema_registry:
endpoint: "http://localhost:8081"
Las variantes listas para usar se encuentran en sample_configs/.
| Categoría | Herramientas | Descripción |
|---|---|---|
| Kafka | list-topics, create-topics, delete-topics, produce-message, consume-messages, list-consumer-groups, describe-consumer-group, get-consumer-group-lag | Gestionar temas, producir/consumir mensajes, inspeccionar grupos de consumidores |
| Schema Registry | list-schemas, create-schema, delete-schema | Listar, inspeccionar, crear y eliminar esquemas de datos |
Uso con Confluent Platform
mcp-confluent se ejecuta contra un clúster de Confluent Platform (CP) autogestionado de la misma manera que se ejecuta contra cualquier implementación local de Kafka + Schema Registry: apunte una conexión direct a sus brokers y Schema Registry.
Una conexión CP expone las mismas herramientas que cualquier otra implementación local — consulte Herramientas disponibles para implementaciones locales.
Las herramientas de Confluent Cloud (Flink, Tableflow, Billing, Metrics y el resto) requieren una cuenta de Confluent Cloud y permanecen deshabilitadas en CP.
Las únicas diferencias con una configuración localhost:9092 son la autenticación y TLS.
Configuración YAML de ejemplo
sample_configs/confluent-platform.yaml es un punto de partida listo para copiar y pegar.
Asume PLAIN sobre SASL_SSL para Kafka y autenticación básica HTTP para Schema Registry.
Personalice las URL del broker y de Schema Registry, e inyecte credenciales mediante las variables de entorno ${KAFKA_API_KEY} / ${KAFKA_API_SECRET} / ${SCHEMA_REGISTRY_API_KEY} / ${SCHEMA_REGISTRY_API_SECRET}.
Si su clúster usa SCRAM u otro mecanismo SASL, sobrescriba security.protocol y sasl.mechanisms mediante el mapa kafka.extra_properties en ese archivo.
Confianza TLS (CA internas)
Los clústeres CP suelen estar detrás de una CA interna. Si ve fallos de handshake TLS contra el broker o Schema Registry, apunte Node a su paquete de CA al iniciar el servidor:
NODE_EXTRA_CA_CERTS=/path/to/internal-ca.pem pnpm run start -- --config path/to/config.yaml
Prueba de humo de extremo a extremo
Una pila docker-compose (docker-compose.cp-test.yml) levanta un Kafka CP local (KRaft, SASL_PLAINTEXT/PLAIN) más un Schema Registry sin autenticación.
Las pruebas de integración correspondientes están etiquetadas como @cp y viven junto a sus manejadores como *.cp.integration.test.ts:
docker compose -f docker-compose.cp-test.yml up -d
# Wait ~30s for Kafka + SR to become ready, then:
CP_KAFKA_USERNAME=mcp CP_KAFKA_PASSWORD=mcp-secret \
pnpm run test:integration --tags-filter=@cp
docker compose -f docker-compose.cp-test.yml down -v
Las pruebas se omiten limpiamente cuando esas variables de entorno no están definidas, por lo que pnpm run test:unit y un pnpm run test:integration predeterminado contra su cuenta real de Confluent Cloud no se ven afectados si no tiene la pila docker en ejecución.
Primeros pasos
Requisitos previos
- Node.js 22.19.0 o posterior -- recomendamos usar NVM para gestionar versiones:
nvm install 22 nvm use 22 - pnpm -- solo necesario para compilar desde el código fuente (el inicio rápido
npxanterior no lo requiere). En macOS la instalación más sencilla es Homebrew;npmfunciona multiplataforma:
Consulte la guía de instalación de pnpm para otras opciones. La versión exacta de pnpm está fijada en el campobrew install pnpm # macOS # or, cross-platform: npm install -g pnpmpackageManagerdepackage.json, y pnpm ejecuta automáticamente esa versión fijada (mediante su gestión de versiones de gestor de paquetes integrada), por lo que una instalación reciente de pnpm es todo lo que necesita -- no se requiere configuración adicional de Corepack. - Un entorno local con Kafka o Schema Registry en ejecución, o una cuenta de Confluent Cloud con claves de API apropiadas o credenciales de inicio de sesión si usa OAuth para autenticarse.
Pasos generales de configuración
Este servidor MCP está diseñado para usarse con varios clientes MCP, como Claude Desktop, Copilot o Goose CLI/Desktop. La configuración e interacción específicas dependerán del cliente que esté usando.
El servidor MCP puede autenticarse en Confluent Cloud mediante OAuth (PKCE) además de las claves de API estáticas definidas en la configuración YAML. Consulte Autenticación OAuth para Confluent Cloud para más detalles.
Los pasos generales para configurar (si no usa OAuth) y ejecutar este MCP son:
- Cree un archivo de configuración: Copie el archivo de ejemplo
config.yamlproporcionado a la raíz de su proyecto. Puede usar la CLI para generar uno en su directorio actual — no se requiere git checkout:
npx @confluentinc/mcp-confluent --init-config
-
Complete el archivo: Rellene los valores necesarios para su entorno de Confluent Cloud. Consulte CONFIGURATION.md para la referencia completa; solo rellene los bloques de servicio que necesite (cada uno habilita un grupo de herramientas).
-
Inicie el servidor: Puede ejecutar el servidor MCP de una de dos maneras:
-
Desde el código fuente: Siga las instrucciones de la Guía de contribución para compilar y ejecutar el servidor desde el código fuente. Esto normalmente implica:
- Instalar dependencias (
pnpm install) - Compilar el proyecto (
pnpm run buildopnpm run dev)
- Instalar dependencias (
-
Con npx: Puede iniciar el servidor directamente usando npx, sin necesidad de compilar:
npx @confluentinc/mcp-confluent --config /path/to/myconfig.yaml
-
-
Configure su cliente MCP: Cada cliente (p. ej., Claude, Goose) tendrá su propia forma de especificar la dirección del servidor MCP y las credenciales requeridas. Deberá configurar su cliente para conectarse a la dirección donde se ejecuta este servidor (probablemente
localhostcon un puerto específico). El puerto en el que se ejecuta el servidor se establece medianteserver.http.portenconfig.yaml. -
Inicie su cliente MCP: Una vez que su cliente esté configurado para conectarse al servidor MCP, puede iniciar su cliente MCP y al arrancar levantará una instancia de este servidor MCP localmente. Esta instancia será responsable de gestionar esquemas de datos e interactuar con los recursos en su nombre.
-
Interactúe con sus recursos a través del cliente: Una vez que el cliente esté conectado y configurado, puede usar la interfaz del cliente para interactuar con Confluent Cloud o los recursos locales. El cliente enviará solicitudes a este servidor MCP, que luego interactuará con las conexiones disponibles en su nombre.
Configuración
La referencia completa de configuración — esquema YAML, cada bloque de servicio, interpolación de variables de entorno, configuración de autenticación OAuth y HTTP/SSE, la tabla heredada (obsoleta) de variables de entorno y el mapeo de herramientas a bloques — se encuentra en CONFIGURATION.md.
Nota de compatibilidad. Esta versión ofrece paridad total entre YAML (
-c config.yaml) y la ruta heredada de variables de entorno (-e config.env) para una sola conexión. La ruta solo de variables de entorno emitirá una advertencia de inicio en una próxima versión y se eliminará una o dos versiones después. Definir múltiples conexiones (o ninguna) es solo YAML — la ruta de variables de entorno solo puede expresar una única conexión. Consulte CONFIGURATION.md → Dos rutas, una configuración y CONFIGURATION.md → Múltiples conexiones (y cero conexiones).
Requisitos previos y configuración para comandos de Tableflow
Las herramientas de Tableflow interactúan con el almacenamiento en la nube (p. ej., AWS S3) y un catálogo de metadatos (p. ej., AWS Glue) en su nombre mediante el runtime de Flink en Confluent Cloud. El runtime de Flink necesita permisos IAM en su cuenta de nube, y esos permisos deben otorgarse y vincularse a Confluent Cloud antes de que cualquier herramienta de Tableflow tenga éxito.
Siga el inicio rápido de Tableflow con almacenamiento personalizado y Glue para configurar los roles, políticas e integraciones de proveedor. Omitir este paso provoca errores de autorización cuando mcp-confluent intenta aprovisionar o gestionar tablas habilitadas para Tableflow.
Autenticación OAuth para Confluent Cloud
El servidor MCP puede autenticarse en Confluent Cloud mediante OAuth (PKCE) en lugar de claves de API estáticas. En la primera llamada a una herramienta que necesite acceso a Confluent, el servidor abre su navegador en la página de inicio de sesión de Confluent Cloud; las llamadas posteriores reutilizan la sesión resultante. No hay claves de API que aprovisionar.
Configuración
npx @confluentinc/mcp-confluent --init-oauth-config
# edit ./config.yaml if needed, then:
npx @confluentinc/mcp-confluent --config ./config.yaml
--init-oauth-config coloca un config.oauth.example.yaml inicial en ./config.yaml.
El archivo completo es esencialmente:
connections:
ccloud-oauth:
type: oauth
Consulte CONFIGURATION.md → Modos de autenticación para el esquema completo y la ergonomía.
Las categorías marcadas con ¹ en Herramientas disponibles para Confluent Cloud funcionan con OAuth hoy; todo lo demás aún necesita una conexión direct con claves de API estáticas.
Uso de la CLI
El servidor MCP proporciona una interfaz de línea de comandos (CLI) flexible para control avanzado. La CLI le permite elegir el archivo de configuración, los transportes y ajustar qué herramientas están habilitadas o bloqueadas.
Uso básico
Puede ver todas las opciones de la CLI y la ayuda con:
npx @confluentinc/mcp-confluent --help
Mostrar salida
Usage: mcp-confluent [options]
Confluent MCP Server - Model Context Protocol implementation for Confluent Cloud
Options:
-V, --version output the version number
-e, --env-file <path> Load environment variables from file
-k, --kafka-config-file <file> Path to a properties file for configuring kafka clients
-t, --transport <types> Transport types (comma-separated list) (choices: "http", "sse", "stdio", default: "stdio")
--allow-tools <tools> Comma-separated list of tool names to allow. If provided, takes precedence over --allow-tools-file. Allow-list is applied before block-list.
--block-tools <tools> Comma-separated list of tool names to block. If provided, takes precedence over --block-tools-file. Block-list is applied after allow-list.
--allow-tools-file <file> File with tool names to allow (one per line). Used only if --allow-tools is not provided. Allow-list is applied before block-list.
--block-tools-file <file> File with tool names to block (one per line). Used only if --block-tools is not provided. Block-list is applied after allow-list.
--list-tools Print the final set of enabled tool names (with descriptions) after allow/block filtering and exit. Does not start the server.
--disable-auth Disable authentication for HTTP/SSE transports. WARNING: Only use in development environments.
--allowed-hosts <hosts> Comma-separated list of allowed Host header values for DNS rebinding protection.
--generate-key Generate a secure API key for MCP_API_KEY and print it to stdout, then exit.
-h, --help display help for command
Ejemplo: Implementar usando todos los transportes
npx @confluentinc/mcp-confluent -c config.yaml --transport http,sse,stdio
Mostrar salida
...
{"level":"info","time":"2025-05-14T17:03:02.883Z","pid":47959,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Starting transports: http, sse, stdio"}
{"level":"info","time":"2025-05-14T17:03:02.971Z","pid":47959,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"HTTP transport routes registered"}
{"level":"info","time":"2025-05-14T17:03:02.972Z","pid":47959,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"SSE transport routes registered"}
{"level":"info","time":"2025-05-14T17:03:02.972Z","pid":47959,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"STDIO transport connected"}
{"level":"info","time":"2025-05-14T17:03:03.012Z","pid":47959,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Server listening at http://[::1]:3000"}
{"level":"info","time":"2025-05-14T17:03:03.013Z","pid":47959,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Server listening at http://127.0.0.1:3000"}
{"level":"info","time":"2025-05-14T17:03:03.013Z","pid":47959,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"All transports started successfully"}
Ejemplo: Permitir solo herramientas específicas
npx @confluentinc/mcp-confluent -c config.yaml --allow-tools produce-message,consume-messages
Solo las herramientas especificadas estarán habilitadas; todas las demás estarán deshabilitadas.
Ejemplo: Bloquear ciertas herramientas
npx @confluentinc/mcp-confluent -c config.yaml --block-tools produce-message,consume-messages
Todas las herramientas excepto las especificadas estarán habilitadas.
Ejemplo: Usar listas de herramientas desde archivos
También puede mantener listas de permitidos/bloqueados en archivos (un nombre de herramienta por línea):
npx -y @confluentinc/mcp-confluent -c config.yaml --allow-tools-file allow.txt --block-tools-file block.txt
Ejemplo: Listar todas las herramientas disponibles
npx -y @confluentinc/mcp-confluent --list-tools
Mostrar salida
billing:
list-billing-costs: Retrieve billing cost data for a Confluent Cloud organization within a specified date range with pagination support
catalog:
add-tags-to-topic: Assign existing tags to Kafka topics in Confluent Cloud.
create-topic-tags: Create new tag definitions in Confluent Cloud.
delete-tag: Delete a tag definition from Confluent Cloud.
list-tags: Retrieve all tags with definitions from Confluent Cloud Schema Registry.
remove-tag-from-entity: Remove tag from an entity in Confluent Cloud.
search-topics-by-name: List all topics in the Kafka cluster matching the specified name.
search-topics-by-tag: List all topics in the Kafka cluster with the specified tag.
confluent-cloud:
list-clusters: Get all clusters in the Confluent Cloud environment
list-environments: Get all environments in Confluent Cloud with pagination support
list-organizations: List Confluent Cloud organizations the current credentials can see. Paginated; if the response includes a nextPageTok...
read-environment: Get details of a specific environment by ID
connect:
create-connector: Create a new connector. Returns the new connector information if successful.
delete-connector: Delete an existing connector. Returns success message if deletion was successful.
get-connector-config: Retrieve the full configuration map for a connector. Returns the flat config object the connector was created/updated...
get-connector-error-recommendations: Get suggested remediation steps for a connector that has failed or is in an error state. Returns a one-liner when no recommendations are available.
get-connector-error-summary: Summarize a connector's current errors. Projects Confluent Cloud's /status diagnostics into a compact, agent-friendly form. Returns a one-liner when the connector is healthy.
get-connector-logs: Retrieve recent log entries for a Confluent Cloud connector from the Cloud logging API. Defaults to the last hour of ERROR-level entries. Paginated via nextPageToken.
get-connector-offsets: Retrieve current offsets for a connector's tasks. Useful for detecting lag, stalled tasks, or assisting recovery.
get-connector-status: Get the current state of a connector and its tasks (RUNNING, FAILED, PAUSED, UNASSIGNED) including failure traces if ...
get-connector-tasks: List the tasks of a connector along with their configurations.
list-connectors: Retrieve a list of "names" of the active connectors. You can then make a read request for a specific connector by name.
pause-connector: Pause a running connector and its tasks. Idempotent.
restart-connector: Restart a connector and its tasks. Asynchronous; the connector will not transition state synchronously.
resume-connector: Resume a paused connector and its tasks. Idempotent.
update-connector-config: Update the configuration of an existing connector. Full-replace: omitted keys are removed and the connector is reconf...
docs:
get-product-doc-page: Fetch the full markdown content of a Confluent product documentation page. Accepts URLs under https://docs.confluent....
search-product-docs: Search Confluent product documentation (docs.confluent.io, developer.confluent.io, support.confluent.io) by keyword.
flink:
check-flink-statement-health: Perform an aggregate health check for a Flink SQL statement. Returns status (healthy/warning/critical), current phase...
create-flink-statement: Make a request to create a statement.
delete-flink-statements: Make a request to delete a statement.
describe-flink-table: Get full schema details for a Flink table via INFORMATION_SCHEMA.COLUMNS. Returns column names, data types (including...
detect-flink-statement-issues: Detect issues for a Flink SQL statement by analyzing status, exceptions, and performance metrics. Identifies problems...
get-flink-statement-exceptions: Retrieve the 10 most recent exceptions for a Flink SQL statement. Useful for diagnosing failed or failing statements.
get-flink-statement-profile: Get Query Profiler data for a Flink SQL statement. Returns the task graph with human-readable task/operator names, pe...
get-flink-statement-results: Fetch the result rows produced by a Flink SQL statement.
get-flink-table-info: Get table metadata via INFORMATION_SCHEMA.TABLES. Returns watermark configuration, distribution info, and table type.
list-compute-pools: Get the Flink compute pools in the Confluent Cloud environment. Paginated; if the response includes a nextPageToken, pas...
list-flink-catalogs: List all catalogs available in the Flink environment via INFORMATION_SCHEMA.CATALOGS.
list-flink-databases: List all databases (schemas) in a Flink catalog via INFORMATION_SCHEMA.SCHEMATA. Returns catalog and database names.
list-flink-statements: Retrieve a sorted, filtered, paginated list of all statements.
list-flink-tables: List all tables in a Flink database via INFORMATION_SCHEMA.TABLES. Returns table names and types.
kafka:
alter-topic-config: Alter topic configuration in Confluent Cloud.
consume-messages: Consume messages from Kafka topics. Optionally restrict to a partition, start from an offset, timestamp, earliest, la...
create-topics: Create one or more Kafka topics with an optional partition count and replication factor.
delete-topics: Delete the topic with the given names.
describe-consumer-group: Describe a single consumer group on a Kafka cluster. Returns the group's state, type, protocol, partition assignor, c...
get-consumer-group-lag: Compute live offset lag for a single Kafka consumer group. Returns per-(topic, partition) {committedOffset, highWater...
get-partition-offsets: Return per-partition low/high watermarks and message counts for a Kafka topic. Use this to size a backfill, measure l...
get-topic-config: Retrieve configuration details for a specific Kafka topic.
list-consumer-groups: List consumer groups on a Kafka cluster — wraps the broker's listGroups admin call. Optional filters narrow the resul...
list-topics: List all topics in the Kafka cluster.
produce-message: Produce records to a Kafka topic. Supports Confluent Schema Registry serialization (AVRO, JSON, PROTOBUF) for both ke...
mcp-server-diagnostics:
config-help: Call when the user wants to enable or unlock a specific tool (e.g. "how do I enable the tableflow tools?", "what config does cr...
explain-disabled-tools: Call when the user asks why a tool is missing or unavailable (e.g., "why can't I list Kafka topics?", "where are the ...
list-configured-connections: List every configured connection and the connection-routable tools you can invoke against each. The connection id (th...
metrics:
list-available-metrics: List available Confluent Cloud metrics and their filter fields from the Telemetry API. Use this tool BEFORE query-met...
query-metrics: Query Confluent Cloud metrics from the Telemetry API. IMPORTANT: Use the list-available-metrics tool first to discove...
schema-registry:
create-schema: Register a new schema (or a new version of an existing schema) under a subject in the Schema Registry.
delete-schema: Delete a schema subject or a specific version from the Schema Registry. If version is omitted, all versions of the su...
list-schemas: List all schemas in the Schema Registry.
tableflow:
create-tableflow-catalog-integration: Make a request to create a catalog integration.
create-tableflow-topic: Make a request to create a tableflow topic.
delete-tableflow-catalog-integration: Make a request to delete a tableflow catalog integration.
delete-tableflow-topic: Make a request to delete a tableflow topic.
list-tableflow-catalog-integrations: Retrieve a sorted, filtered, paginated list of all catalog integrations.
list-tableflow-regions: Retrieve a sorted, filtered, paginated list of all tableflow regions.
list-tableflow-topics: Retrieve a sorted, filtered, paginated list of all tableflow topics.
read-tableflow-catalog-integration: Make a request to read a catalog integration.
read-tableflow-topic: Make a request to read a tableflow topic.
update-tableflow-catalog-integration: Make a request to update a catalog integration.
update-tableflow-topic: Make a request to update a tableflow topic.
Consejo: La lista de permitidos se aplica antes que la lista de bloqueados. Si no se proporciona ninguna, todas las herramientas están habilitadas por defecto.
Configuración de clientes MCP
Consulte las siguientes guías para obtener instrucciones paso a paso sobre cómo configurar y usar este servidor MCP con su cliente preferido:
Telemetría
Este servidor MCP recopila datos de uso e informa errores de runtime del lado del servidor (mediante Sentry) para ayudar a realizar mejoras.
Puede optar por no participar en ambos estableciendo DO_NOT_TRACK=true en su entorno (o server.do_not_track: true en YAML).
Consulte telemetry.md para obtener detalles completos sobre qué se recopila y qué nunca se envía.
Solución de problemas
"Versión de Node.js no compatible" -- Este proyecto requiere Node.js 22.19.0 o posterior.
Compruebe su versión con node -v y actualice si es necesario.
Las herramientas no aparecen -- Cada herramienta requiere bloques de servicio específicos en su config.yaml.
Ejecute --list-tools para ver qué herramientas están activas, o invoque la herramienta MCP explain-disabled-tools desde su cliente para obtener una razón por herramienta.
El mapeo de bloques a herramientas se encuentra en CONFIGURATION.md.
Errores de autenticación en HTTP/SSE -- Genere una clave de API con npx @confluentinc/mcp-confluent --generate-key y agréguela a su config.yaml bajo server.auth.api_key.
Consulte CONFIGURATION.md → Seguridad del transporte HTTP/SSE.
Conexión rechazada / conflictos de puerto -- El puerto HTTP predeterminado es 8080.
Establezca server.http.port en su config.yaml para cambiarlo.
Errores de autorización de Tableflow -- Las herramientas de Tableflow requieren permisos IAM específicos en su entorno de nube. Consulte Requisitos previos y configuración para comandos de Tableflow.
Contribuciones
Se agradecen los informes de errores y comentarios en forma de Issues de Github. Para pautas sobre contribuciones, consulte CONTRIBUTING.md
Pruebas previas al lanzamiento
Para ejecutar el servidor MCP contra una versión preliminar para pruebas beta o comentarios tempranos, descargue el archivo tarball de la versión a un directorio local.
Luego, al ejecutar cualquiera de los comandos npx anteriores, reemplace @confluentinc/mcp-confluent con la ruta a ese tarball, p. ej. npx @~path/to/my/tarball --list-tools