Powerdrill MCP Server

Official

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Supports configuration of API credentials through .env files, making it easier to securely store and access Powerdrill authentication details.

  • Enables installation and distribution of the MCP server through the npm registry, supporting both global installation and direct execution with npx.

  • Mentions Powerdrill Flow Streamlit app as an alternative way to manipulate data in Powerdrill for users who have the appropriate credentials.

Powerdrill MCP 服务器

模型上下文协议 (MCP) 服务器提供与 Powerdrill 数据集交互的工具,并通过 Powerdrill 用户 ID 和项目 API 密钥进行身份验证。

请前往https://powerdrill.ai/进行个人 AI 数据分析或与您的团队一起使用。

如果您拥有团队的 Powerdrill 用户 ID 和项目 API 密钥,则可以通过 Powerdrill 开源 Web 客户端操作数据:

特征

  • 使用用户 ID 和项目 API 密钥通过 Powerdrill 进行身份验证
  • 列出 Powerdrill 帐户中的可用数据集
  • 获取有关特定数据集的详细信息
  • 在包含自然语言问题的数据集上创建并运行作业
  • 与 Claude Desktop 和其他 MCP 兼容客户端集成

安装

通过 Smithery 安装

要通过Smithery自动为 Claude Desktop 安装 powerdrill-mcp:

npx -y @smithery/cli install @powerdrillai/powerdrill-mcp --client claude

来自 npm

# Install globally npm install -g @powerdrillai/powerdrill-mcp # Or run directly with npx npx @powerdrillai/powerdrill-mcp

来自源

克隆此存储库并安装依赖项:

git clone https://github.com/yourusername/powerdrill-mcp.git cd powerdrill-mcp npm install

CLI 使用

如果全局安装:

# Start the MCP server powerdrill-mcp

如果使用 npx:

# Run the latest version npx -y @powerdrillai/powerdrill-mcp@latest

运行之前,您需要使用 Powerdrill 凭据配置环境变量:

# Set environment variables export POWERDRILL_USER_ID="your_user_id" export POWERDRILL_PROJECT_API_KEY="your_project_api_key"

或者使用这些值创建一个.env文件。

先决条件

要使用此 MCP 服务器,您需要一个 Powerdrill 帐户以及有效的 API 凭证(用户 IDAPI 密钥)。获取方法如下:

  1. 如果您还没有注册 Powerdrill Team 帐户,请先注册
  2. 导航至您的帐户设置
  3. 查找 API 部分,您将在其中找到:
    • 用户 ID:您帐户的唯一标识符
    • API 密钥:用于 API 访问的身份验证令牌

首先,观看此视频教程,了解如何创建 Powerdrill 团队:

然后,按照此视频教程设置您的 API 凭据:

快速设置

设置服务器的最简单方法是使用提供的安装脚本:

# Make the script executable chmod +x setup.sh # Run the setup script ./setup.sh

这将:

  1. 安装依赖项
  2. 构建 TypeScript 代码
  3. 如果不存在则创建一个.env文件
  4. 使用基于 npx 的配置生成 Claude Desktop 和 Cursor 的配置文件(推荐)

然后使用您的实际凭证编辑您的.env文件:

POWERDRILL_USER_ID=your_actual_user_id POWERDRILL_PROJECT_API_KEY=your_actual_project_api_key

在使用生成的配置文件之前,还请更新其中的凭据。

手动安装

如果您希望手动设置:

# Install dependencies 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

用法

运行服务器

npm start

与 Claude Desktop 集成

  1. 打开 Claude 桌面
  2. 转至“设置”>“服务器设置”
  3. 使用以下配置之一添加新服务器:

选项 1:使用 npx(推荐)

{ "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" } } }

选项 2:使用本地安装的节点

{ "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" } } }
  1. 保存配置
  2. 重启Claude桌面

与 Cursor 集成

  1. 打开游标
  2. 前往“设置”>“MCP 工具”
  3. 使用以下配置之一添加新的 MCP 工具:

选项 1:使用 npx(推荐)

{ "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" } } }

选项 2:使用本地安装的节点

{ "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" } } }
  1. 保存配置
  2. 如果需要,重新启动 Cursor

使用工具

