Powerdrill
officielUn 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_sessionet listez celles existantes avecmcp_powerdrill_list_sessions.
Documentation
Serveur MCP Powerdrill
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 :
- Édition Node.js : https://flow.powerdrill.ai/, ou jouez avec le client web open source https://github.com/powerdrillai/powerdrill-flow.
- Édition Python : https://powerdrill-flow.streamlit.app/, ou jouez avec le client web open source https://github.com/powerdrillai/powerdrill-flow-streamlit.
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 :
- Créez un compte d'équipe Powerdrill si ce n'est pas déjà fait
- Accédez aux paramètres de votre compte
- 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 :
Ensuite, suivez ce tutoriel vidéo pour configurer vos identifiants API :
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 :
- Installer les dépendances
- Compiler le code TypeScript
- Créer un fichier
.envs'il n'existe pas - 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
- Ouvrez Claude Desktop
- Allez dans Paramètres > Paramètres du serveur
- 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"
}
}
}
- Sauvegardez la configuration
- Redémarrez Claude Desktop
Intégration avec Cursor
- Ouvrez Cursor
- Allez dans Paramètres > Outils MCP
- 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"
}
}
}
- Sauvegardez la configuration
- 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?ouShow me all my datasets - Créer un jeu de données :
Create a new dataset called "Sales Analytics"ouMake 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}ouAdd 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}ouDescribe 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?"ouRun 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 analysisouStart a session called "Customer Segmentation" for analyzing market data - Lister les sources de données :
What data sources are available in dataset {dataset_id}?ouShow me all files in the {dataset_id} dataset - Lister les sessions :
Show me all my current analysis sessionsouList 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éesdataset_id(requis) : L'ID du jeu de données à analyserdatasource_ids(optionnel) : Tableau d'IDs de sources de données spécifiques dans le jeu de données à analysersession_id(optionnel) : ID de session pour regrouper les tâches liéesstream(optionnel, par défaut : false) : S'il faut diffuser les résultats en continuoutput_language(optionnel, par défaut : "AUTO") : La langue de sortiejob_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èresoutput_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éespageNumber(optionnel, par défaut : 1) : Le numéro de page de début de listepageSize(optionnel, par défaut : 10) : Le nombre d'éléments sur une seule pagestatus(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èresdescription(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éesfile_path(requis) : Le chemin local du fichier à téléchargerfile_name(optionnel) : Nom personnalisé pour le fichier, par défaut le nom de fichier originalchunk_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 :
- Assurez-vous que vos variables d'environnement sont correctement définies dans
.env - Vérifiez que le serveur démarre avec succès avec
npm start - Vérifiez que votre configuration Claude Desktop pointe vers les bons chemins de fichiers
- Vérifiez la sortie de la console pour tout message d'erreur
Licence
MIT

