Powerdrill

officiel

Un serveur MCP qui fournit des outils pour interagir avec les ensembles de données Powerdrill, permettant une analyse et des insights intelligents basés sur l'IA.

Que pouvez-vous faire avec Powerdrill MCP ?

  • Listez vos jeux de données Powerdrill — Demandez à l’assistant d’afficher les jeux de données disponibles à l’aide de mcp_powerdrill_list_datasets.
  • Obtenez un aperçu d’un jeu de données — Récupérez la structure, le résumé et les questions d’exploration suggérées avec mcp_powerdrill_get_dataset_overview.
  • Analysez des données en langage naturel — Soumettez une question sur un jeu de données et obtenez du code, des tableaux, des graphiques et du texte via mcp_powerdrill_create_job.
  • Téléchargez un fichier local vers un jeu de données — Ajoutez un fichier CSV, Excel ou PDF depuis votre machine à l’aide de mcp_powerdrill_create_data_source_from_local_file.
  • Créez un nouveau jeu de données — Provisionnez un jeu de données nommé dans votre compte avec mcp_powerdrill_create_dataset.
  • Gérez les sessions d’analyse — Créez des sessions avec mcp_powerdrill_create_session et listez celles existantes avec mcp_powerdrill_list_sessions.

Documentation

Serveur MCP Powerdrill

smithery badge

Un serveur Model Context Protocol (MCP) qui fournit des outils pour interagir avec les jeux de données Powerdrill, authentifié avec l'ID utilisateur Powerdrill et la clé API du projet.

Veuillez vous rendre sur https://chat.powerdrill.ai/ pour une analyse de données IA individuelle ou à utiliser avec votre équipe.

Si vous disposez de l'ID utilisateur Powerdrill et de la clé API du projet de votre équipe, vous pouvez manipuler les données via les clients web open source de Powerdrill :

Fonctionnalités

  • Authentification auprès de Powerdrill à l'aide de l'ID utilisateur et de la clé API du projet
  • Lister les jeux de données disponibles dans votre compte Powerdrill
  • Obtenir des informations détaillées sur des jeux de données spécifiques
  • Créer et exécuter des tâches sur des jeux de données avec des questions en langage naturel
  • Intégration avec Claude Desktop et d'autres clients compatibles MCP

Installation

Installation via Smithery

Pour installer powerdrill-mcp pour Claude Desktop automatiquement via Smithery :

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

Depuis npm

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

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

Depuis les sources

Clonez ce dépôt et installez les dépendances :

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

Utilisation en ligne de commande

Si installé globalement :

# Start the MCP server
powerdrill-mcp

Si vous utilisez npx :

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

Vous devrez configurer les variables d'environnement avec vos identifiants Powerdrill avant de lancer :

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

Ou créez un fichier .env avec ces valeurs.

Prérequis

Pour utiliser ce serveur MCP, vous aurez besoin d'un compte Powerdrill avec des identifiants API valides (ID utilisateur et Clé API). Voici comment les obtenir :

  1. Créez un compte d'équipe Powerdrill si ce n'est pas déjà fait
  2. Accédez aux paramètres de votre compte
  3. Cherchez la section API où vous trouverez :
    • ID utilisateur : Un identifiant unique pour votre compte
    • Clé API : Votre jeton d'authentification pour l'accès API

Tout d'abord, regardez ce tutoriel vidéo sur la création de votre équipe Powerdrill :

Create Powerdrill Team Tutorial

Ensuite, suivez ce tutoriel vidéo pour configurer vos identifiants API :

Powerdrill API Setup Tutorial

Configuration rapide

Le moyen le plus simple de configurer le serveur est d'utiliser le script de configuration fourni :

# Make the script executable
chmod +x setup.sh

# Run the setup script
./setup.sh

Cela va :

  1. Installer les dépendances
  2. Compiler le code TypeScript
  3. Créer un fichier .env s'il n'existe pas
  4. Générer les fichiers de configuration pour Claude Desktop et Cursor avec la configuration basée sur npx (recommandée)

Modifiez ensuite votre fichier .env avec vos identifiants réels :

POWERDRILL_USER_ID=your_actual_user_id
POWERDRILL_PROJECT_API_KEY=your_actual_project_api_key

Mettez également à jour les identifiants dans les fichiers de configuration générés avant de les utiliser.

Installation manuelle

Si vous préférez une configuration manuelle :

# 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

Utilisation

Lancement du serveur

npm start

Intégration avec Claude Desktop

  1. Ouvrez Claude Desktop
  2. Allez dans Paramètres > Paramètres du serveur
  3. Ajoutez un nouveau serveur avec l'une des configurations suivantes :

Option 1 : Utilisation de npx (recommandée)

