Pinot MCP Server
Provides tools for interacting with an Apache Pinot cluster, including listing tables, segments, and schema information, executing read-only SQL queries, and viewing index- and column-level metadata for real-time analytics.
Click on "Deploy 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., "@Pinot MCP Serverlist my Pinot tables and show the schema for the airlineStats table"
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.
Pinot MCP Server
Table of Contents
Related MCP server: Pinot MCP Server
Overview
This project is a Python-based Model Context Protocol (MCP) server for interacting with Apache Pinot. It is designed to integrate with Claude Desktop to enable real-time analytics and metadata queries on a Pinot cluster.
It allows you to
List tables, segments, and schema info from Pinot
Execute read-only SQL queries
View index/column-level metadata
Designed to assist business users via Claude integration
and much more.
Pinot MCP in Action
See Pinot MCP in action below:
Fetching Metadata

Fetching Data, followed by analysis
Prompt:
Can you do a histogram plot on the GitHub events against time

Sample Prompts
Once Claude is running, click the hammer 🛠️ icon and try these prompts:
Can you help me analyse my data in Pinot? Use the Pinot tool and look at the list of tables to begin with.
Can you do a histogram plot on the GitHub events against time
Quick Start
Prerequisites
Install uv (if not already installed)
uv is a fast Python package installer and resolver, written in Rust. It's designed to be a drop-in replacement for pip with significantly better performance.
curl -LsSf https://astral.sh/uv/install.sh | sh
# Reload your bashrc/zshrc to take effect. Alternatively, restart your terminal
# source ~/.bashrcInstallation
# Clone the repository
git clone https://github.com/startreedata/mcp-pinot.git
cd mcp-pinot
uv pip install -e . # Install dependencies
# For development dependencies (including testing tools), use:
# uv pip install -e .[dev] Configure Pinot Cluster
The MCP server expects a uvicorn config style .env file in the root directory to configure the Pinot cluster connection. This repo includes a sample .env.example file that assumes a pinot quickstart setup.
mv .env.example .envRun the server
uv --directory . run mcp_pinot/server.pyYou should see logs indicating that the server is running and listening on STDIO.
Launch Pinot Quickstart (Optional)
Start Pinot QuickStart using docker:
docker run --name pinot-quickstart -p 2123:2123 -p 9000:9000 -p 8000:8000 -d apachepinot/pinot:latest QuickStart -type batchQuery MCP Server
uv --directory . run tests/test_service/test_pinot_quickstart.pyThis quickstart just checks all the tools and queries the airlineStats table.
Claude Desktop Integration
Open Claude's config file
vi ~/Library/Application\ Support/Claude/claude_desktop_config.jsonAdd an MCP server entry
{
"mcpServers": {
"pinot_mcp_claude": {
"command": "/path/to/uv",
"args": [
"--directory",
"/path/to/mcp-pinot-repo",
"run",
"mcp_pinot/server.py"
],
"env": {
// You can also include your .env config here
}
}
}
}Replace /path/to/uv with the absolute path to the uv command, you can run which uv to figure it out.
Replace /path/to/mcp-pinot with the absolute path to the folder where you cloned this repo.
You could also configure environment variables here instead of the .env file, in case you want to connect to multiple pinot clusters as MCP servers.
Restart Claude Desktop
Claude will now auto-launch the MCP server on startup and recognize the new Pinot-based tools.
Using DXT Extension
Apache Pinot MCP server now supports DXT desktop extensions file
To use it, you first need to install dxt via
npm install -g @anthropic-ai/dxtthen you can run the following commands:
uv pip install -r pyproject.toml --target mcp_pinot/lib
uv pip install . --target mcp_pinot/lib
dxt packAfter this you'll get a .dxt file in your dir. Double click on that file to install it in claude desktop
Developer
All tools are defined in the
Pinotclass inutils/pinot_client.py
Build
Build the project with
pip install -e ".[dev]"Test
Test the repo with:
pytestBuild the Docker image
docker build -t mcp-pinot .Run the container
docker run -v $(pwd)/.env:/app/.env mcp-pinotNote: Make sure to have your .env file configured with the appropriate Pinot cluster settings before running the container.
This server cannot be deployed
Maintenance
Related MCP Connectors
List datasets, schemas, run APL queries, and use prompts for exploration, anomalies, and monitoring.
Query 40 databases from Claude, ChatGPT, or Cursor — on any device. Read-only, encrypted, audited.
Read-only analytics for Convex apps, queryable via MCP from Claude, Cursor, and other clients.
Search, access, and get insights on your Amplitude data
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables Claude Desktop to interact with MySQL, PostgreSQL, and Redis databases using natural language for data querying and schema analysis. It provides a secure interface with a default read-only mode to prevent unauthorized database modifications.116 npm941MIT
- AlicenseNot gradedqualityDmaintenanceEnables users to interact with Apache Pinot clusters through Claude Desktop for real-time analytics and metadata exploration. Supports listing tables, segments, and schemas, executing read-only SQL queries, and viewing index and column metadata.Apache 2.0
- AlicenseNot gradedqualityDmaintenanceEnables Claude Desktop to explore Apache Pinot metadata, list tables and segments, inspect schemas and indexes, and execute read-only SQL queries for real-time analytics.Apache 2.0
- AlicenseNot gradedqualityDmaintenanceEnables Claude Desktop users to inspect Apache Pinot tables, segments, schemas, and metadata, and to run read-only SQL queries for real-time analytics.Apache 2.0