Powerdrill AI数据洞察平台
一个MCP服务器,提供与Powerdrill(https://powerdrill.ai/)数据集交互的工具,支持智能AI数据分析和洞察。
服务介绍
Powerdrill MCP 服务器
这是一个模型上下文协议 (MCP) 服务器,提供工具与 Powerdrill 数据集进行交互,并通过 Powerdrill 用户 ID 和项目 API 密钥进行身份验证。
请访问 https://powerdrill.ai/,以个人或团队形式使用 AI 数据分析。
如果您拥有团队的 Powerdrill 用户 ID 和项目 API 密钥,您可以通过 Powerdrill 开源的网页客户端来操作数据:
- Node.js 版本: https://flow.powerdrill.ai/,或者玩转开源网页客户端 https://github.com/powerdrillai/powerdrill-flow。
- Python 版本: https://powerdrill-flow.streamlit.app/,或者玩转开源网页客户端 https://github.com/powerdrillai/powerdrill-flow-streamlit。
功能
- 使用用户 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 服务器,您需要一个带有有效 API 凭证(用户 ID 和 API 密钥)的 Powerdrill 账户。获取方法如下:
- 如果尚未注册,请注册一个 Powerdrill 团队账户
- 导航到您的账户设置
- 查找 API 部分,在那里您会找到:
- 用户 ID:您的账户唯一标识符
- API 密钥:用于 API 访问的身份验证令牌
首先,观看这个关于如何创建您的 Powerdrill 团队的视频教程:
然后,按照这个设置 API 凭证的视频教程操作:
快速设置
最简单的设置服务器的方法是使用提供的设置脚本:
# Make the script executable
chmod +x setup.sh
# Run the setup script
./setup.sh
这将执行以下步骤:
- 安装依赖项
- 构建 TypeScript 代码
- 如果不存在则创建
.env文件 - 生成基于 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 集成
- 打开 Claude Desktop
- 进入 设置 > 服务器设置
- 使用以下配置之一添加一个新的服务器:
选项 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:使用本地安装的 node
{
"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"
}
}
}
- 保存配置
- 重启 Claude Desktop
与 Cursor 集成
- 打开 Cursor
- 进入 设置 > MCP 工具
- 使用以下配置之一添加一个新的 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:使用本地安装的 node
{
"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"
}
}
}
- 保存配置
- 如有需要,重启 Cursor
使用工具
连接后,您可以在与 Claude Desktop、Cursor、Cline、Windsurf 等的对话中使用 Powerdrill 工具:
- 列出数据集:
我的 Powerdrill 账户中有哪些数据集可用?或显示我所有的数据集 - 创建数据集:
创建一个名为 "Sales Analytics" 的新数据集或创建一个名为 "Customer Data" 的新数据集,并附上描述 "用于 2024 年分析的客户信息" - 从本地文件创建数据源:
将文件 /Users/your_name/Downloads/sales_data.csv 上传到数据集 {dataset_id}或将我的本地文件 /path/to/customer_data.xlsx 添加到我的 {dataset_id} 数据集中 - 获取数据集概览:
告诉我更多关于这个数据集的信息:{dataset_id}或描述数据集 {dataset_id} 的结构 - 创建任务:
用这个问题分析数据集 {dataset_id}:"趋势是如何随时间变化的?"或在 {dataset_id} 上运行查询,询问 "收入最高的前 10 名客户是谁?" - 创建会话:
为我的数据分析创建一个名为 "Sales Analysis 2024" 的新会话或开始一个名为 "Customer Segmentation" 的会话,用于分析市场数据 - 列出数据源:
数据集 {dataset_id} 中有哪些数据源可用?或显示 {dataset_id} 数据集中的所有文件 - 列出会话:
显示我当前的所有分析会话或列出我最近的数据分析会话
可用工具
mcp_powerdrill_list_datasets
列出您的 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_create_job
创建一个任务以使用自然语言问题分析数据。
参数:
- `question` (必需): 要分析数据的自然语言问题或提示
- `dataset_id` (必需): 要分析的数据集ID
- `datasource_ids` (可选): 数据集中要分析的具体数据源ID数组
- `session_id` (可选): 用于分组相关作业的会话ID
- `stream` (可选,默认: false): 是否流式传输结果
- `output_language` (可选,默认: "AUTO"): 输出的语言
- `job_mode` (可选,默认: "AUTO"): 作业模式
示例响应:
#16
### 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
示例响应:
#17
### mcp_powerdrill_list_data_sources
列出特定数据集中的数据源。
参数:
- `datasetId` (必需): 要列出数据源的数据集ID
- `pageNumber` (可选,默认: 1): 开始列出的页码
- `pageSize` (可选,默认: 10): 单页上的项目数量
- `status` (可选): 按状态过滤数据源:synching, invalid, synched(多个状态用逗号分隔)
示例响应:
#18
### mcp_powerdrill_list_sessions
列出您的Powerdrill账户中的会话。
参数:
- `pageNumber` (可选,默认: 1): 开始列出的页码
- `pageSize` (可选,默认: 10): 单页上的项目数量
- `search` (可选): 按名称搜索会话
示例响应:
#19
### mcp_powerdrill_create_dataset
在您的Powerdrill账户中创建一个新的数据集。
参数:
- `name` (必需): 数据集名称,长度最多为128个字符
- `description` (可选): 数据集描述,长度最多为128个字符
示例响应:
#20
### mcp_powerdrill_create_data_source_from_local_file
通过将本地文件上传到指定的数据集来创建新的数据源。
参数:
- `dataset_id` (必需): 要在其中创建数据源的数据集ID
- `file_path` (必需): 要上传的文件的本地路径
- `file_name` (可选): 文件的自定义名称,默认为原始文件名
- `chunk_size` (可选,默认: 5MB): 多部分上传时每个块的大小(以字节为单位)
示例响应:
#21
## 故障排除
如果您遇到问题:
请注意,上述翻译保持了原有的Markdown格式,并且代码块和链接内容未作改动。
1. 确保在 `.env` 文件中正确设置了环境变量
2. 通过 `npm start` 检查服务器是否成功启动
3. 确认你的 Claude Desktop 配置指向了正确的文件路径
4. 检查控制台输出是否有任何错误信息
## 许可证
MIT

