home / mcp / power bi xmla mcp server

Power BI XMLA MCP Server

This read-only MCP Server allows you to connect to Power BI XMLA data from Claude Desktop through CData JDBC Drivers. For full CRUD support, check out the first managed MCP platform: CData Connect AI (https://www.cdata.com/ai/).

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "cdatasoftware-power-bi-xmla-mcp-server-by-cdata": {
      "command": "java",
      "args": [
        "-jar",
        "/PATH/TO/CDataMCP-jar-with-dependencies.jar",
        "/PATH/TO/Salesforce.prp"
      ]
    }
  }
}

You run a local MCP server that exposes live Power BI XMLA data through a simple MCP interface. This setup lets you ask natural language questions and retrieve data from Power BI XMLA without writing SQL, while keeping the data access read-only for safety and simplicity.

How to use

After you configure the MCP server, you use an MCP client to interact with it. You don’t need to write SQL queries directly. Instead, ask questions in natural language like “What is the status of open opportunities?” or “Show me the total revenue by account industry.” The MCP server translates your requests into data-access operations under the hood and returns structured results. You can rely on the server to expose available tables and columns so you can explore the data model and build queries as needed.

How to install

Prerequisites: you need Java installed on your system and a Java build tool (Maven) to compile the server.

# 1) Clone the MCP server project
git clone https://github.com/cdatasoftware/power-bi-xmla-mcp-server-by-cdata.git
cd power-bi-xmla-mcp-server-by-cdata

# 2) Build the project to create the MCP JAR with dependencies
mvn clean install

# 3) The build outputs a JAR named CDataMCP-jar-with-dependencies.jar

Optional: obtain and license the CData JDBC Driver for Power BI XMLA before starting the server. This step enables the data connection to Power BI XMLA through JDBC.

# Example steps (paths may vary on your system)
# a) Download the driver from the official site and install it
# b) Open the driver's lib folder and license it
java -jar cdata.jdbc.powerbixmla.jar --license
# c) Follow the prompts to enter your name, email, and license key (or TRIAL)

Create a JDBC connection string using the driver’s connection utility, then save the resulting string in a .prp file for the MCP server (example name: power-bi-xmla.prp). The .prp file defines the driver, JDBC URL, and tables you want to expose.

Prefix=powerbixmla
ServerName=CDataPowerBIXMLA
ServerVersion=1.0
DriverPath=/path/to/cdata.jdbc.powerbixmla.jar
DriverClass=cdata.jdbc.powerbixmla.PowerBIXMLADriver
JdbcUrl=jdbc:powerbixmla:InitiateOAuth=GETANDREFRESH;
Tables=

Save the above content to a file named power-bi-xmla.prp (or a name you prefer) and place it in a known location.

Additional steps and configuration

To run the MCP server locally, start it with the built JAR and point it to your .prp file. You can run the server on the same machine as the client.

java -jar /PATH/TO/CDataMCP-jar-with-dependencies.jar /PATH/TO/power-bi-xmla.prp
```

> Note: The server operates in stdio mode, which means it communicates with clients on the same machine.

Configure your client to load the MCP server. In Claude Desktop or your preferred MCP client, provide a config entry that runs the MCP JAR with the path to your .prp file. A representative local configuration looks like this (paths will vary):

{
  "mcpServers": {
    "power_bi_xmla": {
      "command": "java.exe",
      "args": [
        "-jar",
        "CDataMCP-jar-with-dependencies.jar",
        "/PATH/TO/power-bi-xmla.prp"
      ]
    }
  }
}

If you need to refresh client connections after changing server settings, fully quit the MCP client and relaunch it so the new server appears in the available MCP servers list.

Troubleshooting and notes

If you cannot see the MCP server in your client, ensure the client is fully closed and reopened so it detects new servers. If data cannot be retrieved, verify that your connection string in the power-bi-xmla.prp file is valid and test the connection using the driver’s connection utility. If problems persist, reach out to CData Support or the CData Community for guidance.

Licensing and compliance: this MCP server is designed to provide read-only access to Power BI XMLA data. Review licensing terms for the JDBC driver to ensure your usage complies with the license.

Available tools

powerbixmla_get_tables

Retrieves a list of tables available in the data source. Output is CSV with headers.

powerbixmla_get_columns

Retrieves a list of columns for a given table. Output is CSV with headers.

powerbixmla_run_query

Executes a SQL SELECT query against the data source.