
How to add Confluent MCP Server to Windsurf
Manage Confluent Cloud, Confluent Platform & Apache Kafka via natural language — 50+ tools across Kafka, Flink, Schema Registry & more. Paste the config into ~/.codeium/windsurf/mcp_config.json and restart Windsurf.
Last updated June 14, 2026 · 160★ · stdio · apikey · official
Windsurf config for Confluent MCP Server
npx -y @confluentinc/mcp-confluent{
"mcpServers": {
"confluent-mcp-server": {
"command": "npx",
"args": [
"-y",
"@confluentinc/mcp-confluent",
"--config",
"/path/to/config.yaml"
]
}
}
}Setup steps
- 1Open Windsurf → Cascade → the hammer/MCP icon → Configure (or edit ~/.codeium/windsurf/mcp_config.json).
- 2Paste the Confluent MCP Server config below.
- 3Fill in placeholder secrets, then save.
- 4Click Refresh in the MCP panel.
- 5Confluent MCP Server's tools become available to Cascade.
Before you start
- Node.js 22 or later
- A config.yaml file (generate with `npx @confluentinc/mcp-confluent --init-config`)
- For Confluent Cloud: a Confluent Cloud account with API keys, or OAuth sign-in credentials
- For local/Confluent Platform: a Kafka and/or Schema Registry endpoint
- pnpm only if building from source
What Confluent MCP Server can do in Windsurf
search-product-docsSearch Confluent product documentation (docs.confluent.io, developer.confluent.io, support.confluent.io) by keyword.
get-product-doc-pageFetch the full markdown content of a Confluent product documentation page.
explain-disabled-toolsExplain why a tool is missing or unavailable (e.g., why a Kafka tool can't be listed).
list-configured-connectionsList every configured connection and the connection-routable tools you can invoke against each.
describe-configured-connectionDescribe one configured connection by id: its non-secret config (type, endpoints, resource ids) and tool availability.
list-topicsList all topics in the Kafka cluster.
create-topicsCreate one or more Kafka topics with an optional partition count and replication factor.
delete-topicsDelete the topics with the given names.
Security
Authenticates to Confluent Cloud via static API keys in config.yaml or OAuth (PKCE). For HTTP/SSE transports, generate an API key with `npx @confluentinc/mcp-confluent --generate-key` and set it under server.auth.api_key; --disable-auth should only be used in development. Includes DNS rebinding protection via --allowed-hosts. Telemetry is collected by default and can be disabled with DO_NOT_TRACK=true.
Confluent MCP Server + Windsurf FAQ
Where is the Windsurf config file?
Windsurf reads MCP servers from ~/.codeium/windsurf/mcp_config.json. Paste the Confluent MCP Server config there under the "mcpServers" key and restart the client.
Is Confluent MCP Server safe to use with Windsurf?
Authenticates to Confluent Cloud via static API keys in config.yaml or OAuth (PKCE). For HTTP/SSE transports, generate an API key with `npx @confluentinc/mcp-confluent --generate-key` and set it under server.auth.api_key; --disable-auth should only be used in development. Includes DNS rebinding protection via --allowed-hosts. Telemetry is collected by default and can be disabled with DO_NOT_TRACK=true.
Is this an official Confluent project?
Yes. It is published by the confluentinc organization on GitHub and distributed as the npm package @confluentinc/mcp-confluent under the MIT license.
How do I authenticate to Confluent Cloud?
Two ways: static API keys defined in config.yaml, or OAuth (PKCE) which opens a browser sign-in on the first tool call that needs Confluent access. OAuth currently covers a subset of tool categories (Kafka, Schema Registry, Cloud resource listing, Billing); the rest still require a direct connection with static API keys.
Why don't all the tools show up?
Tools are auto-enabled based on which service blocks are present in your resolved config.yaml. Run `npx @confluentinc/mcp-confluent --list-tools` or invoke the explain-disabled-tools MCP tool to see which are active and why others are absent.