What is A Model Context Protocol (MCP) server that provides tools to interact with Powerdrill datasets.?
Powerdrill MCP Server is a Model Context Protocol (MCP) server that provides tools to interact with Powerdrill datasets, authenticated with Powerdrill User ID and Project API Key. It allows users to list available datasets, get detailed information about specific datasets, create and run jobs on datasets with natural language questions, and integrate with Claude Desktop and other MCP-compatible clients.
Documentation
Powerdrill MCP Server
A Model Context Protocol (MCP) server that provides tools to interact with Powerdrill datasets, authenticated with Powerdrill User ID and Project API Key.
Please go to https://powerdrill.ai/ for AI data analysis individually or use with your Team.
If you have the Powerdrill User ID and Project API Key of your Team, you can manipulate the data via Powerdrill open sourced web clients:
Also update the credentials in the generated configuration files before using them.
Manual Installation
If you prefer to set up manually:
npm install
# Build the TypeScript code
npm run build
# Copy the environment example file
cp .env.example .env
# Edit the .env file with your credentials
Usage# Running the server
npm start
Integrating with Claude Desktop
Open Claude Desktop
Go to Settings > Server Settings
Add a new server with one of the following configurations:
Once connected, you can use the Powerdrill tools in your conversations with Claude Desktop, Cursor, Cline, Windsurf, etc.:
List datasets: What datasets are available in my Powerdrill account? or Show me all my datasets
Create dataset: Create a new dataset called "Sales Analytics" or Make a new dataset named "Customer Data" with description "Customer information for 2024 analysis"
Create data source from local file: Upload the file /Users/your_name/Downloads/sales_data.csv to dataset {dataset_id} or Add my local file /path/to/customer_data.xlsx to my {dataset_id} dataset
Get dataset overview: Tell me more about this dataset: {dataset_id} or Describe the structure of dataset {dataset_id}
Create a job: Analyze dataset {dataset_id} with this question: "How has the trend changed over time?" or Run a query on {dataset_id} asking "What are the top 10 customers by revenue?"
Create a session: Create a new session named "Sales Analysis 2024" for my data analysis or Start a session called "Customer Segmentation" for analyzing market data
List data sources: What data sources are available in dataset {dataset_id}? or Show me all files in the {dataset_id} dataset
List sessions: Show me all my current analysis sessions or List my recent data analysis sessions
Available Tools# mcp_powerdrill_list_datasets
Lists available datasets from your Powerdrill account.
Parameters:
limit (optional): Maximum number of datasets to return
Gets detailed overview information about a specific dataset.
Parameters:
datasetId (required): The ID of the dataset to get overview information for
Example response:
{
"id": "dset-cm5axptyyxxx298",
"name": "sales_indicators_2024",
"description": "A dataset comprising 373 travel bookings with 15 attributes...",
"summary": "This dataset contains 373 travel bookings with 15 attributes...",
"exploration_questions": [
"How does the booking price trend over time based on the BookingTimestamp?",
"How does the average booking price change with respect to the TravelDate?"
],
"keywords": [
"Travel Bookings",
"Booking Trends",
"Travel Agencies"
]
}
mcp_powerdrill_create_job
Creates a job to analyze data with natural language questions.
Parameters:
question (required): The natural language question or prompt to analyze the data
dataset_id (required): The ID of the dataset to analyze
datasource_ids (optional): Array of specific data source IDs within the dataset to analyze
session_id (optional): Session ID to group related jobs
stream (optional, default: false): Whether to stream the results
output_language (optional, default: "AUTO"): The language for the output
job_mode (optional, default: "AUTO"): The job mode
Example response:
{
"job_id": "job-cm3ikdeuj02zk01l1yeuirt77",
"blocks": [
{
"type": "CODE",
"content": "```python\nimport pandas as pd\n\ndef invoke(input_0: pd.DataFrame) -> pd.DataFrame:\n...",
"stage": "Analyze"
},
{
"type": "TABLE",
"url": "https://static.powerdrill.ai/tmp_datasource_cache/code_result/...",
"name": "trend_data.csv",
"expires_at": "2024-11-21T09:56:34.290544Z"
},
{
"type": "IMAGE",
"url": "https://static.powerdrill.ai/tmp_datasource_cache/code_result/...",
"name": "Trend of Deaths from Natural Disasters Over the Century",
"expires_at": "2024-11-21T09:56:34.290544Z"
},
{
"type": "MESSAGE",
"content": "Analysis of Trends in the Number of Deaths from Natural Disasters...",
"stage": "Respond"
}
]
}
mcp_powerdrill_create_session
Creates a new session to group related jobs together.
Parameters:
name (required): The session name, which can be up to 128 characters in length
output_language (optional, default: "AUTO"): The language in which the output is generated. Options include: "AUTO", "EN", "ES", "AR", "PT", "ID", "JA", "RU", "HI", "FR", "DE", "VI", "TR", "PL", "IT", "KO", "ZH-CN", "ZH-TW"
job_mode (optional, default: "AUTO"): Job mode for the session. Options include: "AUTO", "DATA_ANALYTICS"
max_contextual_job_history (optional, default: 10): The maximum number of recent jobs retained as context for the next job (0-10)
agent_id (optional, default: "DATA_ANALYSIS_AGENT"): The ID of the agent