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
| Ferramenta | Descrição |
|---|---|
execute_query | Executa qualquer consulta DAX (EVALUATE ...) ou MDX (SELECT ...) |
list_catalogs | Lista todos os bancos de dados na instância SSAS |
list_tables | Lista tabelas, dimensões e grupos de medidas |
list_columns | Lista colunas de uma tabela específica |
list_measures | Lista todas as medidas visíveis com suas expressões DAX |
describe_model | Resumo de alto nível: tabelas, medidas, metadados |
Pré-requisitos
-
Python 3.10+
-
Biblioteca de cliente ADOMD.NET
A DLLMicrosoft.AnalysisServices.AdomdClient.dlldeve estar presente na máquina. Ela acompanha qualquer um destes:- SQL Server Management Studio (SSMS)
- Power BI Desktop
- As bibliotecas de cliente AMO/ADOMD autônomas
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_PATHpara 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ável | Obrigatória | Descrição |
|---|---|---|
SSAS_SERVER | Sim | Nome da instância SSAS (ex.: SERVER\INSTANCE) |
SSAS_DATABASE | Sim | Nome do banco de dados / catálogo |
SSAS_PROVIDER | Não | Provedor OLAP (padrão: MSOLAP) |
SSAS_CONNECTION_STRING | Não | String de conexão ADOMD completa (substitui servidor/banco/provedor) |
ADOMD_DLL_PATH | Não | Caminho 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:
- Instale o SSMS, o Power BI Desktop ou as bibliotecas de cliente AMO autônomas.
- Defina
ADOMD_DLL_PATHpara a pasta que contémMicrosoft.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