Powerdrill MCP Server

resmi

Server MCP yang menyediakan alat untuk berinteraksi dengan dataset Powerdrill, memungkinkan analisis data AI yang cerdas dan wawasan.

Dokumentasi

Server MCP Powerdrill

smithery badge

Server Model Context Protocol (MCP) yang menyediakan alat untuk berinteraksi dengan dataset Powerdrill, diautentikasi dengan User ID dan Project API Key Powerdrill.

Silakan kunjungi https://chat.powerdrill.ai/ untuk analisis data AI secara individu atau gunakan bersama Tim Anda.

Jika Anda memiliki User ID dan Project API Key Powerdrill dari Tim Anda, Anda dapat memanipulasi data melalui klien web sumber terbuka Powerdrill:

Fitur

  • Autentikasi dengan Powerdrill menggunakan User ID dan Project API Key
  • Menampilkan dataset yang tersedia di akun Powerdrill Anda
  • Mendapatkan informasi detail tentang dataset tertentu
  • Membuat dan menjalankan pekerjaan pada dataset dengan pertanyaan bahasa alami
  • Integrasi dengan Claude Desktop dan klien lain yang kompatibel dengan MCP

Instalasi

Menginstal melalui Smithery

Untuk menginstal powerdrill-mcp untuk Claude Desktop secara otomatis melalui Smithery:

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

Dari npm

# Install globally
npm install -g @powerdrillai/powerdrill-mcp

# Or run directly with npx
npx @powerdrillai/powerdrill-mcp

Dari Sumber

Kloning repositori ini dan instal dependensi:

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

Penggunaan CLI

Jika terinstal secara global:

# Start the MCP server
powerdrill-mcp

Jika menggunakan npx:

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

Anda perlu mengonfigurasi variabel lingkungan dengan kredensial Powerdrill Anda sebelum menjalankan:

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

Atau buat file .env dengan nilai-nilai ini.

Prasyarat

Untuk menggunakan server MCP ini, Anda memerlukan akun Powerdrill dengan kredensial API yang valid (User ID dan API Key). Berikut cara mendapatkannya:

  1. Daftar akun Tim Powerdrill jika Anda belum memilikinya
  2. Buka pengaturan akun Anda
  3. Cari bagian API di mana Anda akan menemukan:
    • User ID: Pengidentifikasi unik untuk akun Anda
    • API Key: Token autentikasi Anda untuk akses API

Pertama, tonton tutorial video ini tentang cara membuat Tim Powerdrill Anda:

Create Powerdrill Team Tutorial

Kemudian, ikuti tutorial video ini untuk menyiapkan kredensial API Anda:

Powerdrill API Setup Tutorial

Pengaturan Cepat

Cara termudah untuk mengatur server adalah menggunakan skrip pengaturan yang disediakan:

# Make the script executable
chmod +x setup.sh

# Run the setup script
./setup.sh

Ini akan:

  1. Menginstal dependensi
  2. Membangun kode TypeScript
  3. Membuat file .env jika belum ada
  4. Menghasilkan file konfigurasi untuk Claude Desktop dan Cursor dengan konfigurasi berbasis npx (disarankan)

Kemudian edit file .env Anda dengan kredensial aktual Anda:

POWERDRILL_USER_ID=your_actual_user_id
POWERDRILL_PROJECT_API_KEY=your_actual_project_api_key

Perbarui juga kredensial di file konfigurasi yang dihasilkan sebelum menggunakannya.

Instalasi Manual

Jika Anda lebih suka mengatur secara manual:

# 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

Penggunaan

Menjalankan server

npm start

Integrasi dengan Claude Desktop

  1. Buka Claude Desktop
  2. Buka Settings > Server Settings
  3. Tambahkan server baru dengan salah satu konfigurasi berikut:

Opsi 1: Menggunakan npx (Disarankan)

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

Opsi 2: Menggunakan node dengan instalasi lokal

