Power BI MCP server
Power BI in any MCP client, through Memtro: Power BI does not publish this server. Memtro's Power BI connector reads Power BI through its API with the credentials you connect, and one endpoint hands those tools, every other system you connect and Memtro's memory tools to Claude Code, Cursor, Claude Desktop or anything else that speaks Streamable HTTP, as you.
What the model can do
Read-only Power BI: workspaces, semantic models (datasets), reports and dashboards, DAX queries (EVALUATE) against a dataset, and refresh history.
Reads
powerbi_workspacesList the Power BI workspaces the connected user can access (plus their personal "My workspace"): id, name, read-only flag, Premium/Fabric capacity.powerbi_datasetsSemantic models (datasets) in a workspace: id, name, owner, storage mode, refreshable flag, link, and for push datasets their tables and columns.powerbi_reportsReports and dashboards in a workspace: id, name, type (PowerBIReport or PaginatedReport), the dataset a report is built on, and links.powerbi_dax_queryRun a DAX query against a semantic model (dataset): the query must start with EVALUATE (a DEFINE block with MEASURE/VAR may precede it)…powerbi_refresh_historyRefresh history of a semantic model (dataset), newest first: when each refresh started and ended, how it was triggered (Scheduled, OnDemand…
Connect it
First connect Power BI on Dashboard → Connections, then add Memtro to your client once. The Power BI tools appear alongside the tools of everything else you have connected; nothing is configured per connector.
Claude Code
One command registers the server; the tools are then available in every session.
claude mcp add --transport http memtro https://platform.memtro.com/api/mcp \
--header "Authorization: Bearer sk-memtro-..."Cursor
Add the server to .cursor/mcp.json in the project, or to the global file under ~/.cursor/.
{
"mcpServers": {
"memtro": {
"url": "https://platform.memtro.com/api/mcp",
"headers": {
"Authorization": "Bearer sk-memtro-..."
}
}
}
}Claude Desktop
Create a personal API key on Dashboard → Profile → API keys. In Claude Desktop add an MCP server of type HTTP with URL https://platform.memtro.com/api/mcp and the header Authorization: Bearer sk-memtro-…
OpenCode
A remote server in opencode.json.
{
"mcp": {
"memtro": {
"type": "remote",
"url": "https://platform.memtro.com/api/mcp",
"headers": {
"Authorization": "Bearer sk-memtro-..."
}
}
}
}Any other client
Add an MCP server of type HTTP (Streamable HTTP, stateless) at https://platform.memtro.com/api/mcp with the header Authorization: Bearer sk-memtro-.... Codex, Zed, Windsurf, Cline and the SDKs all take a remote server this way.
Who may use it
The key identifies the person, and the server offers that person the tools they may use everywhere else in Memtro. A shared Power BI connection is used by the teams an administrator granted it to, tool by tool, on the Permissions page; a personal connection is used by its owner alone, and its tools that act stay off until the owner allows them. See Teams and permissions and Connectors.
Ask it like this
- › Which datasets are in the Finance workspace and when were they last refreshed?
- › Total sales by region for 2026 from the Sales model
- › Did last night's refresh of the Ops dataset fail, and why?
- › Which reports are built on the Customer 360 dataset?
- › Top 10 products by margin this quarter
Questions
- Is this an official Power BI MCP server?
- No. It is Memtro's MCP server with Memtro's Power BI connector behind it: the connector reads Power BI through its API with the credentials you connect on Dashboard → Connections, and Power BI publishes nothing here. The same endpoint carries every other system you connect and Memtro's memory tools.
- What does it cost?
- Nothing on top of Memtro. One price per organisation by its number of users, from $50 a month for up to 10 users after a 7-day free trial, with every connector, the MCP server, jobs and memory included. You bring your own model keys.
- Can it change anything in Power BI?
- Not yet. Today every Power BI tool reads, searches or lists; when it gains actions, each is marked, granted by name and used only when you ask, so nothing is created, sent, updated or deleted until you say so.
- Which clients work?
- Any MCP client that speaks Streamable HTTP: Claude Code, Cursor, Claude Desktop, OpenCode, Codex, Zed, Windsurf, Cline and the Anthropic and OpenAI SDKs. There is no local process to run; the server is remote and authenticated with your key.