Metabase MCP Server

Integra assistentes de IA com a plataforma de inteligência de negócios e análises Metabase.

Documentação

Servidor MCP do Metabase

Um servidor Model Context Protocol que integra assistentes de IA com a plataforma de analytics do Metabase.

Visão Geral

Este servidor MCP fornece integração com a API do Metabase, permitindo que LLMs com capacidades MCP interajam diretamente com seus dados analíticos. Este servidor atua como uma ponte entre sua plataforma de analytics e IA conversacional.

Principais Recursos

  • Acesso a Recursos: Navegue pelos recursos do Metabase via URIs intuitivos metabase://
  • Dois Métodos de Autenticação: Suporte para autenticação baseada em sessão e chave de API
  • Acesso Estruturado a Dados: Respostas em formato JSON para fácil consumo por assistentes de IA
  • Logging Abrangente: Logs detalhados para fácil depuração e monitoramento
  • Tratamento de Erros: Tratamento robusto de erros com mensagens claras

Ferramentas Disponíveis

O servidor expõe as seguintes ferramentas para assistentes de IA:

Ferramentas de Acesso a Dados

  • list_dashboards: Recuperar todos os dashboards disponíveis na sua instância do Metabase
  • list_cards: Obter todas as perguntas/cartões salvos no Metabase
  • list_databases: Visualizar todas as fontes de banco de dados conectadas
  • list_collections: Listar todas as coleções no Metabase
  • list_tables: Listar todas as tabelas em um banco de dados específico
  • get_table_fields: Obter todos os campos/colunas em uma tabela específica

Ferramentas de Execução

  • execute_card: Executar perguntas salvas e recuperar resultados com parâmetros opcionais
  • execute_query: Executar consultas SQL personalizadas contra qualquer banco de dados conectado

Gerenciamento de Dashboards

  • get_dashboard_cards: Extrair todos os cartões de um dashboard específico
  • create_dashboard: Criar um novo dashboard com nome e parâmetros especificados
  • update_dashboard: Atualizar o nome, descrição ou parâmetros de um dashboard existente
  • delete_dashboard: Excluir um dashboard
  • add_card_to_dashboard: Adicionar ou atualizar cartões em um dashboard com especificações de posição e atribuição opcional de aba

Gerenciamento de Cartões/Perguntas

  • create_card: Criar uma nova pergunta/cartão com consulta SQL
  • update_card_visualization: Atualizar configurações de visualização de um cartão

Gerenciamento de Coleções

  • create_collection: Criar uma nova coleção para organizar dashboards e perguntas

Configuração

O servidor suporta dois métodos de autenticação:

Opção 1: Autenticação por Nome de Usuário e Senha

# Required
METABASE_URL=https://your-metabase-instance.com
METABASE_USER_EMAIL=your_email@example.com
METABASE_PASSWORD=your_password

# Optional
LOG_LEVEL=info # Options: debug, info, warn, error, fatal

Opção 2: Autenticação por Chave de API (Recomendado para Produção)

# Required
METABASE_URL=https://your-metabase-instance.com
METABASE_API_KEY=your_api_key

# Optional
LOG_LEVEL=info # Options: debug, info, warn, error, fatal

Você pode definir essas variáveis de ambiente diretamente ou usar um arquivo .env com dotenv.

Implantação com Smithery

Para usar este servidor MCP com Claude ou outros assistentes de IA, faça um fork deste repositório e implante usando Smithery:

Passos para Implantar:

  1. Faça um fork deste repositório para sua conta do GitHub
  2. Acesse Smithery e conecte-se com sua conta do GitHub
  3. Implante o repositório bifurcado através da interface do Smithery

Integração com Claude Desktop

Configure seu Claude Desktop para usar a versão hospedada no Smithery:

MacOS: Edite ~/Library/Application Support/Claude/claude_desktop_config.json

Windows: Edite %APPDATA%/Claude/claude_desktop_config.json

Autenticação por Chave de API:

{
  "mcpServers": {
    "metabase-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@smithery/cli@latest",
        "run",
        "YOUR_GITHUB_USERNAME/metabase-mcp-server",
        "--config",
        "{\"metabaseUrl\":\"https://your-metabase-instance.com\",\"metabaseApiKey\":\"your_api_key\",\"metabasePassword\":\"\",\"metabaseUserEmail\":\"\"}"
      ]
    }
  }
}

Autenticação por Nome de Usuário e Senha:

{
  "mcpServers": {
    "metabase-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@smithery/cli@latest",
        "run",
        "YOUR_GITHUB_USERNAME/metabase-mcp-server",
        "--config",
        "{\"metabaseUrl\":\"https://your-metabase-instance.com\",\"metabaseApiKey\":\"\",\"metabasePassword\":\"your_password\",\"metabaseUserEmail\":\"your_email@example.com\"}"
      ]
    }
  }
}

Considerações de Segurança

  • Recomenda-se usar autenticação por chave de API para ambientes de produção
  • Mantenha suas chaves de API e credenciais seguras
  • Considere usar variáveis de ambiente em vez de codificar credenciais
  • Aplique medidas de segurança de rede apropriadas para restringir o acesso à sua instância do Metabase

Contribuindo

Contribuições são bem-vindas! Sinta-se à vontade para enviar um Pull Request.