The Lenses MCP Server enables AI assistants to interact with Apache Kafka ecosystems through natural language, providing comprehensive management and monitoring capabilities.
Core Capabilities:
Environment Management - List, create, retrieve, and check health of Lenses environments with tier-based configurations (development/staging/production), including agent connection monitoring
Kafka Connector Operations - Full lifecycle management including listing (with filtering by cluster/class), creating, validating configurations, controlling actions (start/stop/restart/pause/resume), restarting tasks, deleting connectors, and retrieving connector definitions in YAML format
Consumer Group Management - List consumer groups (with optional topic filtering), update/delete offsets at various granularities (group or topic-partition level), and delete entire consumer groups
SQL Processing & Querying - Execute SQL queries against Kafka topics via WebSocket API, manage SQL processors (list, create, retrieve, delete), and view available deployment targets for Kubernetes and Connect clusters
Topic Management - List and retrieve topics with detailed information (partitions, broker configurations), create topics with or without schemas (AVRO, JSON, CSV, XML formats), update configurations, add partitions, and resend messages by partition and offset
Dataset & Metadata Management - List datasets with pagination and advanced filtering, retrieve dataset details including fields and policies, get message metrics, and update topic descriptions and tags
Monitoring & Operations - Access Kubernetes pod logs, monitor partition-level metrics (message counts and bytes), track consumer group activity and lag, and check health status across environments and connectors
Provides integration with Apache Kafka through Lenses.io, enabling exploration, transformation, and joining of data in Kafka topics across multiple clusters using SQL queries without requiring an additional database.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Lenses MCP Servershow me the latest messages from the orders topic in the production cluster"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
๐๐ Lenses MCP Server for Apache Kafka ๐๐
This is the Lenses MCP (Model Context Protocol) server for Apache Kafka. Lenses offers a developer experience solution for engineers building real-time applications connected to Kafka. It's built for the enterprise and backed by a powerful IAM and governance model.
With Lenses, you can find, explore, transform, integrate and replicate data across a multi-Kafka and vendor estate. Now, all this power is accessible through your AI Assistant or Agent via this Lenses MCP Server for Kafka.
See it explained and in action whilst walking through the streets of New York city!
Try it today with the free Lenses Community Edition (restricted by number of users and enterprise features). Lenses CE comes with a pre-configured single broker Kafka cluster, ideal for local development or demonstration. Connect up to two of your own Kafka clusters and then use natural language to interact with your streaming data.
Table of Contents
1. Install uv and Python
We use uv for dependency management and project setup. If you don't have uv installed, follow the official installation guide.
This project has been built using Python 3.12 and to make sure Python is correctly installed, run the following command to check the version.
2. Configure Environment Variables
Copy the example environment file.
Open .env and fill in the required values such as your Lenses instance details and Lenses API key.
3. Add Lenses API Key
Create a Lenses API key by creating an IAM Service Account. Add the API key to .env with the variable name, LENSES_API_KEY.
4. Install Dependencies and Run the Server
Use uv to create a virtual environment, install the project dependencies in it and then run the MCP server with the FastMCP CLI using the default stdio transport.
To run as a remote server, use the http transport.
To run in Claude Desktop, Gemini CLI, Cursor, etc. use the following JSON configuration.
Note: Some clients may require the absolute path to uv in the command.
5. Optional Context7 MCP Server
Lenses documentation is available on Context7. It is optional but highly recommended to use the Context7 MCP Server and adjust your prompts with use context7 to ensure the documentation available to the LLM is up to date.
6. Running with Docker
The Lenses MCP server is available as a Docker image at lensesio/mcp. You can run it with different transport modes depending on your use case.
Quick Start
Run the server with stdio transport (default):
Run the server with HTTP transport (listens on http://0.0.0.0:8000/mcp):
Run the server with SSE transport (listens on http://0.0.0.0:8000/sse):
Environment Variables
Variable | Required | Default | Description |
| Yes | - | Your Lenses API key (create via IAM Service Account) |
| No |
| Lenses instance URL in format |
| No |
| Transport mode: |
| No |
| Port to listen on (only used with |
Legacy environment variables (for backward compatibility):
LENSES_API_HTTP_URL,LENSES_API_HTTP_PORTLENSES_API_WEBSOCKET_URL,LENSES_API_WEBSOCKET_PORT
These are automatically derived from LENSES_URL but can be explicitly set to override.
Transport Endpoints
stdio: Standard input/output (no network endpoint)
http: HTTP endpoint at
/mcpsse: Server-Sent Events endpoint at
/sse
Building the Docker Image
To build the Docker image locally: