Confluent MCP Server

Confluent's MCP server for Kafka topics, Flink SQL, connectors and Schema Registry, on Cloud or self-managed

Official · Confluent Inc. TypeScript Local · stdio DatabasesCloud platformsDevOps and monitoring

63 popularity score ★ 169 ↓ 1.9k/wk

Connect your client

Local (npm)

Add in one click

Opens the app, which asks before it adds the server. Then replace each <NAME> in its settings with your value.

Or add it by command or config

FirstTerminal
npx @confluentinc/mcp-confluent --init-config
Claude CodeTerminal
claude mcp add confluent -- npx -y @confluentinc/mcp-confluent --config '<ABSOLUTE_PATH_TO_CONFIG_YAML>'
Claude Desktopclaude_desktop_config.json
{
  "mcpServers": {
    "confluent": {
      "command": "npx",
      "args": [
        "-y",
        "@confluentinc/mcp-confluent",
        "--config",
        "<ABSOLUTE_PATH_TO_CONFIG_YAML>"
      ]
    }
  }
}
Cursor~/.cursor/mcp.json
{
  "mcpServers": {
    "confluent": {
      "command": "npx",
      "args": [
        "-y",
        "@confluentinc/mcp-confluent",
        "--config",
        "<ABSOLUTE_PATH_TO_CONFIG_YAML>"
      ]
    }
  }
}
VS Code.vscode/mcp.json
{
  "servers": {
    "confluent": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@confluentinc/mcp-confluent",
        "--config",
        "<ABSOLUTE_PATH_TO_CONFIG_YAML>"
      ]
    }
  }
}
Codex~/.codex/config.toml
[mcp_servers.confluent]
command = "npx"
args = ["-y", "@confluentinc/mcp-confluent", "--config", "<ABSOLUTE_PATH_TO_CONFIG_YAML>"]
Gemini CLITerminal
gemini mcp add --scope user confluent npx -- -y @confluentinc/mcp-confluent --config '<ABSOLUTE_PATH_TO_CONFIG_YAML>'
Local (from source)

Add in one click

Opens the app, which asks before it adds the server. Then replace each <NAME> in its settings with your value.

Or add it by command or config

FirstTerminal
git clone https://github.com/confluentinc/mcp-confluent.git
cd mcp-confluent
pnpm install
pnpm run build
Claude CodeTerminal
claude mcp add confluent -- node '<ABSOLUTE_PATH_TO_CLONE>/dist/index.js' --config '<ABSOLUTE_PATH_TO_CONFIG_YAML>'
Claude Desktopclaude_desktop_config.json
{
  "mcpServers": {
    "confluent": {
      "command": "node",
      "args": [
        "<ABSOLUTE_PATH_TO_CLONE>/dist/index.js",
        "--config",
        "<ABSOLUTE_PATH_TO_CONFIG_YAML>"
      ]
    }
  }
}
Cursor~/.cursor/mcp.json
{
  "mcpServers": {
    "confluent": {
      "command": "node",
      "args": [
        "<ABSOLUTE_PATH_TO_CLONE>/dist/index.js",
        "--config",
        "<ABSOLUTE_PATH_TO_CONFIG_YAML>"
      ]
    }
  }
}
VS Code.vscode/mcp.json
{
  "servers": {
    "confluent": {
      "type": "stdio",
      "command": "node",
      "args": [
        "<ABSOLUTE_PATH_TO_CLONE>/dist/index.js",
        "--config",
        "<ABSOLUTE_PATH_TO_CONFIG_YAML>"
      ]
    }
  }
}
Codex~/.codex/config.toml
[mcp_servers.confluent]
command = "node"
args = ["<ABSOLUTE_PATH_TO_CLONE>/dist/index.js", "--config", "<ABSOLUTE_PATH_TO_CONFIG_YAML>"]
Gemini CLITerminal
gemini mcp add --scope user confluent node -- '<ABSOLUTE_PATH_TO_CLONE>/dist/index.js' --config '<ABSOLUTE_PATH_TO_CONFIG_YAML>'

Settings 9

KAFKA_API_KEY Optional: Kafka API key, read into config.yaml through ${KAFKA_API_KEY}; with KAFKA_API_SECRET.
KAFKA_API_SECRET Optional: Secret for the Kafka API key.
SCHEMA_REGISTRY_API_KEY Optional: Schema Registry API key for config.yaml interpolation.
SCHEMA_REGISTRY_API_SECRET Optional: Secret for the Schema Registry API key.
CONFLUENT_CLOUD_API_KEY Optional: Confluent Cloud API key for the confluent_cloud block.
CONFLUENT_CLOUD_API_SECRET Optional: Secret for the Confluent Cloud API key.
DO_NOT_TRACK Optional: Set to true to stop usage data and Sentry error reports.
NODE_EXTRA_CA_CERTS Optional: CA bundle path for brokers or Schema Registry behind an internal CA.
MCP_API_KEY Optional: API key clients must send when the http or sse transport is on.

What it does

MCP Confluent is a local Node.js server from Confluent that gives an assistant tools for Apache Kafka and the services around it. It works against Confluent Cloud, Confluent Platform and plain self-managed Kafka: it can list, create and delete topics, produce and consume records, inspect consumer groups and their lag, register and delete schemas, and, on Confluent Cloud, run Flink SQL statements, manage Kafka Connect connectors, tag topics, manage Tableflow, query operational metrics and read billing costs.