{
  "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. Simpan konfigurasi
  2. Mulai ulang Claude Desktop

Integrasi dengan Cursor

  1. Buka Cursor
  2. Buka Settings > MCP Tools
  3. Tambahkan alat MCP baru dengan salah satu konfigurasi berikut:

Opsi 1: Menggunakan npx (Disarankan)

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

Opsi 2: Menggunakan node dengan instalasi lokal

{
  "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. Simpan konfigurasi
  2. Mulai ulang Cursor jika diperlukan

Menggunakan alat

Setelah terhubung, Anda dapat menggunakan alat Powerdrill dalam percakapan Anda dengan Claude Desktop, Cursor, Cline, Windsurf, dll.:

  • Tampilkan dataset: What datasets are available in my Powerdrill account? atau Show me all my datasets
  • Buat dataset: Create a new dataset called "Sales Analytics" atau Make a new dataset named "Customer Data" with description "Customer information for 2024 analysis"
  • Buat sumber data dari file lokal: Upload the file /Users/your_name/Downloads/sales_data.csv to dataset {dataset_id} atau Add my local file /path/to/customer_data.xlsx to my {dataset_id} dataset
  • Dapatkan ringkasan dataset: Tell me more about this dataset: {dataset_id} atau Describe the structure of dataset {dataset_id}
  • Buat pekerjaan: Analyze dataset {dataset_id} with this question: "How has the trend changed over time?" atau Run a query on {dataset_id} asking "What are the top 10 customers by revenue?"
  • Buat sesi: Create a new session named "Sales Analysis 2024" for my data analysis atau Start a session called "Customer Segmentation" for analyzing market data
  • Tampilkan sumber data: What data sources are available in dataset {dataset_id}? atau Show me all files in the {dataset_id} dataset
  • Tampilkan sesi: Show me all my current analysis sessions atau List my recent data analysis sessions

Alat yang Tersedia

mcp_powerdrill_list_datasets

Menampilkan dataset yang tersedia dari akun Powerdrill Anda.

Parameter:

  • limit (opsional): Jumlah maksimum dataset yang akan dikembalikan

Contoh respons:

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

mcp_powerdrill_get_dataset_overview

Mendapatkan informasi ringkasan detail tentang dataset tertentu.

Parameter:

  • datasetId (wajib): ID dataset yang akan diambil informasi ringkasannya

Contoh respons:

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

Membuat pekerjaan untuk menganalisis data dengan pertanyaan bahasa alami.

Parameter:

  • question (wajib): Pertanyaan atau perintah bahasa alami untuk menganalisis data
  • dataset_id (wajib): ID dataset yang akan dianalisis
  • datasource_ids (opsional): Array ID sumber data spesifik dalam dataset yang akan dianalisis
  • session_id (opsional): ID sesi untuk mengelompokkan pekerjaan terkait
  • stream (opsional, default: false): Apakah akan mengalirkan hasil
  • output_language (opsional, default: "AUTO"): Bahasa untuk keluaran
  • job_mode (opsional, default: "AUTO"): Mode pekerjaan

Contoh respons:

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

Membuat sesi baru untuk mengelompokkan pekerjaan terkait bersama-sama.

Parameter:

  • name (wajib): Nama sesi, yang dapat mencapai panjang 128 karakter
  • output_language (opsional, default: "AUTO"): Bahasa di mana keluaran dihasilkan. Opsi meliputi: "AUTO", "EN", "ES", "AR", "PT", "ID", "JA", "RU", "HI", "FR", "DE", "VI", "TR", "PL", "IT", "KO", "ZH-CN", "ZH-TW"
  • job_mode (opsional, default: "AUTO"): Mode pekerjaan untuk sesi. Opsi meliputi: "AUTO", "DATA_ANALYTICS"
  • max_contextual_job_history (opsional, default: 10): Jumlah maksimum pekerjaan terbaru yang dipertahankan sebagai konteks untuk pekerjaan berikutnya (0-10)
  • agent_id (opsional, default: "DATA_ANALYSIS_AGENT"): ID agen

Contoh respons:

{
  "session_id": "session-abcdefghijklmnopqrstuvwxyz"
}

mcp_powerdrill_list_data_sources

Menampilkan sumber data dalam dataset tertentu.

Parameter:

  • datasetId (wajib): ID dataset untuk menampilkan sumber data
  • pageNumber (opsional, default: 1): Nomor halaman untuk mulai menampilkan
  • pageSize (opsional, default: 10): Jumlah item dalam satu halaman
  • status (opsional): Filter sumber data berdasarkan status: synching, invalid, synched (dipisahkan koma untuk beberapa)

Contoh respons:

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

Menampilkan sesi dari akun Powerdrill Anda.

Parameter:

  • pageNumber (opsional): Nomor halaman untuk mulai menampilkan (default: 1)
  • pageSize (opsional): Jumlah item dalam satu halaman (default: 10)
  • search (opsional): Cari sesi berdasarkan nama

Contoh respons:

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

Membuat dataset baru di akun Powerdrill Anda.

Parameter:

  • name (wajib): Nama dataset, yang dapat mencapai panjang 128 karakter
  • description (opsional): Deskripsi dataset, yang dapat mencapai panjang 128 karakter

Contoh respons:

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

mcp_powerdrill_create_data_source_from_local_file

Membuat sumber data baru dengan mengunggah file lokal ke dataset yang ditentukan.

Parameter:

  • dataset_id (wajib): ID dataset untuk membuat sumber data
  • file_path (wajib): Jalur lokal ke file yang akan diunggah
  • file_name (opsional): Nama kustom untuk file, default ke nama file asli
  • chunk_size (opsional, default: 5MB): Ukuran setiap potongan dalam byte untuk unggahan multipart

Contoh respons:

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

Pemecahan Masalah

Jika Anda mengalami masalah:

  1. Pastikan variabel lingkungan Anda diatur dengan benar di .env
  2. Periksa bahwa server berhasil dimulai dengan npm start
  3. Verifikasi konfigurasi Claude Desktop Anda menunjuk ke jalur file yang benar
  4. Periksa keluaran konsol untuk pesan kesalahan apa pun

Lisensi

MIT