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

HerramientaDescripción
execute_queryEjecutar cualquier consulta DAX (EVALUATE ...) o MDX (SELECT ...)
list_catalogsListar todas las bases de datos de la instancia de SSAS
list_tablesListar tablas, dimensiones y grupos de medidas
list_columnsListar columnas de una tabla específica
list_measuresListar todas las medidas visibles con sus expresiones DAX
describe_modelResumen de alto nivel: tablas, medidas, metadatos

Requisitos previos

  1. Python 3.10+

  2. Biblioteca cliente ADOMD.NET
    El DLL Microsoft.AnalysisServices.AdomdClient.dll debe estar presente en la máquina. Se incluye con cualquiera de estos:

    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_PATH en 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:

VariableObligatoriaDescripción
SSAS_SERVERNombre de la instancia de SSAS (p. ej., SERVER\INSTANCE)
SSAS_DATABASENombre de la base de datos / catálogo
SSAS_PROVIDERNoProveedor OLAP (predeterminado: MSOLAP)
SSAS_CONNECTION_STRINGNoCadena de conexión ADOMD completa (anula servidor/base de datos/proveedor)
ADOMD_DLL_PATHNoRuta 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:

  1. Instale SSMS, Power BI Desktop o las bibliotecas cliente AMO independientes.
  2. Establezca ADOMD_DLL_PATH en la carpeta que contiene Microsoft.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