What it exposes depends on a config.yaml you pass with --config. Each connection in the file is either direct (bootstrap servers, Schema Registry endpoint and API keys per service) or oauth (a Confluent Cloud browser sign-in), and each service block you fill in switches on its group of tools. A file may hold several direct connections but at most one oauth one, and each tool call names the connection it targets. With no connections at all, only the documentation search and config-diagnostic tools are on. Tools can be narrowed further with --allow-tools and --block-tools.

The README talks of "50+ tools"; the tool-name list in the v1.6.0 source holds 73, including get-partition-offsets, which the README's tables leave out. Confluent also runs a fully managed MCP server for Confluent Cloud and points Cloud customers to it; this open-source one is the choice for Confluent Platform or self-managed Kafka, or for changing the toolset.

What it needs

RuntimeNode.js 22+

Node.js 22.19.0 or later (npx). A config.yaml, made with --init-config or --init-oauth-config, pointing at a reachable Kafka and/or Schema Registry, or a Confluent Cloud account with API keys or a browser sign-in. Cloud-only tools (Flink, connectors, Tableflow, metrics, billing) need Confluent Cloud. Tableflow tools also need IAM roles on your cloud account linked into Confluent Cloud first. pnpm only to build from source.

Limits

In v1.6.0, OAuth sign-in covers only the Kafka topic and message tools, topic config, Schema Registry, organization/environment/cluster listing and billing; Flink, connectors, Tableflow, metrics and catalog tags still need a direct connection with API keys (CONFIGURATION.md at v1.6.0; the main-branch README marks more as OAuth-ready, which is not yet released). On Confluent Platform or plain Kafka only the Kafka and Schema Registry tools work. Configuring by environment variables alone is deprecated and set to be removed. Confluent calls it community-supported: best-effort help, no SLA.

Who it suits

Suits teams on Confluent Platform or self-managed Kafka who want an assistant to inspect topics, consumer lag and schemas, and Confluent Cloud users who want Flink SQL, connector and Tableflow work from a local process with their own keys. Many tools write and delete (topics, schemas, connectors, Flink statements), so pair it with --allow-tools or a read-only key when the cluster matters. Confluent Cloud customers who want nothing to install can use Confluent's managed MCP server instead, which its README recommends for them.

Tools 60 of 73

list-topics
List the topics on a Kafka cluster
create-topics
Create one or more topics, with optional partition count and replication factor
delete-topics
Delete topics by name
produce-message
Write records to a topic, optionally serialized through Schema Registry
consume-messages
Read records from topics, from an offset, timestamp, earliest or latest
get-partition-offsets
Show low and high watermarks and message counts per partition of a topic
list-consumer-groups
List the consumer groups on a cluster
describe-consumer-group
Show a consumer group's state, protocol and member assignments
get-consumer-group-lag
Compute committed offset and lag per partition for one consumer group
get-topic-config
Read a topic's configuration
alter-topic-config
Change a topic's configuration on Confluent Cloud
create-flink-statement
Submit a Flink SQL statement
list-flink-statements
List Flink SQL statements with filtering and paging
get-flink-statement-results
Fetch the rows a Flink SQL statement produced
delete-flink-statements
Delete a Flink SQL statement
get-flink-statement-exceptions
Return the latest exceptions raised by a Flink statement
check-flink-statement-health
Rate a Flink statement as healthy, warning or critical
detect-flink-statement-issues
Look for problems in a Flink statement from its status, errors and metrics
get-flink-statement-profile
Return query profiler data and the task graph for a Flink statement
list-compute-pools
List the Flink compute pools in an environment
list-flink-catalogs
List Flink catalogs
list-flink-tables
List the tables in a Flink database
describe-flink-table
Show column names and types of a Flink table
list-connectors
List the active Kafka Connect connectors
get-connector-config
Read a connector's full configuration
get-connector-status
Show a connector's state and its tasks, with failure traces
get-connector-error-summary
Summarize a connector's current errors
get-connector-error-recommendations
Suggest fixes for a failed connector
get-connector-logs
Fetch recent connector log entries, the last hour of errors by default
create-connector
Create a new connector
update-connector-config
Replace a connector's configuration in full
pause-connector
Pause a connector and its tasks
restart-connector
Restart a connector and its tasks
delete-connector
Delete a connector
list-schemas
List the schemas in Schema Registry
create-schema
Register a schema or a new version under a subject
delete-schema
Delete a subject or one version of it
list-tags
List tag definitions in the catalog
create-topic-tags
Define new tags
add-tags-to-topic
Attach existing tags to topics
delete-tag
Delete a tag definition
search-topics-by-tag
Find topics carrying a given tag
search-topics-by-name
Find topics whose name matches a search
list-organizations
List the Confluent Cloud organizations the credentials can see
list-environments
List Confluent Cloud environments
list-clusters
List the clusters in an environment
list-tableflow-topics
List topics that have Tableflow enabled
create-tableflow-topic
Turn on Tableflow for a topic
delete-tableflow-topic
Turn off Tableflow for a topic
list-tableflow-regions
List the regions where Tableflow runs
create-tableflow-catalog-integration
Link Tableflow to an outside catalog such as AWS Glue
list-tableflow-catalog-integrations
List Tableflow catalog integrations
list-available-metrics
List the Confluent Cloud metrics and filter fields that can be queried
query-metrics
Query Confluent Cloud operational metrics
list-billing-costs
Return billing costs for an organization over a date range
search-product-docs
Search Confluent documentation by keyword
get-product-doc-page
Fetch a Confluent documentation page as markdown
explain-disabled-tools
Say why a tool is not enabled under the current config
list-configured-connections
List configured connections and the tools each one enables
config-help
Suggest the YAML needed to turn on a given tool

Similar servers