Skip to main content
Glama

daxops-mcp

Build Power BI dashboards from your data, straight from Claude Code (or any MCP client).

daxops-mcp is a small, self-contained MCP server that lets a DaxOps account holder drive their DaxOps cloud from an AI agent: upload your own data and generate Power BI .pbix dashboards, describe what you want in plain English with the AI prompter, browse the built-in Solution starters, and manage saved dashboards - all authenticated with your DaxOps license key.


Install

Requirements: Node 18+.

You do not need to clone anything. The published package runs straight from npm.

Run on demand with npx (recommended):

npx -y daxops-mcp

Or install it globally:

npm i -g daxops-mcp
daxops-mcp

Either way the server reads your license key from the DAXOPS_LICENSE_KEY environment variable and refuses to start without it (see below). You will normally never run it by hand - Claude Code launches it for you from the config snippet.

Where to get your license key

Copy it from your DaxOps account page: https://daxops.com/account. It is the same key the DaxOps desktop app uses. Keep it secret.


Related MCP server: Power BI Report MCP Server

Add it to Claude Code

The simplest path - register the published package (Claude Code runs it via npx):

claude mcp add daxops --env DAXOPS_LICENSE_KEY=<your key> -- npx -y daxops-mcp

Or paste this into your Claude Code / .mcp.json config

{
  "mcpServers": {
    "daxops": {
      "command": "npx",
      "args": ["-y", "daxops-mcp"],
      "env": { "DAXOPS_LICENSE_KEY": "<your key>" }
    }
  }
}

Local development / from a checkout

If you are working from a clone of this repo instead of the published package, build it once (npm install && npm run build) and point the config at the built entry point:

{
  "mcpServers": {
    "daxops": {
      "command": "node",
      "args": ["/absolute/path/to/daxops/mcp/dist/index.js"],
      "env": { "DAXOPS_LICENSE_KEY": "<your key>" }
    }
  }
}

Configuration (environment)

Variable

Required

Default

Meaning

DAXOPS_LICENSE_KEY

yes

-

Your DaxOps license key (from https://daxops.com/account). The server refuses to start without it.

DAXOPS_BASE_URL

no

https://daxops.com

The DaxOps site origin (override only for a staging instance).


Tools

Tool

What it does

daxops_list_solutions

List the built-in Solution starters (id, title, industry, description, KPIs).

daxops_list_themes

List the brand colour themes you can pass to a build.

daxops_upload_data

Upload local .csv/.xlsx/.xls files; returns a sourceId plus a detected-model summary.

daxops_introspect

Show the detected model (tables, columns, relationships, measures, suggested pages) for a sourceId or solution.

daxops_build

Build a .pbix from a sourceId or solution (optional pages/branding), poll to done, and download it to disk.

daxops_ai_build

Headline tool. Describe the dashboard in plain English; the AI agent designs and builds it, then downloads the .pbix. Uses AI credits.

daxops_download

Download a finished build's .pbix by job id (e.g. one that was still running earlier).

daxops_list_dashboards

List your saved dashboard definitions.

daxops_save_dashboard

Save a reusable dashboard definition (name + solution/sourceId + pages/brand).

daxops_open_dashboard

Fetch one saved dashboard's full definition by id.

daxops_delete_dashboard

Delete a saved dashboard by id.

Some tools (data upload, model introspection, saved dashboards) require the +Validation feature on your DaxOps plan; without it the API returns a clear "this is a +Validation feature" message, surfaced as the tool error.

Example prompts

  • "Use daxops_ai_build to make a multi-page sales report from my uploaded CSVs - an exec overview with KPI cards, a sales trend, and breakdowns by brand and by retailer."

  • "Upload sales.csv and regions.xlsx, then introspect the model and tell me what pages you'd suggest."

  • "List the Solution starters, then build the CFO overview with the ocean theme and save it to cfo.pbix."

  • "List my saved dashboards and rebuild the one called 'Monthly Exec Pack'."

Typical flow

  1. daxops_list_solutions - or daxops_upload_data { paths: ["sales.csv", "regions.xlsx"] } to get a sourceId.

  2. daxops_ai_build { prompt: "an exec sales overview with YoY growth and a region map", sourceId: "..." }

    • or daxops_build { solution: "finance/cfo-overview", theme: "ocean", title: "CFO Overview" }.

  3. The .pbix is saved to disk (default ./daxops-<title>.pbix, or your outPath).

Async builds return a job id immediately; the build/AI tools poll until the job is done (a couple of minutes is normal) and then download the .pbix. If a poll times out, the job id is reported so you can retry with daxops_download.


Security

  • Your license key is read only from the DAXOPS_LICENSE_KEY environment variable and is sent only as an Authorization: Bearer header to your DaxOps site over HTTPS. It is never printed in tool output, errors, or logs (server logs go to stderr; stdout carries only the MCP protocol).

  • Your data is processed on DaxOps' servers in Auckland, New Zealand, and the uploaded data is deleted after the build completes. Only the .pbix you download is kept.


License

This is commercial software. Use of daxops-mcp requires an active DaxOps account and license key, and is governed by the DaxOps Terms of Service at https://daxops.com. All rights reserved. It is not open-source and may not be redistributed.


Develop

npm install
npm run dev        # tsx watch
npm run typecheck  # tsc --noEmit
npm run build      # tsc -> dist/
Install Server
F
license - not found
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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/cyphonica/daxops-mcp'

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