Powerdrill

公式

Powerdrillデータセットと連携するためのツールを提供するMCPサーバーで、スマートなAIデータ分析とインサイトを実現します。

Powerdrill MCPで何ができますか?

  • Powerdrillデータセットを一覧表示する — アシスタントに利用可能なデータセットを表示させるには、mcp_powerdrill_list_datasetsを使用します。
  • データセットの概要を取得する — 構造、サマリー、推奨される探索質問を取得するには、mcp_powerdrill_get_dataset_overviewを使用します。
  • 自然言語でデータを分析する — データセットに対して質問を送信し、コード、表、グラフ、テキストを取得するには、mcp_powerdrill_create_jobを使用します。
  • ローカルファイルをデータセットにアップロードする — お使いのマシンからCSV、Excel、またはPDFを追加するには、mcp_powerdrill_create_data_source_from_local_fileを使用します。
  • 新しいデータセットを作成する — アカウント内に名前付きデータセットをプロビジョニングするには、mcp_powerdrill_create_datasetを使用します。
  • 分析セッションを管理するmcp_powerdrill_create_sessionでセッションを作成し、mcp_powerdrill_list_sessionsで既存のセッションを一覧表示します。

ドキュメント

Powerdrill MCP Server

smithery badge

Powerdrillのデータセットとやり取りするためのツールを提供するModel Context Protocol (MCP)サーバーです。PowerdrillのユーザーIDとプロジェクトAPIキーで認証されます。

個人でのAIデータ分析、またはチームでの利用については、https://chat.powerdrill.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サーバーを使用するには、有効なAPI認証情報(ユーザーIDAPIキー)を持つPowerdrillアカウントが必要です。取得方法は次のとおりです:

  1. まだお持ちでない場合は、Powerdrill Teamアカウントにサインアップします
  2. アカウント設定に移動します
  3. APIセクションで以下を確認します:
    • ユーザーID: アカウントの一意の識別子
    • APIキー: APIアクセス用の認証トークン

まず、Powerdrill Teamの作成方法に関するこのビデオチュートリアルをご覧ください:

Create Powerdrill Team Tutorial

次に、API認証情報の設定に関するこのビデオチュートリアルに従ってください:

Powerdrill API Setup Tutorial

クイックセットアップ

サーバーをセットアップする最も簡単な方法は、提供されているセットアップスクリプトを使用することです:

# 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 Desktopを開きます
  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: ローカルインストールで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"
    }
  }
}
  1. 設定を保存します
  2. Claude Desktopを再起動します

Cursorとの統合

  1. Cursorを開きます
  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: ローカルインストールで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"
    }
  }
}
  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 sessions または List my recent data analysis sessions

利用可能なツール

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"): ジョブモード

レスポンス例:

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

特定のデータセット内のデータソースを一覧表示します。

パラメータ:

  • datasetId (必須): データソースを一覧表示するデータセットのID
  • pageNumber (オプション、デフォルト: 1): 一覧表示を開始するページ番号
  • pageSize (オプション、デフォルト: 10): 1ページあたりのアイテム数
  • status (オプション): ステータスでデータソースをフィルタリング: synching、invalid、synched(複数指定の場合はカンマ区切り)

レスポンス例:

{
  "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 (オプション): 1ページあたりのアイテム数 (デフォルト: 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_create_dataset

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. コンソール出力にエラーメッセージがないか確認します

ライセンス

MIT