Apache Pinot + Claude Code: Complete MCP Integration
Apache Pinot is a MCP server that MCP server for Apache Pinot real-time analytics database with SQL query capabilities and metadata access.
When integrated with Claude Code, you can:
- List and inspect Apache Pinot tables
- View and analyze table segments
- Retrieve and analyze table schemas
This guide provides step-by-step instructions to set up Apache Pinot in Claude Code, including configuration, examples, and troubleshooting.
What You'll Achieve
After completing this setup:
- Apache Pinot will be fully integrated and operational
- You can use Apache Pinot tools directly in Claude Code
- All Apache Pinot capabilities will be available for your workflows
- Access to 5 different tools
Prerequisites
Before starting, ensure you have:
- Apache Pinot broker hostname
- Apache Pinot broker port
- Claude Code installed and configured
- Compatible operating system (Windows, macOS, Linux)
Installation
Step 1: Install Apache Pinot
Configuration
Step 2: Configure Claude Code
- Install Claude Code
Download and install Claude Code from the official website
Visit: https://claude.ai/code
Note: Claude Code is available as a native application, not via npm
- Navigate to Project
Open terminal in your project directory where you want to use the MCP server
- Install MCP Server
Install the MCP server you want to use (e.g., via npm, pip, or other package manager)
- Configure MCP Server
Add MCP server configuration to project CLAUDE.md file or use --mcp-config flag
Note: CLAUDE.md is preferred for project-specific configuration
- Test Integration
Start Claude Code and verify MCP server is working
claude
Note: Use interactive mode to test MCP server functionality
Configuration Details
Add to your project's CLAUDE.md file:
## MCP Servers
### Apache Pinot
- **Installation**: apache pinot
- **Configuration**: "PINOT_BROKER_HOST": "localhost",
"PINOT_BROKER_PORT": "9000"
- **Description**: MCP server for Apache Pinot real-time analytics database with SQL query capabilities and metadata access
Claude Code will automatically detect and load MCP servers from your project context.
Examples
Once configured, you can use Apache Pinot in Claude Code:
List All Tables
Get overview of available Pinot tables
Ask Claude Code: "Show me all the tables available in the Pinot cluster"
Expected Result: List of table names with basic metadata and schema information
Execute Analytics Query
Run SQL query for real-time analytics
Ask Claude Code: "SELECT COUNT(*) FROM events WHERE timestamp > now() - 3600000"
Expected Result: Query results showing event count for last hour
Analyze Table Structure
Get detailed schema information for a table
Ask Claude Code: "Show me the schema and structure of the user_events table"
Expected Result: Table schema with column names, types, and index information
Generate Data Visualization
Create histogram plots from query results
Ask Claude Code: "Create a histogram showing user activity distribution by hour"
Expected Result: Histogram visualization with data aggregated by time buckets
Testing Your Setup
- Run claude in your project directory
- Ask Claude to list available tools and verify Apache Pinot tools are present
- Test Apache Pinot functionality by asking Claude to use specific tools
Test commands:
claude
claude --debug
Troubleshooting
Common Issues
uv Command Not Found
Symptoms: Command not found error, uv: command not found
Cause: uv package manager not installed
Solution:
- Install uv using: curl -LsSf https://astral.sh/uv/install.sh | sh
- Restart terminal or source shell configuration
- Verify installation with: uv --version
Pinot Connection Failed
Symptoms: Connection refused, Broker unreachable, Network timeout
Cause: Invalid Pinot broker configuration or cluster not running
Solution:
- Verify PINOT_BROKER_HOST and PINOT_BROKER_PORT in .env file
- Check Pinot cluster is running and accessible
- Test connection: telnet <broker_host> <broker_port>
- Ensure firewall allows connections to Pinot broker
Environment Variables Not Loaded
Symptoms: Config missing errors, Default values being used
Cause: .env file not found or incorrectly formatted
Solution:
- Create .env file in repository root directory
- Copy from .env.example and modify values
- Ensure no spaces around = in variable assignments
- Restart MCP server after configuration changes
Claude Desktop Not Recognizing Server
Symptoms: Server not appearing, Connection errors in Claude
Cause: Incorrect claude_desktop_config.json configuration
Solution:
- Verify path to uv binary in command field
- Ensure correct path to mcp-pinot repository
- Restart Claude Desktop after configuration changes
- Check Claude Desktop logs for error messages
Server Not Found
Symptoms: Command not found errors, Server tools unavailable
Cause: Server not installed or not in PATH
Solution:
- Verify server installation
- Check PATH environment variable
- Install server globally or in project
Configuration Not Loaded
Symptoms: CLAUDE.md changes not recognized, Old server config used
Cause: CLAUDE.md file not in correct location or format
Solution:
- Ensure CLAUDE.md is in project root
- Verify markdown syntax is correct
- Restart Claude Code session
Apache Pinot not appearing in Claude Code
Symptoms: Server not listed, Tools not available
Cause: Configuration or installation issue
Solution:
- Verify configuration syntax
- Check Apache Pinot installation
- Restart Claude Code
- Check logs for error messages
Next Steps
Now that Apache Pinot is integrated with Claude Code:
- Explore all Apache Pinot capabilities through Claude Code
- Check out other MCP servers that work with Claude Code
- Join the MCP community for tips and support
- Consider contributing to Apache Pinot development
Need Help?
- Search for Apache Pinot documentation
- Check the Claude Code MCP guide
- Join the MCP community discussions