{
  "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 : Utilisation de node avec une installation locale

{
  "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. Sauvegardez la configuration
  2. Redémarrez Claude Desktop

Intégration avec Cursor

  1. Ouvrez Cursor
  2. Allez dans Paramètres > Outils MCP
  3. Ajoutez un nouvel outil MCP avec l'une des configurations suivantes :

Option 1 : Utilisation de npx (recommandée)

{
  "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 : Utilisation de node avec une installation locale

{
  "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. Sauvegardez la configuration
  2. Redémarrez Cursor si nécessaire

Utilisation des outils

Une fois connecté, vous pouvez utiliser les outils Powerdrill dans vos conversations avec Claude Desktop, Cursor, Cline, Windsurf, etc. :

  • Lister les jeux de données : What datasets are available in my Powerdrill account? ou Show me all my datasets
  • Créer un jeu de données : Create a new dataset called "Sales Analytics" ou Make a new dataset named "Customer Data" with description "Customer information for 2024 analysis"
  • Créer une source de données à partir d'un fichier local : Upload the file /Users/your_name/Downloads/sales_data.csv to dataset {dataset_id} ou Add my local file /path/to/customer_data.xlsx to my {dataset_id} dataset
  • Obtenir un aperçu du jeu de données : Tell me more about this dataset: {dataset_id} ou Describe the structure of dataset {dataset_id}
  • Créer une tâche : Analyze dataset {dataset_id} with this question: "How has the trend changed over time?" ou Run a query on {dataset_id} asking "What are the top 10 customers by revenue?"
  • Créer une session : Create a new session named "Sales Analysis 2024" for my data analysis ou Start a session called "Customer Segmentation" for analyzing market data
  • Lister les sources de données : What data sources are available in dataset {dataset_id}? ou Show me all files in the {dataset_id} dataset
  • Lister les sessions : Show me all my current analysis sessions ou List my recent data analysis sessions

Outils disponibles

mcp_powerdrill_list_datasets

Liste les jeux de données disponibles de votre compte Powerdrill.

Paramètres :

  • limit (optionnel) : Nombre maximum de jeux de données à retourner

Exemple de réponse :

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

mcp_powerdrill_get_dataset_overview

Obtient des informations d'aperçu détaillées sur un jeu de données spécifique.

Paramètres :

  • datasetId (requis) : L'ID du jeu de données pour lequel obtenir les informations d'aperçu

Exemple de réponse :

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

Crée une tâche pour analyser des données avec des questions en langage naturel.

Paramètres :

  • question (requis) : La question ou l'invite en langage naturel pour analyser les données
  • dataset_id (requis) : L'ID du jeu de données à analyser
  • datasource_ids (optionnel) : Tableau d'IDs de sources de données spécifiques dans le jeu de données à analyser
  • session_id (optionnel) : ID de session pour regrouper les tâches liées
  • stream (optionnel, par défaut : false) : S'il faut diffuser les résultats en continu
  • output_language (optionnel, par défaut : "AUTO") : La langue de sortie
  • job_mode (optionnel, par défaut : "AUTO") : Le mode de la tâche

Exemple de réponse :

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

Crée une nouvelle session pour regrouper les tâches liées.

Paramètres :

  • name (requis) : Le nom de la session, qui peut comporter jusqu'à 128 caractères
  • output_language (optionnel, par défaut : "AUTO") : La langue dans laquelle la sortie est générée. Les options incluent : "AUTO", "EN", "ES", "AR", "PT", "ID", "JA", "RU", "HI", "FR", "DE", "VI", "TR", "PL", "IT", "KO", "ZH-CN", "ZH-TW"
  • job_mode (optionnel, par défaut : "AUTO") : Mode de tâche pour la session. Les options incluent : "AUTO", "DATA_ANALYTICS"
  • max_contextual_job_history (optionnel, par défaut : 10) : Le nombre maximum de tâches récentes conservées comme contexte pour la tâche suivante (0-10)
  • agent_id (optionnel, par défaut : "DATA_ANALYSIS_AGENT") : L'ID de l'agent

Exemple de réponse :

{
  "session_id": "session-abcdefghijklmnopqrstuvwxyz"
}

mcp_powerdrill_list_data_sources

Liste les sources de données dans un jeu de données spécifique.

Paramètres :

  • datasetId (requis) : L'ID du jeu de données dont lister les sources de données
  • pageNumber (optionnel, par défaut : 1) : Le numéro de page de début de liste
  • pageSize (optionnel, par défaut : 10) : Le nombre d'éléments sur une seule page
  • status (optionnel) : Filtrer les sources de données par statut : synching, invalid, synched (séparés par des virgules pour plusieurs)

Exemple de réponse :

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

Liste les sessions de votre compte Powerdrill.

Paramètres :

  • pageNumber (optionnel) : Le numéro de page de début de liste (par défaut : 1)
  • pageSize (optionnel) : Le nombre d'éléments sur une seule page (par défaut : 10)
  • search (optionnel) : Rechercher des sessions par nom

Exemple de réponse :

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

Crée un nouveau jeu de données dans votre compte Powerdrill.

Paramètres :

  • name (requis) : Le nom du jeu de données, qui peut comporter jusqu'à 128 caractères
  • description (optionnel) : La description du jeu de données, qui peut comporter jusqu'à 128 caractères

Exemple de réponse :

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

mcp_powerdrill_create_data_source_from_local_file

Crée une nouvelle source de données en téléchargeant un fichier local vers un jeu de données spécifié.

Paramètres :

  • dataset_id (requis) : L'ID du jeu de données dans lequel créer la source de données
  • file_path (requis) : Le chemin local du fichier à télécharger
  • file_name (optionnel) : Nom personnalisé pour le fichier, par défaut le nom de fichier original
  • chunk_size (optionnel, par défaut : 5 Mo) : Taille de chaque segment en octets pour le téléchargement multipart

Exemple de réponse :

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

Dépannage

Si vous rencontrez des problèmes :

  1. Assurez-vous que vos variables d'environnement sont correctement définies dans .env
  2. Vérifiez que le serveur démarre avec succès avec npm start
  3. Vérifiez que votre configuration Claude Desktop pointe vers les bons chemins de fichiers
  4. Vérifiez la sortie de la console pour tout message d'erreur

Licence

MIT