SSAS MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SSAS_SERVER | Yes | Host, host\instance, or an http(s)://.../msmdpump.dll URL | |
| SSAS_CATALOG | Yes | SSAS database name | |
| SSAS_ROW_LIMIT | No | Hard cap on returned rows | 10000 |
| SSAS_DEFAULT_CUBE | No | Cube/model list_metadata uses when none is given | |
| SSAS_ADOMD_DLL_DIR | No | Folder containing Microsoft.AnalysisServices.AdomdClient.dll (auto-detected if not set) | |
| SSAS_QUERY_TIMEOUT | No | Per-query timeout, seconds | 60 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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