Redash

Ejecuta consultas y recupera resultados usando la API de Redash.

Documentación

Servidor MCP de Redash

Servidor MCP para la API de Redash que proporciona funciones como la ejecución de consultas y la obtención de resultados.

Herramientas

  1. execute_query_and_wait

    • Ejecuta una consulta SQL y espera hasta que el resultado esté disponible
    • Parámetros de entrada:
      • query (cadena): Consulta SQL a ejecutar
      • data_source_id (número, opcional): ID de la fuente de datos donde se ejecutará la consulta
      • max_age (número, opcional): Tiempo de expiración de caché (segundos)
    • Valor de retorno: Resultado de la consulta cuando esté disponible
  2. list_data_sources

    • Lista todas las fuentes de datos disponibles
    • Parámetros de entrada: Ninguno
    • Valor de retorno: Matriz de fuentes de datos
  3. get_data_source

    • Obtiene los detalles de una fuente de datos específica
    • Parámetros de entrada:
      • data_source_id (número): ID de la fuente de datos
    • Valor de retorno: Información detallada de la fuente de datos
  4. get_query

    • Obtiene los detalles de una consulta guardada por su ID (incluye el texto SQL)
    • Parámetros de entrada:
      • query_id (número): ID de la consulta
    • Valor de retorno: Información detallada de la consulta guardada
  5. search_queries

    • Busca consultas guardadas por palabra clave
    • Parámetros de entrada:
      • q (cadena): Palabra clave de búsqueda
      • page (número, opcional): Número de página
      • page_size (número, opcional): Tamaño de página
    • Valor de retorno: Lista de consultas guardadas que coinciden con la búsqueda
  6. get_query_result

    • Obtiene un resultado de consulta existente por su ID (sin volver a ejecutarla)
    • Parámetros de entrada:
      • query_result_id (número): ID del resultado de la consulta
    • Valor de retorno: Resultado de la consulta
  7. get_saved_query_result

    • Obtiene el último resultado en caché de una consulta guardada por su ID
    • Parámetros de entrada:
      • query_id (número): ID de la consulta
    • Valor de retorno: Último resultado en caché de la consulta guardada

Configuración

Clave API

Obtenga la clave API de Redash.

  1. Inicie sesión en Redash
  2. Haga clic en «Edit Profile»
  3. Copie la clave API

Variables de entorno

Se requieren las siguientes variables de entorno:

  • REDASH_API_KEY: Clave API de Redash
  • REDASH_BASE_URL: URL de Redash (ejemplo: https://redash.example.com)
  • DATA_SOURCE_ID (opcional): ID de fuente de datos predeterminado (se usa cuando se omite data_source_id en execute_query_and_wait)
  • PORT (opcional): Número de puerto del servidor HTTP (predeterminado: 3000, usado con Streamable HTTP / SSE)

Instalación

git clone https://github.com/yuki9541134/mcp-redash.git
cd mcp-redash
npm install
npm run build
npm link

Modos de inicio

Se admiten 3 modos de inicio.

stdio (predeterminado)Streamable HTTPSSE (obsoleto)
Indicador de inicioNinguno--streamable-http--sse
Método de comunicaciónEntrada/salida estándarHTTPHTTP (Server-Sent Events)
PuertoNo necesarioPredeterminado 3000Predeterminado 3000
Punto final-POST/GET/DELETE /mcpGET /sse, POST /messages
Uso principalUso localCompartir remoto con múltiples clientesCompatibilidad heredada

stdio (predeterminado)

Modo que se comunica mediante entrada/salida estándar. Úselo para uso local desde un cliente MCP.

npm run build
node dist/index.js

Durante el desarrollo, puede ejecutar TypeScript directamente con npm run dev.

Al usar con npx

Si npm link está instalado, puede ejecutarlo directamente con npx.

npx mcp-redash

Ejemplo de configuración de .mcp.json en Claude Code:

{
  "mcpServers": {
    "redash": {
      "type": "stdio",
      "command": "npx",
      "args": ["mcp-redash"],
      "env": {
        "REDASH_API_KEY": "<YOUR_API_KEY>",
        "REDASH_BASE_URL": "https://redash.example.com"
      }
    }
  }
}

Al usar con Docker

docker build -t yuki9541134/mcp-redash .

Ejemplo de configuración de .mcp.json en Claude Code:

{
  "mcpServers": {
    "redash": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-e", "REDASH_API_KEY",
        "-e", "REDASH_BASE_URL",
        "yuki9541134/mcp-redash"
      ],
      "env": {
        "REDASH_API_KEY": "<YOUR_API_KEY>",
        "REDASH_BASE_URL": "https://redash.example.com"
      }
    }
  }
}

Streamable HTTP

Modo que se inicia como servidor HTTP y se comunica mediante el protocolo Streamable HTTP. Es adecuado para clientes web y conexiones remotas.

Configure PORT REDASH_BASE_URL REDASH_API_KEY con .env antes de iniciar.

Al iniciar con node

npm run build
node dist/index.js --streamable-http

Durante el desarrollo, puede ejecutar TypeScript directamente con npm run dev -- --streamable-http.

Al iniciar con docker compose

docker compose up -d

Puede cambiar el puerto con PORT de .env (predeterminado: 3000).

Puntos finales:

  • POST /mcp - Envío de solicitudes
  • GET /mcp - Establecimiento del flujo SSE (para notificaciones de servidor a cliente)
  • DELETE /mcp - Finalización de la sesión

Ejemplo de configuración de .mcp.json en Claude Code:

{
  "mcpServers": {
    "redash": {
      "type": "http",
      "url": "http://localhost:3000/mcp"
    }
  }
}

Ejemplo de configuración de config.toml en Codex

[mcp_servers.redash]
type = "url"
url = "http://localhost:3000/mcp"

SSE (obsoleto)

Obsoleto: El modo SSE se mantiene por compatibilidad heredada. Para nuevos usos, se recomienda el modo Streamable HTTP.

Modo que se inicia como servidor HTTP y se comunica mediante Server-Sent Events (SSE).

npm run build
node dist/index.js --sse

Durante el desarrollo, puede ejecutar TypeScript directamente con npm run dev -- --sse.

Puntos finales:

  • GET /sse - Establecimiento de la conexión SSE
  • POST /messages - Envío de mensajes

Ejemplo de configuración de .mcp.json en Claude Code:

{
  "mcpServers": {
    "redash": {
      "type": "sse",
      "url": "http://localhost:3000/sse"
    }
  }
}