Powerdrill

oficial

Un servidor MCP que proporciona herramientas para interactuar con conjuntos de datos de Powerdrill, permitiendo análisis de datos inteligentes con IA y obtención de información.

¿Qué puedes hacer con Powerdrill MCP?

  • Lista tus conjuntos de datos de Powerdrill — Pide al asistente que muestre los conjuntos de datos disponibles usando mcp_powerdrill_list_datasets.
  • Obtén una vista general del conjunto de datos — Recupera la estructura, el resumen y las preguntas de exploración sugeridas con mcp_powerdrill_get_dataset_overview.
  • Analiza datos con lenguaje natural — Envía una pregunta sobre un conjunto de datos y obtén código, tablas, gráficos y texto mediante mcp_powerdrill_create_job.
  • Sube un archivo local a un conjunto de datos — Agrega un CSV, Excel o PDF desde tu máquina usando mcp_powerdrill_create_data_source_from_local_file.
  • Crea un nuevo conjunto de datos — Aprovisiona un conjunto de datos con nombre en tu cuenta con mcp_powerdrill_create_dataset.
  • Gestiona sesiones de análisis — Crea sesiones con mcp_powerdrill_create_session y lista las existentes con mcp_powerdrill_list_sessions.

Documentación

Servidor MCP de Powerdrill

smithery badge

Un servidor del Protocolo de Contexto de Modelo (MCP) que proporciona herramientas para interactuar con conjuntos de datos de Powerdrill, autenticado con el ID de Usuario y la Clave API del Proyecto de Powerdrill.

Visite https://chat.powerdrill.ai/ para realizar análisis de datos con IA de forma individual o úselo con su Equipo.

Si tiene el ID de Usuario y la Clave API del Proyecto de Powerdrill de su Equipo, puede manipular los datos a través de los clientes web de código abierto de Powerdrill:

Características

  • Autenticación con Powerdrill usando ID de Usuario y Clave API del Proyecto
  • Listar los conjuntos de datos disponibles en su cuenta de Powerdrill
  • Obtener 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

Instalación

Instalación a través de Smithery

Para instalar powerdrill-mcp para Claude Desktop automáticamente a través de Smithery:

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

Desde npm

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

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

Desde el código fuente

Clone este repositorio e instale las dependencias:

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

Uso en CLI

Si se instala globalmente:

# Start the MCP server
powerdrill-mcp

Si usa npx:

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

Necesitará 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.

Requisitos previos

Para usar este servidor MCP, necesitará una cuenta de Powerdrill con credenciales API válidas (ID de Usuario y Clave API). Aquí le mostramos cómo obtenerlas:

  1. Regístrese para obtener una cuenta de Equipo de Powerdrill si aún no lo ha hecho
  2. Navegue a la configuración de su cuenta
  3. Busque la sección API donde encontrará su:
    • ID de Usuario: Un identificador único para su cuenta
    • Clave API: Su token de autenticación para el acceso a la API

Primero, vea este video tutorial sobre cómo crear su Equipo de Powerdrill:

Create Powerdrill Team Tutorial

Luego, siga este video tutorial para configurar sus credenciales API:

Powerdrill API Setup Tutorial

Configuración rápida

La forma más fácil de configurar el servidor es usando el script de configuración proporcionado:

# Make the script executable
chmod +x setup.sh

# Run the setup script
./setup.sh

Esto hará lo siguiente:

  1. Instalar dependencias
  2. Compilar el código TypeScript
  3. Crear un archivo .env si no existe
  4. Generar archivos de configuración para Claude Desktop y Cursor con la configuración basada en npx (recomendada)

Luego edite su archivo .env con sus credenciales reales:

POWERDRILL_USER_ID=your_actual_user_id
POWERDRILL_PROJECT_API_KEY=your_actual_project_api_key

Actualice también 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 credentials

Uso

Ejecutar el servidor

npm start

Integración con Claude Desktop

  1. Abra Claude Desktop
  2. Vaya a Configuración > Configuración del Servidor
  3. Agregue un nuevo servidor con una de las siguientes configuraciones:

Opción 1: Usando 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: Usando node 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"
    }
  }
}
  1. Guarde la configuración
  2. Reinicie Claude Desktop

Integración con Cursor

  1. Abra Cursor
  2. Vaya a Configuración > Herramientas MCP
  3. Agregue una nueva herramienta MCP con una de las siguientes configuraciones:

Opción 1: Usando 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: Usando node 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"
    }
  }
}
  1. Guarde la configuración
  2. Reinicie Cursor si es necesario

