Redash

Execute consultas e recupere resultados usando a API do Redash.

Documentação

Servidor MCP Redash

Servidor MCP para a API do Redash, que fornece funcionalidades como execução de consultas e obtenção de resultados.

Ferramentas

  1. execute_query_and_wait

    • Executa uma consulta SQL e aguarda até que o resultado esteja disponível
    • Parâmetros de entrada:
      • query (string): A consulta SQL a ser executada
      • data_source_id (número, opcional): ID da fonte de dados onde a consulta será executada
      • max_age (número, opcional): Tempo de expiração do cache (em segundos)
    • Retorno: O resultado da consulta quando disponível
  2. list_data_sources

    • Lista todas as fontes de dados disponíveis
    • Parâmetros de entrada: nenhum
    • Retorno: Uma matriz de fontes de dados
  3. get_data_source

    • Obtém detalhes sobre uma fonte de dados específica
    • Parâmetros de entrada:
      • data_source_id (número): ID da fonte de dados
    • Retorno: Informações detalhadas da fonte de dados
  4. get_query

    • Obtém detalhes de uma consulta salva pelo ID da consulta (incluindo o texto SQL)
    • Parâmetros de entrada:
      • query_id (número): ID da consulta
    • Retorno: Informações detalhadas da consulta salva
  5. search_queries

    • Pesquisa consultas salvas por palavra-chave
    • Parâmetros de entrada:
      • q (string): Palavra-chave de pesquisa
      • page (número, opcional): Número da página
      • page_size (número, opcional): Tamanho da página
    • Retorno: Lista de consultas salvas que correspondem à pesquisa
  6. get_query_result

    • Obtém um resultado de consulta existente pelo ID do resultado (sem reexecutar)
    • Parâmetros de entrada:
      • query_result_id (número): ID do resultado da consulta
    • Retorno: O resultado da consulta
  7. get_saved_query_result

    • Obtém o resultado em cache mais recente de uma consulta salva pelo ID da consulta
    • Parâmetros de entrada:
      • query_id (número): ID da consulta
    • Retorno: O resultado em cache mais recente da consulta salva

Configuração

Chave da API

Obtenha a chave da API do Redash.

  1. Faça login no Redash
  2. Clique em "Edit Profile"
  3. Copie a chave da API

Variáveis de ambiente

As seguintes variáveis de ambiente são necessárias:

  • REDASH_API_KEY: Chave da API do Redash
  • REDASH_BASE_URL: URL do Redash (exemplo: https://redash.example.com)
  • DATA_SOURCE_ID (opcional): ID padrão da fonte de dados (usado quando data_source_id é omitido em execute_query_and_wait)
  • PORT (opcional): Número da porta do servidor HTTP (padrão: 3000, usado com Streamable HTTP / SSE)

Instalação

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

Modos de inicialização

Suporta 3 modos de inicialização.

stdio (padrão)Streamable HTTPSSE (obsoleto)
Flag de inicializaçãonenhum--streamable-http--sse
Método de comunicaçãoEntrada e saída padrãoHTTPHTTP (Server-Sent Events)
Portanão necessáriapadrão 3000padrão 3000
Endpoint-POST/GET/DELETE /mcpGET /sse, POST /messages
Uso principalUso localCompartilhamento remoto com múltiplos clientesCompatibilidade legada

stdio (padrão)

Modo que comunica via entrada e saída padrão. Use este modo para uso local a partir de um cliente MCP.

npm run build
node dist/index.js

Durante o desenvolvimento, você pode executar TypeScript diretamente com npm run dev.

Ao usar com npx

Se npm link estiver instalado, você pode executar diretamente com npx.

npx mcp-redash

Exemplo de configuração do .mcp.json no 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"
      }
    }
  }
}

Ao usar com Docker

docker build -t yuki9541134/mcp-redash .

Exemplo de configuração do .mcp.json no 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 inicia como servidor HTTP e comunica via protocolo Streamable HTTP. Adequado para clientes web e conexões remotas.

Configure PORT REDASH_BASE_URL REDASH_API_KEY com .env antes de iniciar.

Ao iniciar com node

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

Durante o desenvolvimento, você pode executar TypeScript diretamente com npm run dev -- --streamable-http.

Ao iniciar com docker compose

docker compose up -d

Você pode alterar a porta com PORT em .env (padrão: 3000).

Endpoints:

  • POST /mcp - Envio de requisições
  • GET /mcp - Estabelecimento do stream SSE (para notificações servidor → cliente)
  • DELETE /mcp - Encerramento da sessão

Exemplo de configuração do .mcp.json no Claude Code:

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

Exemplo de configuração do config.toml no Codex:

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

SSE (obsoleto)

Obsoleto: O modo SSE é mantido para compatibilidade legada. Para novos usos, recomendamos o modo Streamable HTTP.

Modo que inicia como servidor HTTP e comunica via Server-Sent Events (SSE).

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

Durante o desenvolvimento, você pode executar TypeScript diretamente com npm run dev -- --sse.

Endpoints:

  • GET /sse - Estabelecimento da conexão SSE
  • POST /messages - Envio de mensagens

Exemplo de configuração do .mcp.json no Claude Code:

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