SSAS Cube MCP

Sobre o servidor MCP para consultar o SQL Server Analysis Services (SSAS) via DAX e MDX. Conecta agentes de IA como GitHub Copilot, Claude e outros clientes MCP aos seus cubos SSAS.

Documentação

Servidor MCP SSAS Cube

Um servidor Model Context Protocol (MCP) que conecta agentes de IA ao SQL Server Analysis Services (SSAS). Ele permite que ferramentas como GitHub Copilot, Claude (via Codex ou Claude Code) e outros clientes MCP executem consultas DAX e MDX, explorem modelos e listem medidas, tudo por meio de linguagem natural.

Somente Windows
O SSAS usa a biblioteca de cliente ADOMD.NET, que requer .NET Framework no Windows.

Recursos

FerramentaDescrição
execute_queryExecuta qualquer consulta DAX (EVALUATE ...) ou MDX (SELECT ...)
list_catalogsLista todos os bancos de dados na instância SSAS
list_tablesLista tabelas, dimensões e grupos de medidas
list_columnsLista colunas de uma tabela específica
list_measuresLista todas as medidas visíveis com suas expressões DAX
describe_modelResumo de alto nível: tabelas, medidas, metadados

Pré-requisitos

  1. Python 3.10+

  2. Biblioteca de cliente ADOMD.NET
    A DLL Microsoft.AnalysisServices.AdomdClient.dll deve estar presente na máquina. Ela acompanha qualquer um destes:

    O servidor detecta automaticamente locais de instalação comuns. Se a sua DLL estiver em outro lugar, defina a variável de ambiente ADOMD_DLL_PATH para a pasta que a contém.

Instalação

pip install ssas-mcp-server

Após a instalação, o servidor pode ser iniciado com:

ssas-mcp-server

Ou instale a partir do código-fonte:

git clone https://github.com/NexusAI-Solutions/ssas-mcp-server.git
cd ssas-mcp-server
pip install .

Configuração

O servidor é configurado por meio de variáveis de ambiente:

VariávelObrigatóriaDescrição
SSAS_SERVERSimNome da instância SSAS (ex.: SERVER\INSTANCE)
SSAS_DATABASESimNome do banco de dados / catálogo
SSAS_PROVIDERNãoProvedor OLAP (padrão: MSOLAP)
SSAS_CONNECTION_STRINGNãoString de conexão ADOMD completa (substitui servidor/banco/provedor)
ADOMD_DLL_PATHNãoCaminho explícito para a pasta que contém a DLL ADOMD.NET

Uso

Executar diretamente

set SSAS_SERVER=SERVER\INSTANCE
set SSAS_DATABASE=My Cube
ssas-mcp-server

O servidor inicia no modo stdio e aguarda a conexão de um cliente MCP.

Você também pode executá-lo como um módulo Python:

python -m ssas_mcp_server

VS Code / Codex

Adicione isto ao seu .vscode/mcp.json:

{
  "servers": {
    "ssas": {
      "command": "ssas-mcp-server",
      "env": {
        "SSAS_SERVER": "SERVER\\INSTANCE",
        "SSAS_DATABASE": "My Cube"
      }
    }
  }
}

Claude Code

claude mcp add ssas -- ssas-mcp-server

Em seguida, defina as variáveis de ambiente no seu shell antes de iniciar o Claude Code, ou passe-as inline.

Claude Desktop

Adicione ao seu claude_desktop_config.json:

{
  "mcpServers": {
    "ssas": {
      "command": "ssas-mcp-server",
      "env": {
        "SSAS_SERVER": "SERVER\\INSTANCE",
        "SSAS_DATABASE": "My Cube"
      }
    }
  }
}

Exemplos de consultas

Depois de conectado, você pode pedir ao seu assistente de IA coisas como:

  • "Liste todas as tabelas no modelo SSAS"
  • "Mostre-me as medidas e suas expressões DAX"
  • "Execute esta consulta DAX: EVALUATE TOPN(10, 'Sales', [Revenue], DESC)"
  • "Descreva o modelo de dados"
  • "Quais colunas a tabela Customers possui?"

Solução de problemas

Could not load file or assembly 'Microsoft.AnalysisServices.AdomdClient'

A DLL ADOMD.NET não foi encontrada. Soluções:

  1. Instale o SSMS, o Power BI Desktop ou as bibliotecas de cliente AMO autônomas.
  2. Defina ADOMD_DLL_PATH para a pasta que contém Microsoft.AnalysisServices.AdomdClient.dll.

Para encontrar a DLL no seu sistema:

where /r "C:\Program Files" Microsoft.AnalysisServices.AdomdClient.dll

Server is not found or not accessible

  • Verifique se o nome do servidor corresponde exatamente ao que funciona no SSMS ou no Power BI.
  • Para instâncias nomeadas, use o formato SERVER\INSTANCE.
  • Certifique-se de que o serviço SQL Server Browser esteja em execução se você estiver conectando pelo nome da instância.

Licença

MIT