SSAS Cube MCP
Acerca del servidor MCP para consultar SQL Server Analysis Services (SSAS) mediante DAX y MDX. Conecta agentes de IA como GitHub Copilot, Claude y otros clientes MCP a sus cubos SSAS.
Documentación
SSAS MCP Server
Un servidor de Model Context Protocol (MCP) que conecta agentes de IA a SQL Server Analysis Services (SSAS). Permite que herramientas como GitHub Copilot, Claude (mediante Codex o Claude Code) y otros clientes MCP ejecuten consultas DAX y MDX, exploren modelos y enumeren medidas, todo a través de lenguaje natural.
Solo Windows
SSAS utiliza la biblioteca cliente ADOMD.NET, que requiere .NET Framework en Windows.
Características
| Herramienta | Descripción |
|---|---|
execute_query | Ejecutar cualquier consulta DAX (EVALUATE ...) o MDX (SELECT ...) |
list_catalogs | Listar todas las bases de datos de la instancia de SSAS |
list_tables | Listar tablas, dimensiones y grupos de medidas |
list_columns | Listar columnas de una tabla específica |
list_measures | Listar todas las medidas visibles con sus expresiones DAX |
describe_model | Resumen de alto nivel: tablas, medidas, metadatos |
Requisitos previos
-
Python 3.10+
-
Biblioteca cliente ADOMD.NET
El DLLMicrosoft.AnalysisServices.AdomdClient.dlldebe estar presente en la máquina. Se incluye con cualquiera de estos:- SQL Server Management Studio (SSMS)
- Power BI Desktop
- Las bibliotecas cliente AMO/ADOMD independientes
El servidor detecta automáticamente las ubicaciones de instalación comunes. Si su DLL está en otra ubicación, establezca la variable de entorno
ADOMD_DLL_PATHen la carpeta que lo contiene.
Instalación
pip install ssas-mcp-server
Después de la instalación, el servidor se puede iniciar con:
ssas-mcp-server
O instalar desde el código fuente:
git clone https://github.com/NexusAI-Solutions/ssas-mcp-server.git
cd ssas-mcp-server
pip install .
Configuración
El servidor se configura mediante variables de entorno:
| Variable | Obligatoria | Descripción |
|---|---|---|
SSAS_SERVER | Sí | Nombre de la instancia de SSAS (p. ej., SERVER\INSTANCE) |
SSAS_DATABASE | Sí | Nombre de la base de datos / catálogo |
SSAS_PROVIDER | No | Proveedor OLAP (predeterminado: MSOLAP) |
SSAS_CONNECTION_STRING | No | Cadena de conexión ADOMD completa (anula servidor/base de datos/proveedor) |
ADOMD_DLL_PATH | No | Ruta explícita a la carpeta que contiene el DLL de ADOMD.NET |
Uso
Ejecutar directamente
set SSAS_SERVER=SERVER\INSTANCE
set SSAS_DATABASE=My Cube
ssas-mcp-server
El servidor se inicia en modo stdio y espera a que un cliente MCP se conecte.
También puede ejecutarlo como módulo de Python:
python -m ssas_mcp_server
VS Code / Codex
Agregue esto a su .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
Luego establezca las variables de entorno en su shell antes de iniciar Claude Code, o páselas en línea.
Claude Desktop
Agregue esto a su claude_desktop_config.json:
{
"mcpServers": {
"ssas": {
"command": "ssas-mcp-server",
"env": {
"SSAS_SERVER": "SERVER\\INSTANCE",
"SSAS_DATABASE": "My Cube"
}
}
}
}
Consultas de ejemplo
Una vez conectado, puede pedirle a su asistente de IA cosas como:
- "Listar todas las tablas del modelo SSAS"
- "Muéstrame las medidas y sus expresiones DAX"
- "Ejecuta esta consulta DAX:
EVALUATE TOPN(10, 'Sales', [Revenue], DESC)" - "Describe el modelo de datos"
- "¿Qué columnas tiene la tabla Customers?"
Solución de problemas
Could not load file or assembly 'Microsoft.AnalysisServices.AdomdClient'
No se encontró el DLL de ADOMD.NET. Soluciones:
- Instale SSMS, Power BI Desktop o las bibliotecas cliente AMO independientes.
- Establezca
ADOMD_DLL_PATHen la carpeta que contieneMicrosoft.AnalysisServices.AdomdClient.dll.
Para encontrar el DLL en su sistema:
where /r "C:\Program Files" Microsoft.AnalysisServices.AdomdClient.dll
Server is not found or not accessible
- Verifique que el nombre del servidor coincida exactamente con el que funciona en SSMS o Power BI.
- Para instancias con nombre, use el formato
SERVER\INSTANCE. - Asegúrese de que el servicio SQL Server Browser esté en ejecución si se conecta por nombre de instancia.
Licencia
MIT