power-bi-xmla -by-cdata
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/).
claude mcp add --transport stdio cdatasoftware-power-bi-xmla-mcp-server-by-cdata java -jar /PATH/TO/CDataMCP-jar-with-dependencies.jar /PATH/TO/power-bi-xmla.prp
How to use
This MCP server provides a local, read-only interface to Power BI XMLA data via the CData MCP platform. It wraps the CData JDBC Driver for Power BI XMLA and exposes data as MCP tools that allow you to query tables, inspect columns, and run SELECT queries without writing SQL directly in many scenarios. The server runs on the same machine as the client (stdio-based) so Claude Desktop or other MCP clients on the same host can discover and interact with it. The built-in tools are named in the pattern {servername}_get_tables, {servername}_get_columns, and {servername}_run_query, returning results in CSV or standard JSON-compatible formats depending on the client.
To use the server, configure Claude Desktop (or your MCP client) to load the server by pointing to the Java JAR and providing the path to the prp (property) file that defines your JDBC connection. Once configured, you can issue JSON-RPC like tool calls to discover available tables, view columns for a specific table, and execute SELECT queries to retrieve live Power BI XMLA data through the MCP interface.
How to install
Prerequisites:
- Java (JDK 8+ or compatible) installed on the host running the server
- Maven (optional, for building from source)
- Access to the CData JDBC Driver for Power BI XMLA (license required)
Installation steps:
-
Clone the repository and navigate to it:
git clone https://github.com/cdatasoftware/power-bi-xmla-mcp-server-by-cdata.git cd power-bi-xmla-mcp-server-by-cdata
-
Build the server (requires Maven):
mvn clean install
This will produce the CDataMCP-jar-with-dependencies.jar in the target directory.
-
Install/license the CData JDBC Driver for Power BI XMLA as directed by CData:
- Download the JDBC driver from the CData website
- Follow the license steps in the driver’s documentation to license it on the host
-
Prepare a .prp file for your JDBC connection. Create a file like power-bi-xmla.prp with the following content (adjust values accordingly):
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=
-
Run the MCP server:
java -jar /PATH/TO/CDataMCP-jar-with-dependencies.jar /PATH/TO/power-bi-xmla.prp
-
Configure Claude Desktop or your MCP client to point at the server using the provided command and prp path as shown in the README. Remember the server communicates via stdio, so the client must run on the same machine.
Additional notes
Tips and notes:
- This is a read-only MCP server by default; if you need write/update/delete capabilities, you would typically use the full MCP server that CData provides and configure appropriate permissions at the data source level.
- The server uses stdio; ensure your client (Claude Desktop or other) runs on the same host and is configured to invoke the Java process with the correct prp file.
- When licensing and connecting to data sources, you may need to run the JDBC driver’s connection util to generate a valid JDBC URL, then embed that URL in your power-bi-xmla.prp file.
- If you encounter issues seeing the MCP server in your client, fully quit and relaunch the client after starting the Java process.
- The available tools follow this naming convention: {servername}_get_tables, {servername}_get_columns, {servername}_run_query. Use the provided JSON-RPC examples as templates for scripting interactions.