Skip to main content
Glama
dbdave

SSAS MCP Server

by dbdave

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SSAS_SERVERYesHost, host\instance, or an http(s)://.../msmdpump.dll URL
SSAS_CATALOGYesSSAS database name
SSAS_ROW_LIMITNoHard cap on returned rows10000
SSAS_DEFAULT_CUBENoCube/model list_metadata uses when none is given
SSAS_ADOMD_DLL_DIRNoFolder containing Microsoft.AnalysisServices.AdomdClient.dll (auto-detected if not set)
SSAS_QUERY_TIMEOUTNoPer-query timeout, seconds60

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_metadataA

List the queryable metadata of an SSAS cube or tabular model.

Returns the exact bracketed unique names to use in MDX/DAX - call this before writing queries so names aren't guessed. Without a dimension, the overview lists measures (with measure group and display folder), dimension names, and multi-level user hierarchies. Pass a dimension to drill into that dimension's full set of attribute hierarchies and levels.

Args: cube_name: Cube (multidimensional) or model (tabular, usually 'Model') to describe. If omitted, uses the SSAS_DEFAULT_CUBE environment variable; if that is unset too, returns the list of available cubes/models so one can be chosen. dimension: Optional dimension unique name (e.g. '[Dim Event]') to list every hierarchy and level in that dimension.

execute_queryA

Execute a read-only MDX or DAX query against the SSAS database.

Use MDX (SELECT ... FROM [Cube]) for multidimensional cubes and DAX (EVALUATE ...) for tabular models. Results are returned as a JSON table {columns, rows, row_count, truncated}. Rows are capped (default 10000, or SSAS_ROW_LIMIT) and 'truncated' is true when the cap was hit. Only SELECT/WITH (MDX) and EVALUATE/DEFINE (DAX) statements are accepted - anything else is rejected.

Args: query: The MDX or DAX query text. max_rows: Optional per-call row cap (0 = use the server default).

execute_dmvA

Execute a Dynamic Management View query for deeper metadata introspection.

Only SELECT ... FROM $SYSTEM.<rowset> is accepted. Useful rowsets: MDSCHEMA_* (cubes, measures, dimensions, hierarchies, levels, members) for multidimensional; TMSCHEMA_* (tables, columns, measures, relationships) and DISCOVER_CALC_DEPENDENCY for tabular models; DISCOVER_* for server state. Note DMV SQL is limited: no JOIN, no GROUP BY, WHERE supports only simple = comparisons combined with AND/OR.

Args: query: The DMV SELECT query. max_rows: Optional per-call row cap (0 = use the server default).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dbdave/mssas_mcp_server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server