Powerdrill MCP Server

offiziell

Ein MCP-Server, der Werkzeuge zur Interaktion mit Powerdrill-Datensätzen bereitstellt und eine intelligente KI-Datenanalyse sowie Einblicke ermöglicht.

Dokumentation

Powerdrill MCP Server

smithery badge

Ein Model Context Protocol (MCP) Server, der Werkzeuge zur Interaktion mit Powerdrill-Datensätzen bereitstellt, authentifiziert mit Powerdrill User ID und Project API Key.

Bitte gehen Sie zu https://chat.powerdrill.ai/ für die individuelle KI-Datenanalyse oder zur Nutzung mit Ihrem Team.

Wenn Sie die Powerdrill User ID und den Project API Key Ihres Teams haben, können Sie die Daten über die quelloffenen Web-Clients von Powerdrill bearbeiten:

Funktionen

  • Authentifizierung bei Powerdrill mit User ID und Project API Key
  • Verfügbare Datensätze in Ihrem Powerdrill-Konto auflisten
  • Detaillierte Informationen zu bestimmten Datensätzen abrufen
  • Aufträge für Datensätze mit natürlichsprachlichen Fragen erstellen und ausführen
  • Integration mit Claude Desktop und anderen MCP-kompatiblen Clients

Installation

Installation über Smithery

Um powerdrill-mcp für Claude Desktop automatisch über Smithery zu installieren:

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

Aus npm

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

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

Aus dem Quellcode

Klonen Sie dieses Repository und installieren Sie die Abhängigkeiten:

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

CLI-Nutzung

Bei globaler Installation:

# Start the MCP server
powerdrill-mcp

Bei Verwendung von npx:

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

Sie müssen Umgebungsvariablen mit Ihren Powerdrill-Anmeldedaten konfigurieren, bevor Sie es ausführen:

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

Oder erstellen Sie eine .env-Datei mit diesen Werten.

Voraussetzungen

Um diesen MCP-Server zu nutzen, benötigen Sie ein Powerdrill-Konto mit gültigen API-Anmeldedaten (User ID und API Key). So erhalten Sie diese:

  1. Registrieren Sie sich für ein Powerdrill Team-Konto, falls noch nicht geschehen
  2. Navigieren Sie zu Ihren Kontoeinstellungen
  3. Suchen Sie den API-Bereich, wo Sie Folgendes finden:
    • User ID: Eine eindeutige Kennung für Ihr Konto
    • API Key: Ihr Authentifizierungstoken für den API-Zugriff

Sehen Sie sich zunächst dieses Video-Tutorial an, wie Sie Ihr Powerdrill Team erstellen:

Create Powerdrill Team Tutorial

Folgen Sie dann diesem Video-Tutorial zur Einrichtung Ihrer API-Anmeldedaten:

Powerdrill API Setup Tutorial

Schnelleinrichtung

Der einfachste Weg, den Server einzurichten, ist die Verwendung des bereitgestellten Einrichtungsskripts:

# Make the script executable
chmod +x setup.sh

# Run the setup script
./setup.sh

Dies wird:

  1. Abhängigkeiten installieren
  2. Den TypeScript-Code bauen
  3. Eine .env-Datei erstellen, falls sie nicht existiert
  4. Konfigurationsdateien für Claude Desktop und Cursor mit der npx-basierten Konfiguration generieren (empfohlen)

Bearbeiten Sie dann Ihre .env-Datei mit Ihren tatsächlichen Anmeldedaten:

POWERDRILL_USER_ID=your_actual_user_id
POWERDRILL_PROJECT_API_KEY=your_actual_project_api_key

Aktualisieren Sie auch die Anmeldedaten in den generierten Konfigurationsdateien, bevor Sie sie verwenden.

Manuelle Installation

Wenn Sie die manuelle Einrichtung bevorzugen:

# 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

Nutzung

Den Server ausführen

npm start

Integration mit Claude Desktop

  1. Öffnen Sie Claude Desktop
  2. Gehen Sie zu Einstellungen > Server-Einstellungen
  3. Fügen Sie einen neuen Server mit einer der folgenden Konfigurationen hinzu:

Option 1: Verwendung von npx (Empfohlen)

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

Option 2: Verwendung von node mit lokaler Installation

