powerdrill-mcp-gateway
An intermediary service conforming to the Model Context Protocol (MCP) for authenticated access and operational control over Powerdrill analytical data assets. Capabilities include inventory listing, granular metadata retrieval, and automated job initiation via natural language instructions, designed for frictionless incorporation into contemporary analytical ecosystems.
Author

powerdrillai
Quick Info
Actions
Tags
Powerdrill MCP Server Interface
This Model Context Protocol (MCP) service facilitates secure interaction with Powerdrill's data repositories. Authentication is secured using the mandated Powerdrill User ID and the associated Project API Key.
Access Powerdrill's AI-driven data analytics platform for individual or team utilization at https://powerdrill.ai/.
If you possess the requisite Powerdrill User ID and Project API Key for your organization, data manipulation is accessible through open-source Powerdrill web clients: - Node.js Implementation: Available at https://flow.powerdrill.ai/, or explore the source code on GitHub: https://github.com/powerdrillai/powerdrill-flow. - Python Implementation (Streamlit): Accessible via https://powerdrill-flow.streamlit.app/, or review the source repository at https://github.com/powerdrillai/powerdrill-flow-streamlit.
Core Functionality
- Establish secure authentication linkage with Powerdrill utilizing User ID and Project API Key credentials.
- Enumerate all accessible datasets within your Powerdrill tenancy.
- Fetch comprehensive descriptive information for any specified dataset.
- Orchestrate and dispatch analytical jobs against datasets using conversational (natural language) prompts.
- Provide seamless integration hooks for Claude Desktop and other MCP-compliant client applications.
Deployment Instructions
Installation via Smithery
For automated integration into Claude Desktop using the Smithery registry:
bash npx -y @smithery/cli install @powerdrillai/powerdrill-mcp --client claude
From npm Package Manager
bash
Global installation
npm install -g @powerdrillai/powerdrill-mcp
Or execute directly using npx
npx @powerdrillai/powerdrill-mcp
Compilation from Source
Clone the repository and resolve dependencies:
bash git clone https://github.com/yourusername/powerdrill-mcp.git cd powerdrill-mcp npm install
Command Line Interface (CLI) Execution
If installed globally:
bash
Initiate the MCP server process
powerdrill-mcp
If utilizing npx:
bash
Invoke the most current version
npx -y @powerdrillai/powerdrill-mcp@latest
Before starting, configure the necessary environment variables holding your Powerdrill access tokens:
bash
Set required credential environment variables
export POWERDRILL_USER_ID="your_user_id" export POWERDRILL_PROJECT_API_KEY="your_project_api_key"
Alternatively, populate these values within a dedicated .env configuration file.
Prerequisites
Operational use of this MCP server necessitates an active Powerdrill account and valid API credentials (specifically, the User ID and API Key).
Acquisition procedure: 1. Register for a Powerdrill Team account if one is not presently held. 2. Navigate to the account configuration panel. 3. Locate the API management section to retrieve: - User ID: The unique client identifier. - API Key: The secret token authorizing API operations.
Consult the following instructional videos for guidance:
Expedited Setup Procedure
The most rapid deployment path involves executing the supplied setup script:
bash
Grant execution permissions to the script
chmod +x setup.sh
Execute the setup script
./setup.sh
This script performs the following actions:
1. Installs all required dependencies.
2. Compiles the underlying TypeScript source code.
3. Creates a .env file if it is absent.
4. Generates configuration artifacts tailored for Claude Desktop and Cursor, optimized for the npx execution method (recommended).
Subsequent to execution, modify the generated .env file to substitute placeholders with your actual credentials:
POWERDRILL_USER_ID=your_actual_user_id POWERDRILL_PROJECT_API_KEY=your_actual_project_api_key
Ensure that these credentials are also updated within any configuration files generated for client integration prior to operational commencement.
Manual Installation Flow
For configuration without the setup utility:
bash
Install all necessary dependencies
npm install
Compile the codebase
npm run build
Duplicate the environment template file
cp .env.example .env
Edit the newly created .env file to insert your security tokens
Execution Guide
Starting the Server Endpoint
bash npm start
Integrating with Claude Desktop
- Launch Claude Desktop.
- Navigate to Settings > Server Settings.
- Introduce a new server entry using one of the following configuration structures:
Configuration Variant 1: Utilizing npx (Preferred Method)
{ "powerdrill": { "command": "npx", "args": [ "-y", "@powerdrillai/powerdrill-mcp@latest" ], "env": { "POWERDRILL_USER_ID": "your_actual_user_id", "POWERDRILL_PROJECT_API_KEY": "your_actual_project_api_key" } } }
Configuration Variant 2: Direct Node Invocation (Local Install)
{ "powerdrill": { "command": "node", "args": ["/path/to/powerdrill-mcp/dist/index.js"], "env": { "POWERDRILL_USER_ID": "your_actual_user_id", "POWERDRILL_PROJECT_API_KEY": "your_actual_project_api_key" } } }
- Persist the configuration changes.
- Restart Claude Desktop to activate the new tool integration.
Integrating with Cursor
- Open the Cursor application.
- Access Settings > MCP Tools interface.
- Add a new MCP utility, employing one of the ensuing configuration definitions:
Configuration Variant 1: Utilizing npx (Preferred Method)
{ "powerdrill": { "command": "npx", "args": [ "-y", "@powerdrillai/powerdrill-mcp@latest" ], "env": { "POWERDRILL_USER_ID": "your_actual_user_id", "POWERDRILL_PROJECT_API_KEY": "your_actual_project_api_key" } } }
Configuration Variant 2: Direct Node Invocation (Local Install)
{ "powerdrill": { "command": "node", "args": ["/path/to/powerdrill-mcp/dist/index.js"], "env": { "POWERDRILL_USER_ID": "your_actual_user_id", "POWERDRILL_PROJECT_API_KEY": "your_actual_project_api_key" } } }
- Save the configuration settings.
- A restart of Cursor may be necessary for full tool activation.
Leveraging the Tools
Once connectivity is validated, these Powerdrill utilities can be invoked within interactions with Claude Desktop, Cursor, Cline, Windsurf, and other compatible conversational interfaces:
- Dataset Inventory: Respond to queries like:
Enumerate the datasets available within my Powerdrill tenancy?orProvide a manifest of all my datasets - Dataset Generation: Commands such as:
Provision a new data container named "Q3 Sales Metrics"orInstantiate a new data asset titled "Client Demographics" with the description "2024 market survey results" - Data Ingestion from Local Source: Use commands like:
Ingest the file /Users/user/docs/transaction_log.csv into dataset {dataset_id}orAppend my local file /data/raw/archive.zip to the existing {dataset_id} container - Dataset Summary: Request details with:
Furnish an executive summary for this data container: {dataset_id}orDetail the schema of data container {dataset_id} - Job Submission: Initiate analysis via prompts like:
Execute an analysis on {dataset_id} addressing this inquiry: "What factors correlate most highly with customer churn?"orFormulate a query against {dataset_id} seeking "Identify the top 5 geographic regions by sales volume in Q2?" - Session Initialization: Start a new context with:
Launch an analytical workspace designated "Q2 Performance Review"orInitiate a new processing context named "User Behavior Segmentation" for deep dive analysis - Data Source Listing: Query with:
What constituent data sources populate dataset {dataset_id}?orList every file component within the {dataset_id} collection - Session Manifest: Retrieve active contexts via:
Display all active analysis contexts I possessorGenerate a roster of my recent data processing sessions
Available MCP Operations
mcp_powerdrill_list_datasets
Retrieves the inventory of accessible datasets associated with your Powerdrill credential set.
Parameters:
- limit (Optional): Sets the maximum cardinality of the dataset list returned.
Example Response:
{ "datasets": [ { "id": "dataset-dasfadsgadsgas", "name": "mydata", "description": "my dataset" } ] }
mcp_powerdrill_get_dataset_overview
Fetches in-depth metadata and contextual information pertaining to a singular, specified dataset.
Parameters:
- datasetId (Mandatory): The unique identifier of the target dataset.
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
Submits a new analytical execution task utilizing a natural language prompt against specified data.
Parameters:
- question (Mandatory): The natural language query or directive for data examination.
- dataset_id (Mandatory): Identifier for the data asset under scrutiny.
- datasource_ids (Optional): An array specifying particular data source identifiers within the dataset to include in the analysis.
- session_id (Optional): Identifier linking this job to a larger analytical session.
- stream (Optional, Default: false): Boolean indicating if results should be returned incrementally.
- output_language (Optional, Default: "AUTO"): Preferred language for the resulting output.
- job_mode (Optional, Default: "AUTO"): Operational mode setting for the job execution.
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
Establishes a novel analytical session for logically grouping related subsequent operations.
Parameters:
- name (Mandatory): The designation for the session (max 128 characters).
- output_language (Optional, Default: "AUTO"): Target language for generated results. Permitted values: "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"): Operational paradigm for the session. Options: "AUTO", "DATA_ANALYTICS".
- max_contextual_job_history (Optional, Default: 10): The upper limit (0-10) on recent jobs retained for contextual awareness in subsequent jobs.
- agent_id (Optional, Default: "DATA_ANALYSIS_AGENT"): Identifier for the processing agent to utilize.
Example Response:
{ "session_id": "session-abcdefghijklmnopqrstuvwxyz" }
mcp_powerdrill_list_data_sources
Retrieves a paginated list of constituent data sources contained within a specified dataset.
Parameters:
- datasetId (Mandatory): The identifier of the parent dataset.
- pageNumber (Optional, Default: 1): Which page of results to fetch.
- pageSize (Optional, Default: 10): The maximum quantity of items per page.
- status (Optional): Filter applied to data sources based on their state: synching, invalid, synched (use comma separation for multiple criteria).
Example Response:
{ "count": 3, "total": 5, "page": 1, "page_size": 10, "data_sources": [ { "id": "dsource-a1b2c3d4e5f6g7h8i9j0", "name": "sales_data.csv", "type": "CSV", "status": "synched", "size": 1048576, "dataset_id": "dset-cm5axptyyxxx298" }, { "id": "dsource-b2c3d4e5f6g7h8i9j0k1", "name": "customer_info.xlsx", "type": "EXCEL", "status": "synched", "size": 2097152, "dataset_id": "dset-cm5axptyyxxx298" }, { "id": "dsource-c3d4e5f6g7h8i9j0k1l2", "name": "market_research.pdf", "type": "PDF", "status": "synched", "size": 3145728, "dataset_id": "dset-cm5axptyyxxx298" } ] }
mcp_powerdrill_list_sessions
Provides a manifest of analytical sessions registered under the user's account.
Parameters:
- pageNumber (Optional): The requested result page index (Default: 1).
- pageSize (Optional): The quantity of session entries per page (Default: 10).
- search (Optional): A string query to filter sessions by their assigned name.
Example Response:
{ "count": 2, "total": 2, "sessions": [ { "id": "session-123abc", "name": "Product Analysis", "job_count": 3, "created_at": "2024-03-15T10:30:00Z", "updated_at": "2024-03-15T11:45:00Z" }, { "id": "session-456def", "name": "Financial Forecasting", "job_count": 5, "created_at": "2024-03-10T14:20:00Z", "updated_at": "2024-03-12T09:15:00Z" } ] }
mcp_powerdrill_create_dataset
Provisions a new, empty data container within the Powerdrill system.
Parameters:
- name (Mandatory): The chosen identifier for the new dataset (max 128 characters).
- description (Optional): A brief explanatory text for the dataset (max 128 characters).
Example Response:
{ "id": "dataset-adsdfasafdsfasdgasd", "message": "Dataset created successfully" }
mcp_powerdrill_create_data_source_from_local_file
Initiates the upload and registration of a file from the local system as a data source within a specified container.
Parameters:
- dataset_id (Mandatory): The target container ID receiving the file.
- file_path (Mandatory): The absolute or relative path to the file to be uploaded.
- file_name (Optional): A specific name to assign to the uploaded data source; defaults to the source file's basename.
- chunk_size (Optional, Default: 5MB): The byte size utilized for segmenting the file during multipart transfer.
Example Response:
{ "dataset_id": "dset-cm5axptyyxxx298", "data_source": { "id": "dsource-a1b2c3d4e5f6g7h8i9j0", "name": "sales_data_2024.csv", "type": "FILE", "status": "synched", "size": 2097152 }, "file": { "name": "sales_data_2024.csv", "size": 2097152, "object_key": "uploads/user_123/sales_data_2024.csv" } }
Issue Resolution Guidance
If operational difficulties arise:
- Confirm that all required credentials are accurately populated within the
.envfile. - Verify successful server initialization via the
npm startcommand output. - Validate that Claude Desktop configuration correctly specifies the execution path for the server.
- Scrutinize the console logs for any reported error diagnostics.
Licensing Information
MIT
WIKIPEDIA: Business management tools encompass all systemic applications, computational frameworks, regulatory controls, analytical methodologies, etc., employed by commercial entities to effectively navigate evolving market conditions, secure competitive advantages, and attain superior organizational performance.
== Conceptual Framework == Tools can be functionally categorized according to the specific organizational division they serve and the management aspect they address (e.g., forecasting, workflow optimization, record-keeping, personnel administration, decision support, oversight mechanisms). A functional taxonomy might delineate:
- Utilities dedicated to data ingestion and veracity checks across all units.
- Systems designed for monitoring and enhancing operational sequences.
- Platforms focused on data aggregation and strategic insight generation. Technological advancement has spurred rapid evolution in management utilities over the last decade, complicating the selection of optimal business tools for diverse corporate contexts. This complexity is driven by continuous pressure to reduce overhead, maximize revenue, deeply understand client demands, and deliver products precisely matching those needs. Consequently, organizational leaders must adopt a strategic perspective on tool acquisition and integration, prioritizing adaptation to internal requirements over blindly adopting the newest available technology. Improper implementation or selection leads to instability.
== Prevalent Instruments == A 2013 survey by Bain & Company mapped the global adoption of business instruments, reflecting regional priorities based on market dynamics. The leading ten included:
Strategic planning Client relationship governance (CRM) Personnel sentiment assessments Comparative performance analysis (Benchmarking) Integrated performance measurement (Balanced Scorecard) Identification of core organizational strengths Outsourcing strategy management Organizational transition programs Value chain coordination Articulated organizational purpose and aspiration statements Market demographic breakdown (Segmentation) Comprehensive quality assurance (TQM)
== Enterprise Software Applications == Computer programs or suites utilized by professional staff to execute varied corporate functions are termed business software or applications. These are designed to amplify productivity, measure throughput, and execute diverse enterprise tasks with precision. The progression moved from basic Management Information Systems (MIS) to comprehensive Enterprise Resource Planning (ERP), subsequently incorporating Customer Relationship Management (CRM) components, culminating in the current domain of cloud-based business management suites. While a direct link exists between IT investment and organizational output, value realization hinges critically on effective deployment strategies and the judicious selection and customization of the underlying technological instruments.
== Instruments Tailored for Small and Medium Enterprises (SMEs) == Tools specifically engineered for SMEs are vital as they furnish mechanisms for resource conservation, scale enablement, and competitive parity...


