Apache Pinot + mcp-use: 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 mcp-use, 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 mcp-use, 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 mcp-use
- 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
- mcp-use installed and configured
- Compatible operating system (Python 3.8+, Node.js 16+, pip Installation, npm/yarn Installation)
Installation
Step 1: Install Apache Pinot
Configuration
Step 2: Configure mcp-use
- Open mcp-use settings
- Navigate to MCP server configuration
- Add Apache Pinot server with appropriate settings
- Save and restart if needed
Examples
Once configured, you can use Apache Pinot in mcp-use:
List All Tables
Get overview of available Pinot tables
Ask mcp-use: "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 mcp-use: "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 mcp-use: "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 mcp-use: "Create a histogram showing user activity distribution by hour"
Expected Result: Histogram visualization with data aggregated by time buckets
Testing Your Setup
- Launch mcp-use
- Verify Apache Pinot is available in the tools list
- Test basic Apache Pinot functionality
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
Connection Refused or Server Unreachable
Symptoms: ECONNREFUSED error, Connection timeout, Cannot reach server
Cause: MCP server not running or incorrect URL
Solution:
- Verify MCP server is running and accessible
- Check server URL is correct (protocol, host, port, path)
- Test server URL in browser or with curl to confirm it responds
- Ensure firewall allows connections to server port
- Verify CORS settings if accessing from browser
Import Errors or Module Not Found
Symptoms: ModuleNotFoundError: mcp_use, Cannot find module "mcp-use"
Cause: Package not installed or wrong environment
Solution:
- Verify installation: pip show mcp-use (Python) or npm list mcp-use (JS)
- Ensure using correct Python virtual environment or Node.js project
- Reinstall package: pip install --upgrade mcp-use or npm install mcp-use
- Check package.json or requirements.txt includes mcp-use
Tool Discovery Returns Empty List
Symptoms: list_tools() returns [], No tools available, Tools not found
Cause: MCP server not properly configured or not exposing tools
Solution:
- Verify MCP server is properly initialized and configured
- Check server logs to confirm tools are registered
- Test server directly with MCP inspector or test client
- Ensure server implements MCP protocol correctly
- Verify transport type (HTTP/SSE) matches server configuration
Tool Execution Fails or Returns Errors
Symptoms: Tool call throws exception, Invalid arguments error, Execution timeout
Cause: Incorrect arguments or server-side execution failure
Solution:
- Verify tool arguments match schema definition from list_tools()
- Check required arguments are provided with correct types
- Review server logs for detailed error messages
- Test tool with minimal valid arguments first
- Increase timeout if tool requires longer execution time
LangChain.js Integration Not Working
Symptoms: getLangChainTools() fails, Tools not recognized by agent, Type errors
Cause: Version mismatch or incorrect integration setup
Solution:
- Ensure LangChain.js version is compatible with mcp-use
- Verify TypeScript version meets requirements
- Check tool schema conversion is working correctly
- Use latest versions of both mcp-use and LangChain.js
- Review LangChain.js documentation for agent setup
Transport Type Errors (HTTP vs SSE)
Symptoms: SSE connection fails, HTTP polling not working, Event stream errors
Cause: Mismatch between client transport and server capabilities
Solution:
- Verify server supports the transport type you are using
- Try alternative transport: switch between "http" and "sse"
- Check server documentation for supported transport types
- For SSE, ensure server sends proper Content-Type: text/event-stream
- For HTTP, verify server accepts POST requests with JSON payload
Apache Pinot not appearing in mcp-use
Symptoms: Server not listed, Tools not available
Cause: Configuration or installation issue
Solution:
- Verify configuration syntax
- Check Apache Pinot installation
- Restart mcp-use
- Check logs for error messages
Next Steps
Now that Apache Pinot is integrated with mcp-use:
- Explore all Apache Pinot capabilities through mcp-use
- Check out other MCP servers that work with mcp-use
- Join the MCP community for tips and support
- Consider contributing to Apache Pinot development
Need Help?
- Search for Apache Pinot documentation
- Check the mcp-use MCP guide
- Join the MCP community discussions