DEV Community

Cover image for SSAS MCP Server: Let AI Agents Query Your Analysis Services Cubes
Nexus AI
Nexus AI

Posted on • Originally published at nexus-ai.nl

SSAS MCP Server: Let AI Agents Query Your Analysis Services Cubes

If you work with SSAS, you know the drill. The data is there, the cubes are well-modeled, but actually getting answers out of them requires someone who knows DAX or MDX. For most organizations that means a small group of people becomes the bottleneck for every ad-hoc question.

We got tired of that pattern, so we built an MCP server that gives AI agents direct access to SSAS. It connects through ADOMD.NET, supports both DAX and MDX, and works with any MCP client (Claude Desktop, GitHub Copilot, Cursor, Claude Code, whatever you prefer).

It's open source, MIT licensed, and you can install it with pip.

Repo: NexusAI-Solutions/ssas-mcp-server

What it does

Six tools, all read-only:

Tool What it does
execute_query Run DAX or MDX queries
list_catalogs List databases on the instance
list_tables Tables, dimensions, measure groups
list_columns Columns for a specific table
list_measures All measures with their DAX expressions
describe_model Model overview with tables, measures, metadata

The AI agent uses these tools to figure out the model structure, write the appropriate query, run it, and return the results. You ask a question in plain English, it handles the rest.

Setup

pip install ssas-mcp-server
Enter fullscreen mode Exit fullscreen mode

Environment variables:

set SSAS_SERVER=YOUR_SERVER\INSTANCE
set SSAS_DATABASE=Your Cube Name
Enter fullscreen mode Exit fullscreen mode

Claude Desktop

claude_desktop_config.json:

{
  "mcpServers": {
    "ssas": {
      "command": "python",
      "args": ["-m", "ssas_mcp_server"],
      "env": {
        "SSAS_SERVER": "YOUR_SERVER\\INSTANCE",
        "SSAS_DATABASE": "Your Cube Name"
      }
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

VS Code / GitHub Copilot

.vscode/mcp.json:

{
  "servers": {
    "ssas": {
      "command": "python",
      "args": ["-m", "ssas_mcp_server"],
      "env": {
        "SSAS_SERVER": "YOUR_SERVER\\INSTANCE",
        "SSAS_DATABASE": "Your Cube Name"
      }
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

Claude Code

claude mcp add ssas -- python -m ssas_mcp_server
Enter fullscreen mode Exit fullscreen mode

Why not just use CData or the Power BI MCP Server?

Fair question. Here's the short version:

SSAS MCP Server CData SSAS MCP Power BI MCP Server
Data source SSAS (Tabular + Multidimensional) SSAS (via JDBC) Power BI semantic models only
Queries Native DAX + MDX SQL (translated) DAX (via Copilot)
License MIT (free) Commercial (paid) Free
Runtime Python Java Cloud / VS Code
Setup pip install JDBC driver + config Microsoft ecosystem

CData requires a paid license and runs on Java. It translates queries to SQL instead of using native DAX/MDX, which limits what you can do analytically.

Microsoft's Power BI MCP Server only works with Power BI semantic models. If your cubes run on standalone SSAS or Azure Analysis Services, it doesn't apply.

This server fills the gap: lightweight, open source, direct SSAS connection, native query languages.

Security

Read-only by design. No network endpoint exposed (runs via stdio). Authentication goes through your existing SSAS instance security, so whatever permissions the Windows user has, the AI agent inherits. Nothing more.

Where it's useful

The most common scenario we see: someone in a meeting needs a number that doesn't exist in any pre-built report. Normally that becomes a request that takes a day or two. With this, the analyst opens Claude and asks the question directly. Answer comes back in seconds, and you can see the actual DAX query it ran if you want to verify.

Also useful for onboarding. New people on the team can ask "describe the data model" and get a structured overview instead of digging through documentation that's probably outdated anyway.

Limitations

Windows only, because ADOMD.NET requires .NET Framework. We're looking into cross-platform options but nothing concrete yet.

Links

If you run into issues or have feature requests, open an issue on GitHub. And if you need help integrating MCP servers into your BI stack, we do that too.

Top comments (0)