Servidor MCP de Powerdrill
Un servidor de Protocolo de contexto de modelo (MCP) que proporciona herramientas para interactuar con conjuntos de datos de Powerdrill, autenticado con el ID de usuario de Powerdrill y la clave de API del proyecto.
Vaya a https://powerdrill.ai/ para realizar análisis de datos de IA de forma individual o para usarlos con su equipo.
Si tiene el ID de usuario de Powerdrill y la clave API del proyecto de su equipo, puede manipular los datos a través de los clientes web de código abierto de Powerdrill:
Edición Node.js : https://flow.powerdrill.ai/ , o juega con el cliente web de código abierto https://github.com/powerdrillai/powerdrill-flow .
Edición Python : https://powerdrill-flow.streamlit.app/ , o juegue con el cliente web de código abierto https://github.com/powerdrillai/powerdrill-flow-streamlit .
Características
Autenticarse con Powerdrill usando el ID de usuario y la clave API del proyecto
Enumere los conjuntos de datos disponibles en su cuenta de Powerdrill
Obtenga información detallada sobre conjuntos de datos específicos
Crear y ejecutar trabajos en conjuntos de datos con preguntas en lenguaje natural
Integración con Claude Desktop y otros clientes compatibles con MCP
Related MCP server: Vibe Coder MCP
Instalación
Instalación mediante herrería
Para instalar powerdrill-mcp para Claude Desktop automáticamente a través de Smithery :
npx -y @smithery/cli install @powerdrillai/powerdrill-mcp --client claudeDe npm
# Install globally
npm install -g @powerdrillai/powerdrill-mcp
# Or run directly with npx
npx @powerdrillai/powerdrill-mcpDe la fuente
Clonar este repositorio e instalar las dependencias:
git clone https://github.com/yourusername/powerdrill-mcp.git
cd powerdrill-mcp
npm installUso de la CLI
Si se instala globalmente:
# Start the MCP server
powerdrill-mcpSi usa npx:
# Run the latest version
npx -y @powerdrillai/powerdrill-mcp@latestNecesitará configurar las variables de entorno con sus credenciales de Powerdrill antes de ejecutar:
# Set environment variables
export POWERDRILL_USER_ID="your_user_id"
export POWERDRILL_PROJECT_API_KEY="your_project_api_key"O cree un archivo .env con estos valores.
Prerrequisitos
Para usar este servidor MCP, necesitará una cuenta de Powerdrill con credenciales de API válidas ( ID de usuario y clave de API ). Para obtenerlas, siga estos pasos:
Regístrese para obtener una cuenta del equipo Powerdrill si aún no lo ha hecho
Vaya a la configuración de su cuenta
Busca la sección API donde encontrarás:
ID de usuario: un identificador único para su cuenta
Clave API: su token de autenticación para acceder a la API
Primero, mira este video tutorial sobre cómo crear tu equipo Powerdrill:

Luego, sigue este video tutorial para configurar tus credenciales de API:

Configuración rápida
La forma más sencilla de configurar el servidor es utilizar el script de configuración proporcionado:
# Make the script executable
chmod +x setup.sh
# Run the setup script
./setup.shEsto hará lo siguiente:
Instalar dependencias
Construir el código TypeScript
Crea un archivo
.envsi no existeGenerar archivos de configuración para Claude Desktop y Cursor con la configuración basada en npx (recomendado)
Luego edita tu archivo .env con tus credenciales reales:
POWERDRILL_USER_ID=your_actual_user_id
POWERDRILL_PROJECT_API_KEY=your_actual_project_api_keyTambién actualice las credenciales en los archivos de configuración generados antes de usarlos.
Instalación manual
Si prefiere configurarlo manualmente:
# 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 credentialsUso
Ejecutando el servidor
npm startIntegración con Claude Desktop
Abra Claude Desktop
Vaya a Configuración > Configuración del servidor
Agregue un nuevo servidor con una de las siguientes configuraciones:
Opción 1: Usar npx (recomendado)
{
"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"
}
}
}Opción 2: Usar el nodo con instalación local
{
"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"
}
}
}Guardar la configuración
Reiniciar Claude Desktop
Integración con Cursor
Cursor abierto
Vaya a Configuración > Herramientas MCP
Agregue una nueva herramienta MCP con una de las siguientes configuraciones:
Opción 1: Usar npx (recomendado)
{
"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"
}
}
}Opción 2: Usar el nodo con instalación local
{
"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"
}
}
}Guardar la configuración
Reiniciar el cursor si es necesario
Usando las herramientas
Una vez conectado, podrás utilizar las herramientas de Powerdrill en tus conversaciones con Claude Desktop, Cursor, Cline, Windsurf, etc.:
Lista de conjuntos de datos:
What datasets are available in my Powerdrill account?oShow me all my datasetsCrear un conjunto de datos:
Create a new dataset called "Sales Analytics"oMake a new dataset named "Customer Data" with description "Customer information for 2024 analysis"Crear una fuente de datos desde un archivo local:
Upload the file /Users/your_name/Downloads/sales_data.csv to dataset {dataset_id}oAdd my local file /path/to/customer_data.xlsx to my {dataset_id} datasetObtener descripción general del conjunto de datos:
Tell me more about this dataset: {dataset_id}oDescribe the structure of dataset {dataset_id}Crear un trabajo:
Analyze dataset {dataset_id} with this question: "How has the trend changed over time?"oRun a query on {dataset_id} asking "What are the top 10 customers by revenue?"Crear una sesión:
Create a new session named "Sales Analysis 2024" for my data analysisoStart a session called "Customer Segmentation" for analyzing market dataLista de fuentes de datos:
What data sources are available in dataset {dataset_id}?oShow me all files in the {dataset_id} datasetListar sesiones:
Show me all my current analysis sessionsoList my recent data analysis sessions
Herramientas disponibles
mcp_powerdrill_list_datasets
Enumera los conjuntos de datos disponibles en su cuenta de Powerdrill.
Parámetros:
limit(opcional): número máximo de conjuntos de datos a devolver
Ejemplo de respuesta:
{
"datasets": [
{
"id": "dataset-dasfadsgadsgas",
"name": "mydata",
"description": "my dataset"
}
]
}mcp_powerdrill_get_dataset_overview
Obtiene información general detallada sobre un conjunto de datos específico.
Parámetros:
datasetId(obligatorio): El ID del conjunto de datos para el cual se obtendrá información general
Ejemplo de respuesta:
{
"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_crear_trabajo
Crea un trabajo para analizar datos con preguntas en lenguaje natural.
Parámetros:
question(obligatoria): La pregunta o indicación en lenguaje natural para analizar los datos.dataset_id(obligatorio): El ID del conjunto de datos a analizardatasource_ids(opcional): Matriz de identificaciones de fuentes de datos específicas dentro del conjunto de datos para analizarsession_id(opcional): ID de sesión para agrupar trabajos relacionadosstream(opcional, valor predeterminado: falso): si se deben transmitir los resultadosoutput_language(opcional, predeterminado: "AUTO"): El idioma de salidajob_mode(opcional, predeterminado: "AUTO"): El modo de trabajo
Ejemplo de respuesta:
{
"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_crear_sesión
Crea una nueva sesión para agrupar trabajos relacionados.
Parámetros:
name(obligatorio): el nombre de la sesión, que puede tener hasta 128 caracteres de longitudoutput_language(opcional, predeterminado: "AUTO"): El idioma en el que se genera la salida. Las opciones incluyen: "AUTO", "EN", "ES", "AR", "PT", "ID", "JA", "RU", "HI", "FR", "DE", "VI", "TR", "PL", "IT", "KO", "ZH-CN", "ZH-TW"job_mode(opcional, predeterminado: "AUTO"): Modo de trabajo de la sesión. Las opciones incluyen: "AUTO" y "DATA_ANALYTICS".max_contextual_job_history(opcional, predeterminado: 10): la cantidad máxima de trabajos recientes que se conservan como contexto para el próximo trabajo (0-10)agent_id(opcional, predeterminado: "DATA_ANALYSIS_AGENT"): El ID del agente
Ejemplo de respuesta:
{
"session_id": "session-abcdefghijklmnopqrstuvwxyz"
}fuentes de datos de la lista de taladros eléctricos mcp
Enumera las fuentes de datos en un conjunto de datos específico.
Parámetros:
datasetId(obligatorio): El ID del conjunto de datos del que se listarán las fuentes de datospageNumber(opcional, predeterminado: 1): el número de página para comenzar a enumerarpageSize(opcional, predeterminado: 10): la cantidad de elementos en una sola páginastatus(opcional): Filtrar fuentes de datos por estado: sincronizando, no válido, sincronizado (separado por comas para varios)
Ejemplo de respuesta:
{
"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
Enumera las sesiones de su cuenta de Powerdrill.
Parámetros:
pageNumber(opcional): el número de página para comenzar a enumerar (predeterminado: 1)pageSize(opcional): la cantidad de elementos en una sola página (predeterminado: 10)search(opcional): buscar sesiones por nombre
Ejemplo de respuesta:
{
"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_crear_conjunto_de_datos
Crea un nuevo conjunto de datos en su cuenta de Powerdrill.
Parámetros:
name(obligatorio): el nombre del conjunto de datos, que puede tener hasta 128 caracteres de longituddescription(opcional): La descripción del conjunto de datos, que puede tener hasta 128 caracteres de longitud
Ejemplo de respuesta:
{
"id": "dataset-adsdfasafdsfasdgasd",
"message": "Dataset created successfully"
}mcp_powerdrill_crear_fuente_de_datos_desde_archivo_local
Crea una nueva fuente de datos cargando un archivo local en un conjunto de datos especificado.
Parámetros:
dataset_id(obligatorio): El ID del conjunto de datos en el que se creará la fuente de datosfile_path(obligatorio): La ruta local al archivo a cargarfile_name(opcional): nombre personalizado para el archivo, el valor predeterminado es el nombre del archivo originalchunk_size(opcional, predeterminado: 5 MB): tamaño de cada fragmento en bytes para carga multiparte
Ejemplo de respuesta:
{
"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"
}
}Solución de problemas
Si encuentra problemas:
Asegúrese de que sus variables de entorno estén configuradas correctamente en
.envCompruebe que el servidor se inicia correctamente con
npm startVerifique que la configuración de Claude Desktop apunte a las rutas de archivo correctas
Verifique la salida de la consola para ver si hay mensajes de error
Licencia
Instituto Tecnológico de Massachusetts (MIT)