{
  "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. Speichern Sie die Konfiguration
  2. Starten Sie Claude Desktop neu

Integration mit Cursor

  1. Öffnen Sie Cursor
  2. Gehen Sie zu Einstellungen > MCP-Tools
  3. Fügen Sie ein neues MCP-Tool mit einer der folgenden Konfigurationen hinzu:

Option 1: Verwendung von npx (Empfohlen)

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

Option 2: Verwendung von node mit lokaler Installation

{
  "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. Speichern Sie die Konfiguration
  2. Starten Sie Cursor bei Bedarf neu

Die Werkzeuge verwenden

Sobald die Verbindung hergestellt ist, können Sie die Powerdrill-Werkzeuge in Ihren Gesprächen mit Claude Desktop, Cursor, Cline, Windsurf usw. nutzen:

  • Datensätze auflisten: What datasets are available in my Powerdrill account? oder Show me all my datasets
  • Datensatz erstellen: Create a new dataset called "Sales Analytics" oder Make a new dataset named "Customer Data" with description "Customer information for 2024 analysis"
  • Datenquelle aus lokaler Datei erstellen: Upload the file /Users/your_name/Downloads/sales_data.csv to dataset {dataset_id} oder Add my local file /path/to/customer_data.xlsx to my {dataset_id} dataset
  • Datensatzübersicht abrufen: Tell me more about this dataset: {dataset_id} oder Describe the structure of dataset {dataset_id}
  • Auftrag erstellen: Analyze dataset {dataset_id} with this question: "How has the trend changed over time?" oder Run a query on {dataset_id} asking "What are the top 10 customers by revenue?"
  • Sitzung erstellen: Create a new session named "Sales Analysis 2024" for my data analysis oder Start a session called "Customer Segmentation" for analyzing market data
  • Datenquellen auflisten: What data sources are available in dataset {dataset_id}? oder Show me all files in the {dataset_id} dataset
  • Sitzungen auflisten: Show me all my current analysis sessions oder List my recent data analysis sessions

Verfügbare Werkzeuge

mcp_powerdrill_list_datasets

Listet verfügbare Datensätze aus Ihrem Powerdrill-Konto auf.

Parameter:

  • limit (optional): Maximale Anzahl der zurückzugebenden Datensätze

Beispielantwort:

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

mcp_powerdrill_get_dataset_overview

Ruft detaillierte Übersichtsinformationen zu einem bestimmten Datensatz ab.

Parameter:

  • datasetId (erforderlich): Die ID des Datensatzes, für den Übersichtsinformationen abgerufen werden sollen

Beispielantwort:

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

Erstellt einen Auftrag zur Analyse von Daten mit natürlichsprachlichen Fragen.

Parameter:

  • question (erforderlich): Die natürlichsprachliche Frage oder Aufforderung zur Analyse der Daten
  • dataset_id (erforderlich): Die ID des zu analysierenden Datensatzes
  • datasource_ids (optional): Array spezifischer Datenquellen-IDs innerhalb des zu analysierenden Datensatzes
  • session_id (optional): Sitzungs-ID, um zusammengehörige Aufträge zu gruppieren
  • stream (optional, Standard: false): Ob die Ergebnisse gestreamt werden sollen
  • output_language (optional, Standard: "AUTO"): Die Sprache für die Ausgabe
  • job_mode (optional, Standard: "AUTO"): Der Auftragsmodus

Beispielantwort:

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

Erstellt eine neue Sitzung, um zusammengehörige Aufträge zu gruppieren.

Parameter:

  • name (erforderlich): Der Sitzungsname, der bis zu 128 Zeichen lang sein kann
  • output_language (optional, Standard: "AUTO"): Die Sprache, in der die Ausgabe generiert wird. Optionen sind: "AUTO", "EN", "ES", "AR", "PT", "ID", "JA", "RU", "HI", "FR", "DE", "VI", "TR", "PL", "IT", "KO", "ZH-CN", "ZH-TW"
  • job_mode (optional, Standard: "AUTO"): Auftragsmodus für die Sitzung. Optionen sind: "AUTO", "DATA_ANALYTICS"
  • max_contextual_job_history (optional, Standard: 10): Die maximale Anzahl kürzlich ausgeführter Aufträge, die als Kontext für den nächsten Auftrag beibehalten werden (0-10)
  • agent_id (optional, Standard: "DATA_ANALYSIS_AGENT"): Die ID des Agenten

Beispielantwort:

{
  "session_id": "session-abcdefghijklmnopqrstuvwxyz"
}

mcp_powerdrill_list_data_sources

Listet Datenquellen in einem bestimmten Datensatz auf.

Parameter:

  • datasetId (erforderlich): Die ID des Datensatzes, aus dem Datenquellen aufgelistet werden sollen
  • pageNumber (optional, Standard: 1): Die Seitennummer, ab der aufgelistet werden soll
  • pageSize (optional, Standard: 10): Die Anzahl der Elemente auf einer einzelnen Seite
  • status (optional): Datenquellen nach Status filtern: synching, invalid, synched (kommagetrennt für mehrere)

Beispielantwort:

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

Listet Sitzungen aus Ihrem Powerdrill-Konto auf.

Parameter:

  • pageNumber (optional): Die Seitennummer, ab der aufgelistet werden soll (Standard: 1)
  • pageSize (optional): Die Anzahl der Elemente auf einer einzelnen Seite (Standard: 10)
  • search (optional): Suche nach Sitzungen anhand des Namens

Beispielantwort:

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

Erstellt einen neuen Datensatz in Ihrem Powerdrill-Konto.

Parameter:

  • name (erforderlich): Der Datensatzname, der bis zu 128 Zeichen lang sein kann
  • description (optional): Die Datensatzbeschreibung, die bis zu 128 Zeichen lang sein kann

Beispielantwort:

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

mcp_powerdrill_create_data_source_from_local_file

Erstellt eine neue Datenquelle durch Hochladen einer lokalen Datei in einen angegebenen Datensatz.

Parameter:

  • dataset_id (erforderlich): Die ID des Datensatzes, in dem die Datenquelle erstellt werden soll
  • file_path (erforderlich): Der lokale Pfad zur hochzuladenden Datei
  • file_name (optional): Benutzerdefinierter Name für die Datei, standardmäßig der ursprüngliche Dateiname
  • chunk_size (optional, Standard: 5MB): Größe jedes Chunks in Bytes für den mehrteiligen Upload

Beispielantwort:

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

Fehlerbehebung

Wenn Sie auf Probleme stoßen:

  1. Stellen Sie sicher, dass Ihre Umgebungsvariablen in .env korrekt gesetzt sind
  2. Überprüfen Sie, ob der Server erfolgreich mit npm start startet
  3. Vergewissern Sie sich, dass Ihre Claude Desktop-Konfiguration auf die richtigen Dateipfade verweist
  4. Überprüfen Sie die Konsolenausgabe auf Fehlermeldungen

Lizenz

MIT