Powerdrill MCP Server
offiziellEin MCP-Server, der Werkzeuge zur Interaktion mit Powerdrill-Datensätzen bereitstellt und eine intelligente KI-Datenanalyse sowie Einblicke ermöglicht.
Dokumentation
Powerdrill MCP Server
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:
- Node.js Edition: https://flow.powerdrill.ai/, oder spielen Sie mit dem quelloffenen Web-Client https://github.com/powerdrillai/powerdrill-flow.
- Python Edition: https://powerdrill-flow.streamlit.app/, oder spielen Sie mit dem quelloffenen Web-Client https://github.com/powerdrillai/powerdrill-flow-streamlit.
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:
- Registrieren Sie sich für ein Powerdrill Team-Konto, falls noch nicht geschehen
- Navigieren Sie zu Ihren Kontoeinstellungen
- 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:
Folgen Sie dann diesem Video-Tutorial zur Einrichtung Ihrer API-Anmeldedaten:
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:
- Abhängigkeiten installieren
- Den TypeScript-Code bauen
- Eine
.env-Datei erstellen, falls sie nicht existiert - 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
- Öffnen Sie Claude Desktop
- Gehen Sie zu Einstellungen > Server-Einstellungen
- 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"
}
}
}
- Speichern Sie die Konfiguration
- Starten Sie Claude Desktop neu
Integration mit Cursor
- Öffnen Sie Cursor
- Gehen Sie zu Einstellungen > MCP-Tools
- 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"
}
}
}
- Speichern Sie die Konfiguration
- 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?oderShow me all my datasets - Datensatz erstellen:
Create a new dataset called "Sales Analytics"oderMake 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}oderAdd my local file /path/to/customer_data.xlsx to my {dataset_id} dataset - Datensatzübersicht abrufen:
Tell me more about this dataset: {dataset_id}oderDescribe the structure of dataset {dataset_id} - Auftrag erstellen:
Analyze dataset {dataset_id} with this question: "How has the trend changed over time?"oderRun 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 analysisoderStart a session called "Customer Segmentation" for analyzing market data - Datenquellen auflisten:
What data sources are available in dataset {dataset_id}?oderShow me all files in the {dataset_id} dataset - Sitzungen auflisten:
Show me all my current analysis sessionsoderList 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 Datendataset_id(erforderlich): Die ID des zu analysierenden Datensatzesdatasource_ids(optional): Array spezifischer Datenquellen-IDs innerhalb des zu analysierenden Datensatzessession_id(optional): Sitzungs-ID, um zusammengehörige Aufträge zu gruppierenstream(optional, Standard: false): Ob die Ergebnisse gestreamt werden sollenoutput_language(optional, Standard: "AUTO"): Die Sprache für die Ausgabejob_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 kannoutput_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 sollenpageNumber(optional, Standard: 1): Die Seitennummer, ab der aufgelistet werden sollpageSize(optional, Standard: 10): Die Anzahl der Elemente auf einer einzelnen Seitestatus(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 kanndescription(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 sollfile_path(erforderlich): Der lokale Pfad zur hochzuladenden Dateifile_name(optional): Benutzerdefinierter Name für die Datei, standardmäßig der ursprüngliche Dateinamechunk_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:
- Stellen Sie sicher, dass Ihre Umgebungsvariablen in
.envkorrekt gesetzt sind - Überprüfen Sie, ob der Server erfolgreich mit
npm startstartet - Vergewissern Sie sich, dass Ihre Claude Desktop-Konfiguration auf die richtigen Dateipfade verweist
- Überprüfen Sie die Konsolenausgabe auf Fehlermeldungen
Lizenz
MIT

