Confluent Cloud
Interaja com as APIs REST do Confluent Cloud para gerenciar clusters Kafka, tópicos e dados.
Documentação
Servidor MCP da Confluent
Um servidor MCP de código aberto que permite que assistentes de IA interajam com o Confluent Cloud, o Confluent Platform e implantações Apache Kafka independentes por meio de linguagem natural. Ele fornece mais de 50 ferramentas em Kafka, Flink SQL, Schema Registry, Connectors, Tableflow e muito mais — utilizáveis a partir de qualquer cliente compatível com MCP, incluindo Claude Desktop, Claude Code, Cursor, VS Code, Goose e Gemini CLI.
[!TIP] Já é cliente do Confluent Cloud? A Confluent oferece um servidor MCP totalmente gerenciado sem necessidade de executar um servidor local ou instalar dependências. Ele fornece acesso aos seus recursos do Confluent Cloud com diagnósticos de conectores com tecnologia de IA, governados pelas suas permissões RBAC existentes. Use este servidor de código aberto se você precisar de suporte ao Confluent Platform / Kafka autogerenciado, ou se quiser personalizar e estender o conjunto de ferramentas.
NOTA: O servidor MCP de código aberto é um projeto com suporte da comunidade. A Confluent não oferece suporte dedicado para ele, e o suporte é apenas de melhor esforço, sem compromissos de nível de serviço. Se você encontrar um problema ou quiser contribuir, abra uma issue ou pull request diretamente neste repositório.
Início Rápido
Pré-requisitos: Node.js 22.19.0+. Se você quiser interagir com o Confluent Cloud, primeiro é necessário criar uma conta.
- Gere um arquivo
config.yamlrápido na raiz do seu projeto:
npx @confluentinc/mcp-confluent --init-config
- Edite o arquivo
config.yamlcom seus detalhes de conexão e, em seguida:
npx @confluentinc/mcp-confluent --config ./config.yaml
Consulte Introdução para instruções completas de configuração e Configurando Clientes MCP para integração com sua ferramenta de IA preferida.
Sumário
- Início Rápido
- Ferramentas Disponíveis
- Uso com o Confluent Platform
- Introdução
- Configuração
- Autenticação OAuth para o Confluent Cloud
- Uso via CLI
- Configurando Clientes MCP
- Telemetria
- Solução de Problemas
- Contribuição
Ferramentas Disponíveis
As ferramentas são habilitadas automaticamente com base nos blocos de serviço presentes na sua configuração resolvida; consulte CONFIGURATION.md para o mapeamento completo de bloco para ferramenta.
Você pode listar todas as ferramentas disponíveis via CLI:
npx -y @confluentinc/mcp-confluent --list-tools
Ferramentas Sempre Disponíveis
Estas ferramentas não exigem blocos de serviço nem autenticação — elas são habilitadas mesmo em uma configuração mínima, independentemente da implantação para a qual o restante da sua configuração se destina.
| Categoria | Ferramentas | Descrição |
|---|---|---|
| Documentação | search-product-docs, get-product-doc-page | Pesquise na documentação de produtos da Confluent e obtenha o conteúdo completo das páginas |
| Diagnóstico | explain-disabled-tools, list-configured-connections, config-help, describe-configured-connection | Explique por que as ferramentas estão ausentes, liste as conexões configuradas e as ferramentas habilitadas em cada uma, sugira o YAML para habilitar uma ferramenta específica e descreva a configuração e a disponibilidade de ferramentas de uma conexão |
Ferramentas Disponíveis para o Confluent Cloud
Estas ferramentas exigem endpoints e autenticação em componentes específicos do Confluent Cloud.
Consulte config.example.yaml para o conjunto completo de variáveis de configuração.
As categorias marcadas com ¹ também funcionam com autenticação OAuth — faça login pelo navegador em vez de provisionar chaves de API.
| Categoria | Ferramentas | Descrição |
|---|---|---|
| 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 | Gerencie tópicos, produza/consuma mensagens, inspecione grupos de consumidores, configure definições de tópicos |
| Flink SQL ¹ | create-flink-statement, list-flink-statements, get-flink-statement-results, delete-flink-statements, get-flink-statement-exceptions, list-compute-pools | Crie e gerencie instruções Flink SQL; descubra pools de computação Flink |
| Catálogo Flink ¹ | list-flink-catalogs, list-flink-databases, list-flink-tables, describe-flink-table, get-flink-table-info | Explore catálogos, bancos de dados e esquemas de tabelas do Flink |
| Diagnóstico Flink ¹ | check-flink-statement-health, detect-flink-statement-issues, get-flink-statement-profile | Verificações de integridade, detecção de problemas e criação de perfil 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 | Inspecione e gerencie conectores Kafka Connect |
| Schema Registry ¹ | list-schemas, create-schema, delete-schema | Liste, inspecione, crie e exclua esquemas de dados |
| Catálogo e Tags ¹ | search-topics-by-tag, search-topics-by-name, create-topic-tags, delete-tag, remove-tag-from-entity, add-tags-to-topic, list-tags | Organize e pesquise tópicos usando tags |
| Organizações, Ambientes e Clusters ¹ | list-organizations, list-environments, read-environment, list-clusters | Descubra recursos do Confluent Cloud |
| Tableflow ¹ | create-tableflow-topic, list-tableflow-topics, read-tableflow-topic, update-tableflow-topic, delete-tableflow-topic, list-tableflow-regions | Gerencie tópicos habilitados para Tableflow |
| Catálogo Tableflow ¹ | create-tableflow-catalog-integration, list-tableflow-catalog-integrations, read-tableflow-catalog-integration, update-tableflow-catalog-integration, delete-tableflow-catalog-integration | Gerencie integrações de catálogo Tableflow (por exemplo, AWS Glue) |
| Métricas ¹ | list-available-metrics, query-metrics | Descubra e consulte métricas operacionais do Confluent Cloud |
| Cobrança ¹ | list-billing-costs | Consulte dados de cobrança e custos |
¹ Também disponível com OAuth — consulte Autenticação OAuth para o Confluent Cloud para configuração e ressalvas.
As categorias não marcadas atualmente exigem uma conexão direct com chaves de API estáticas; a migração para OAuth está em andamento.
² Ferramenta individual não disponível com OAuth; exige uma conexão direct com chaves de API estáticas.
Ferramentas Disponíveis para Implantações Locais
Estas ferramentas exigem apenas endpoints de Kafka ou Schema Registry — nenhuma chave/segredo de API do Confluent Cloud é necessária. Ideais para desenvolvimento local com clusters autogerenciados, incluindo o Confluent Platform.
# minimal config.yaml for local development
connections:
local:
type: direct
kafka:
bootstrap_servers: "localhost:9092"
schema_registry:
endpoint: "http://localhost:8081"
Variantes prontas para uso estão em sample_configs/.
| Categoria | Ferramentas | Descrição |
|---|---|---|
| Kafka | list-topics, create-topics, delete-topics, produce-message, consume-messages, list-consumer-groups, describe-consumer-group, get-consumer-group-lag | Gerenciar tópicos, produzir/consumir mensagens, inspecionar grupos de consumidores |
| Schema Registry | list-schemas, create-schema, delete-schema | Listar, inspecionar, criar e excluir esquemas de dados |
Usando com Confluent Platform
mcp-confluent é executado contra um cluster Confluent Platform (CP) autogerenciado da mesma forma que é executado contra qualquer implantação local de Kafka + Schema Registry: aponte uma conexão direct para seus brokers e Schema Registry.
Uma conexão CP expõe as mesmas ferramentas que qualquer outra implantação local — veja Ferramentas disponíveis para implantações locais.
As ferramentas do Confluent Cloud (Flink, Tableflow, Billing, Metrics e demais) exigem uma conta Confluent Cloud e permanecem desabilitadas no CP.
As únicas diferenças em relação a uma configuração localhost:9092 são autenticação e TLS.
Exemplo de configuração YAML
sample_configs/confluent-platform.yaml é um modelo inicial pronto para copiar e colar.
Ele assume PLAIN sobre SASL_SSL para Kafka e HTTP Basic Auth para Schema Registry.
Personalize as URLs do broker e do Schema Registry e injete credenciais por meio das variáveis de ambiente ${KAFKA_API_KEY} / ${KAFKA_API_SECRET} / ${SCHEMA_REGISTRY_API_KEY} / ${SCHEMA_REGISTRY_API_SECRET}.
Se o seu cluster usar SCRAM ou outro mecanismo SASL, substitua security.protocol e sasl.mechanisms por meio do mapa kafka.extra_properties nesse arquivo.
Confiança TLS (CAs internas)
Clusters CP frequentemente ficam atrás de uma CA interna. Se você vir falhas de handshake TLS contra o broker ou o Schema Registry, aponte o Node para o seu pacote de CA ao iniciar o servidor:
NODE_EXTRA_CA_CERTS=/path/to/internal-ca.pem pnpm run start -- --config path/to/config.yaml
Teste de fumaça de ponta a ponta
Uma pilha docker-compose (docker-compose.cp-test.yml) sobe um Kafka CP local (KRaft, SASL_PLAINTEXT/PLAIN) além de um Schema Registry sem autenticação.
Os testes de integração correspondentes são marcados como @cp e ficam ao lado de seus manipuladores 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
Os testes são ignorados limpo quando essas variáveis de ambiente não estão definidas, então pnpm run test:unit e um pnpm run test:integration padrão contra sua conta real do Confluent Cloud não são afetados se você não tiver a pilha docker em execução.
Primeiros Passos
Pré-requisitos
- Node.js 22.19.0 ou posterior -- recomendamos usar NVM para gerenciar versões:
nvm install 22 nvm use 22 - pnpm -- necessário apenas para compilar a partir do código-fonte (o início rápido
npxacima não o exige). No macOS, a instalação mais simples é via Homebrew;npmfunciona em várias plataformas:
Consulte o guia de instalação do pnpm para outras opções. A versão exata do pnpm é fixada no campobrew install pnpm # macOS # or, cross-platform: npm install -g pnpmpackageManagerdepackage.json, e o pnpm executa automaticamente essa versão fixada (por meio do gerenciamento de versão de gerenciador de pacotes integrado), então uma instalação recente do pnpm é tudo o que você precisa -- nenhuma configuração separada do Corepack é necessária. - Um ambiente local com Kafka ou Schema Registry em execução, ou uma conta Confluent Cloud com chaves de API apropriadas ou credenciais de login se usando OAuth para autenticar.
Etapas Gerais de Configuração
Este servidor MCP é projetado para ser usado com vários clientes MCP, como Claude Desktop, Copilot ou Goose CLI/Desktop. A configuração e a interação específicas dependerão do cliente que você está usando.
O servidor MCP pode autenticar no Confluent Cloud via OAuth (PKCE) além das chaves de API estáticas definidas na configuração YAML. Consulte Autenticação OAuth para Confluent Cloud para mais detalhes.
As etapas gerais para configurar (se não estiver usando OAuth) e executar este MCP são:
- Crie um arquivo de configuração: Copie o arquivo de exemplo
config.yamlfornecido para a raiz do seu projeto. Você pode usar a CLI para gerar um no seu diretório atual — nenhum checkout git é necessário:
npx @confluentinc/mcp-confluent --init-config
-
Preencha o arquivo: Preencha os valores necessários para o seu ambiente Confluent Cloud. Consulte CONFIGURATION.md para a referência completa; preencha apenas os blocos de serviço que você precisa (cada um habilita um grupo de ferramentas).
-
Inicie o Servidor: Você pode executar o servidor MCP de duas maneiras:
-
A partir do código-fonte: Siga as instruções no Guia de Contribuição para compilar e executar o servidor a partir do código-fonte. Isso normalmente envolve:
- Instalar dependências (
pnpm install) - Compilar o projeto (
pnpm run buildoupnpm run dev)
- Instalar dependências (
-
Com npx: Você pode iniciar o servidor diretamente usando npx, sem necessidade de compilação:
npx @confluentinc/mcp-confluent --config /path/to/myconfig.yaml
-
-
Configure seu Cliente MCP: Cada cliente (por exemplo, Claude, Goose) terá sua própria maneira de especificar o endereço do servidor MCP e quaisquer credenciais necessárias. Você precisará configurar seu cliente para conectar ao endereço onde este servidor está em execução (provavelmente
localhostcom uma porta específica). A porta em que o servidor é executado é definida viaserver.http.portemconfig.yaml. -
Inicie seu Cliente MCP: Depois que seu cliente estiver configurado para conectar ao servidor MCP, você pode iniciar seu cliente MCP e, na inicialização, ele criará uma instância deste servidor MCP localmente. Esta instância será responsável por gerenciar esquemas de dados e interagir com recursos em seu nome.
-
Interaja com seus recursos por meio do Cliente: Depois que o cliente estiver conectado e configurado, você pode usar a interface do cliente para interagir com o Confluent Cloud ou recursos locais. O cliente enviará solicitações para este servidor MCP, que então interagirá com as conexões disponíveis em seu nome.
Configuração
A referência completa de configuração — esquema YAML, cada bloco de serviço, interpolação de variáveis de ambiente, configuração de autenticação OAuth e HTTP/SSE, a tabela legada (obsoleta) de variáveis de ambiente e o mapeamento ferramenta-para-bloco — está em CONFIGURATION.md.
Nota de compatibilidade. Esta versão oferece paridade total entre YAML (
-c config.yaml) e o caminho legado de variáveis de ambiente (-e config.env) para uma única conexão. O caminho somente de variáveis de ambiente emitirá um aviso de inicialização em uma versão próxima e será removido uma ou duas versões depois. Definir múltiplas conexões (ou nenhuma) é exclusivo do YAML — o caminho de variáveis de ambiente pode expressar apenas uma única conexão. Consulte CONFIGURATION.md → Dois caminhos, uma configuração e CONFIGURATION.md → Múltiplas conexões (e zero conexões).
Pré-requisitos e configuração para comandos Tableflow
As ferramentas Tableflow interagem com armazenamento em nuvem (por exemplo, AWS S3) e um catálogo de metadados (por exemplo, AWS Glue) em seu nome por meio do runtime Flink no Confluent Cloud. O runtime Flink precisa de permissões IAM na sua conta de nuvem, e elas devem ser concedidas e vinculadas ao Confluent Cloud antes que qualquer ferramenta Tableflow tenha sucesso.
Siga o início rápido do Tableflow com armazenamento personalizado e Glue para configurar as funções, políticas e integrações de provedor. Pular esta etapa leva a erros de autorização quando o mcp-confluent tenta provisionar ou gerenciar tabelas habilitadas para Tableflow.
Autenticação OAuth para Confluent Cloud
O servidor MCP pode autenticar no Confluent Cloud via OAuth (PKCE) em vez de chaves de API estáticas. Na primeira chamada de ferramenta que precisa de acesso ao Confluent, o servidor abre seu navegador na página de login do Confluent Cloud; chamadas subsequentes reutilizam a sessão resultante. Nenhuma chave de API para provisionar.
Configuração
npx @confluentinc/mcp-confluent --init-oauth-config
# edit ./config.yaml if needed, then:
npx @confluentinc/mcp-confluent --config ./config.yaml
--init-oauth-config coloca um config.oauth.example.yaml inicial em ./config.yaml.
O arquivo inteiro é essencialmente:
connections:
ccloud-oauth:
type: oauth
Consulte CONFIGURATION.md → Modos de autenticação para o esquema completo e ergonomia.
As categorias marcadas com ¹ em Ferramentas disponíveis para Confluent Cloud funcionam com OAuth hoje; todo o resto ainda precisa de uma conexão direct com chaves de API estáticas.
Uso da CLI
O servidor MCP fornece uma interface de linha de comando (CLI) flexível para controle avançado. A CLI permite escolher o arquivo de configuração, transportes e ajustar quais ferramentas estão habilitadas ou bloqueadas.
Uso Básico
Você pode ver todas as opções da CLI e ajuda com:
npx @confluentinc/mcp-confluent --help
Mostrar saída
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
Exemplo: Implantar usando todos os transportes
npx @confluentinc/mcp-confluent -c config.yaml --transport http,sse,stdio
Mostrar saída
...
{"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"}
Exemplo: Permitir Apenas Ferramentas Específicas
npx @confluentinc/mcp-confluent -c config.yaml --allow-tools produce-message,consume-messages
Apenas as ferramentas especificadas serão habilitadas; todas as outras serão desabilitadas.
Exemplo: Bloquear Certas Ferramentas
npx @confluentinc/mcp-confluent -c config.yaml --block-tools produce-message,consume-messages
Todas as ferramentas, exceto as especificadas, serão habilitadas.
Exemplo: Usar Listas de Ferramentas de Arquivos
Você também pode manter listas de permissão/bloqueio em arquivos (um nome de ferramenta por linha):
npx -y @confluentinc/mcp-confluent -c config.yaml --allow-tools-file allow.txt --block-tools-file block.txt
Exemplo: Listar Todas as Ferramentas Disponíveis
npx -y @confluentinc/mcp-confluent --list-tools
Mostrar saída
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.
Dica: A lista de permissão é aplicada antes da lista de bloqueio. Se nenhuma for fornecida, todas as ferramentas são habilitadas por padrão.
Configurando Clientes MCP
Consulte os seguintes guias para instruções passo a passo sobre como configurar e usar este servidor MCP com seu cliente preferido:
Telemetria
Este servidor MCP coleta dados de uso e relata erros de runtime no lado do servidor (via Sentry) para ajudar a fazer melhorias.
Você pode desativar ambos definindo DO_NOT_TRACK=true no seu ambiente (ou server.do_not_track: true no YAML).
Consulte telemetry.md para detalhes completos sobre o que é coletado e o que nunca é enviado.
Solução de Problemas
"Versão do Node.js não suportada" -- Este projeto requer Node.js 22.19.0 ou posterior.
Verifique sua versão com node -v e atualize se necessário.
Ferramentas não aparecendo -- Cada ferramenta requer blocos de serviço específicos no seu config.yaml.
Execute --list-tools para ver quais ferramentas estão ativas, ou invoque a ferramenta MCP explain-disabled-tools do seu cliente para um motivo por ferramenta.
O mapeamento bloco-para-ferramenta está em CONFIGURATION.md.
Erros de autenticação em HTTP/SSE -- Gere uma chave de API com npx @confluentinc/mcp-confluent --generate-key e adicione-a ao seu config.yaml sob server.auth.api_key.
Consulte CONFIGURATION.md → Segurança de transporte HTTP/SSE.
Conexão recusada / conflitos de porta -- A porta HTTP padrão é 8080.
Defina server.http.port no seu config.yaml para alterá-la.
Erros de autorização do Tableflow -- As ferramentas Tableflow exigem permissões IAM específicas no seu ambiente de nuvem. Consulte Pré-requisitos e configuração para comandos Tableflow.
Contribuindo
Relatórios de bugs e feedback são apreciados na forma de Issues do Github. Para diretrizes sobre contribuição, consulte CONTRIBUTING.md
Testes de pré-lançamento
Para executar o servidor MCP com uma versão de pré-lançamento para testes beta ou feedback antecipado, baixe o arquivo tarball da versão para um diretório local.
Em seguida, ao executar qualquer um dos comandos npx acima, substitua @confluentinc/mcp-confluent pelo caminho para esse tarball, por exemplo, npx @~path/to/my/tarball --list-tools