Uso de las herramientas

Una vez conectado, puede usar las herramientas de Powerdrill en sus conversaciones con Claude Desktop, Cursor, Cline, Windsurf, etc.:

  • Listar conjuntos de datos: What datasets are available in my Powerdrill account? o Show me all my datasets
  • Crear conjunto de datos: Create a new dataset called "Sales Analytics" o Make a new dataset named "Customer Data" with description "Customer information for 2024 analysis"
  • Crear fuente de datos desde archivo local: Upload the file /Users/your_name/Downloads/sales_data.csv to dataset {dataset_id} o Add my local file /path/to/customer_data.xlsx to my {dataset_id} dataset
  • Obtener resumen del conjunto de datos: Tell me more about this dataset: {dataset_id} o Describe the structure of dataset {dataset_id}
  • Crear un trabajo: Analyze dataset {dataset_id} with this question: "How has the trend changed over time?" o Run 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 analysis o Start a session called "Customer Segmentation" for analyzing market data
  • Listar fuentes de datos: What data sources are available in dataset {dataset_id}? o Show me all files in the {dataset_id} dataset
  • Listar sesiones: Show me all my current analysis sessions o List my recent data analysis sessions

Herramientas disponibles

mcp_powerdrill_list_datasets

Enumera los conjuntos de datos disponibles de 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 detallada del resumen sobre un conjunto de datos específico.

Parámetros:

  • datasetId (requerido): El ID del conjunto de datos del cual obtener información de resumen

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_create_job

Crea un trabajo para analizar datos con preguntas en lenguaje natural.

Parámetros:

  • question (requerido): La pregunta o indicación en lenguaje natural para analizar los datos
  • dataset_id (requerido): El ID del conjunto de datos a analizar
  • datasource_ids (opcional): Matriz de IDs de fuentes de datos específicas dentro del conjunto de datos a analizar
  • session_id (opcional): ID de sesión para agrupar trabajos relacionados
  • stream (opcional, predeterminado: false): Si se deben transmitir los resultados
  • output_language (opcional, predeterminado: "AUTO"): El idioma para la salida
  • job_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_create_session

Crea una nueva sesión para agrupar trabajos relacionados.

Parámetros:

  • name (requerido): El nombre de la sesión, que puede tener hasta 128 caracteres de longitud
  • output_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 para la sesión. Las opciones incluyen: "AUTO", "DATA_ANALYTICS"
  • max_contextual_job_history (opcional, predeterminado: 10): El número máximo de trabajos recientes retenidos como contexto para el siguiente trabajo (0-10)
  • agent_id (opcional, predeterminado: "DATA_ANALYSIS_AGENT"): El ID del agente

Ejemplo de respuesta:

{
  "session_id": "session-abcdefghijklmnopqrstuvwxyz"
}

mcp_powerdrill_list_data_sources

Enumera las fuentes de datos en un conjunto de datos específico.

Parámetros:

  • datasetId (requerido): El ID del conjunto de datos del cual listar las fuentes de datos
  • pageNumber (opcional, predeterminado: 1): El número de página para comenzar a listar
  • pageSize (opcional, predeterminado: 10): El número de elementos en una sola página
  • status (opcional): Filtrar fuentes de datos por estado: synching, invalid, synched (separado por comas para múltiples)

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 listar (predeterminado: 1)
  • pageSize (opcional): El número 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_create_dataset

Crea un nuevo conjunto de datos en su cuenta de Powerdrill.

Parámetros:

  • name (requerido): El nombre del conjunto de datos, que puede tener hasta 128 caracteres de longitud
  • description (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_create_data_source_from_local_file

Crea una nueva fuente de datos subiendo un archivo local a un conjunto de datos especificado.

Parámetros:

  • dataset_id (requerido): El ID del conjunto de datos en el que crear la fuente de datos
  • file_path (requerido): La ruta local al archivo a subir
  • file_name (opcional): Nombre personalizado para el archivo, predeterminado al nombre de archivo original
  • chunk_size (opcional, predeterminado: 5MB): Tamaño de cada fragmento en bytes para la 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:

  1. Asegúrese de que sus variables de entorno estén configuradas correctamente en .env
  2. Verifique que el servidor se inicie correctamente con npm start
  3. Verifique que la configuración de su Claude Desktop apunte a las rutas de archivo correctas
  4. Revise la salida de la consola para ver si hay mensajes de error

Licencia

MIT