连接后,您可以在与 Claude Desktop、Cursor、Cline、Windsurf 等的对话中使用 Powerdrill 工具:

  • 列出数据集: What datasets are available in my Powerdrill account?Show me all my datasets
  • 创建数据集: Create a new dataset called "Sales Analytics" ,或Make a new dataset named "Customer Data" with description "Customer information for 2024 analysis"
  • 从本地文件创建数据源: Upload the file /Users/your_name/Downloads/sales_data.csv to dataset {dataset_id}Add my local file /path/to/customer_data.xlsx to my {dataset_id} dataset
  • 获取数据集概述: Tell me more about this dataset: {dataset_id}Describe the structure of dataset {dataset_id}
  • 创建作业: Analyze dataset {dataset_id} with this question: "How has the trend changed over time?"Run a query on {dataset_id} asking "What are the top 10 customers by revenue?"
  • 创建会话: Create a new session named "Sales Analysis 2024" for my data analysis ,或Start a session called "Customer Segmentation" for analyzing market data
  • 列出数据源: What data sources are available in dataset {dataset_id}?Show me all files in the {dataset_id} dataset
  • 列出会话: Show me all my current analysis sessionsList my recent data analysis sessions

可用工具

mcp_powerdrill_list_数据集

列出您的 Powerdrill 帐户中可用的数据集。

参数:

  • limit (可选):要返回的最大数据集数量

响应示例:

{ "datasets": [ { "id": "dataset-dasfadsgadsgas", "name": "mydata", "description": "my dataset" } ] }

mcp_powerdrill_get_dataset_overview

获取有关特定数据集的详细概述信息。

参数:

  • datasetId (必需):获取概览信息的数据集的 ID

响应示例:

{ "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_创建作业

创建一个使用自然语言问题分析数据的作业。

参数:

  • question (必需):用于分析数据的自然语言问题或提示
  • dataset_id (必需):要分析的数据集的 ID
  • datasource_ids (可选):要分析的数据集中特定数据源 ID 的数组
  • session_id (可选):用于对相关作业进行分组的会话 ID
  • stream (可选,默认值:false):是否流式传输结果
  • output_language (可选,默认值:“AUTO”):输出的语言
  • job_mode (可选,默认值:“AUTO”):工作模式

响应示例:

{ "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

创建一个新会话来将相关作业组合在一起。

参数:

  • name (必填):会话名称,长度最多为 128 个字符
  • output_language (可选,默认值:“AUTO”):指定生成输出的语言。选项包括:AUTO、EN、ES、AR、PT、ID、JA、RU、HI、FR、DE、VI、TR、PL、IT、KO、ZH-CN、ZH-TW
  • job_mode (可选,默认值:“AUTO”):会话的作业模式。选项包括:“AUTO”、“DATA_ANALYTICS”
  • max_contextual_job_history (可选,默认值:10):作为下一个作业上下文保留的最近作业的最大数量(0-10)
  • agent_id (可选,默认值:“DATA_ANALYSIS_AGENT”):代理的 ID

响应示例:

{ "session_id": "session-abcdefghijklmnopqrstuvwxyz" }

mcp_powerdrill_list_数据源

列出特定数据集中的数据源。

参数:

  • datasetId (必需):列出数据源的数据集的 ID
  • pageNumber (可选,默认值:1):开始列出的页码
  • pageSize (可选,默认值:10):单页上的项目数
  • status (可选):按状态过滤数据源:同步、无效、已同步(多个用逗号分隔)

响应示例:

{ "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

列出您的 Powerdrill 帐户的会话。

参数:

  • pageNumber (可选):开始列出的页码(默认值:1)
  • pageSize (可选):单页上的项目数(默认值:10)
  • search (可选):按名称搜索会话

响应示例:

{ "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_创建数据集

在您的 Powerdrill 帐户中创建一个新的数据集。

参数:

  • name (必填):数据集名称,长度最多为 128 个字符
  • description (可选):数据集描述,长度最多为 128 个字符

响应示例:

{ "id": "dataset-adsdfasafdsfasdgasd", "message": "Dataset created successfully" }

mcp_powerdrill_create_data_source_from_local_file

通过将本地文件上传到指定的数据集来创建新的数据源。

参数:

  • dataset_id (必需):要在其中创建数据源的数据集的 ID
  • file_path (必需):要上传的文件的本地路径
  • file_name (可选):文件的自定义名称,默认为原始文件名
  • chunk_size (可选,默认值:5MB):分段上传的每个块的大小(以字节为单位)

响应示例:

{ "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" } }

故障排除

如果您遇到问题:

  1. 确保在.env中正确设置环境变量
  2. 使用npm start检查服务器是否启动成功
  3. 验证您的 Claude Desktop 配置指向正确的文件路径
  4. 检查控制台输出是否有任何错误消息

执照

麻省理工学院

ID: 4yflqqa1xr