Skip to main content
Glama

powerbi-mcp

Interner Node.js-Dienst für den Power BI MCP-Zugriff. Er ist darauf ausgelegt, neben einer Next.js-App zu laufen, normalerweise unter PM2, und nur von der Next.js-Serverebene aus aufgerufen zu werden.

Dieses Projekt repliziert nicht das Google Ads MCP-Repo. Es folgt derselben Idee eines fokussierten MCP-Backends, ist jedoch auf Power BI/Fabric, direkte JSON-RPC-Aufrufe und die Agenten-/Tool-Iteration zugeschnitten, die sich bereits im PBI-Bot-POC bewährt hat.

Was es tut

  • Ruft den Fabric Power BI MCP-Endpunkt mit einem Benutzer-Bearer-Token auf.

  • Listet MCP-Tools auf und führt sie über JSON-RPC aus.

  • Erkennt Power BI-Arbeitsbereiche und semantische Modelle für bessere Modell-Prompts.

  • Führt eine OpenAI-kompatible Agenten-Schleife aus, die Power BI MCP-Tools aufrufen kann.

  • Stellt interne HTTP-Endpunkte für ein Next.js-Backend bereit.

  • Wird mit einer PM2-Prozesskonfiguration namens powerbi-mcp ausgeliefert.

Endpunkte

  • GET /health

  • POST /internal/mcp/tools

  • POST /internal/mcp/call

  • POST /internal/powerbi/catalog

  • POST /internal/chat

  • POST /internal/chat/json

Browser-/Proxy-kompatible Routen sind ebenfalls unter /api/* verfügbar:

  • GET /api/auth/status

  • GET /api/auth/login

  • GET /api/auth/callback

  • GET /api/auth/logout

  • POST /api/mcp/tools

  • POST /api/mcp/call

  • POST /api/powerbi/catalog

  • POST /api/chat

  • POST /api/chat/json

Alle internen Routen akzeptieren das Power BI-Zugriffstoken des Benutzers in einer dieser Formen:

  • Authorization: Bearer <power-bi-access-token>

  • x-powerbi-access-token: <power-bi-access-token>

  • JSON-Body-Feld accessToken

Wenn INTERNAL_API_KEY konfiguriert ist, senden Sie zusätzlich:

x-internal-api-key: <your-internal-key>

Installation

cd powerbi-mcp
npm install
cp .env.example .env
npm run check

Füllen Sie .env mit Ihren LiteLLM/OpenAI-kompatiblen Gateway-Einstellungen aus. Für die Browser-Route setzen Sie Ihren Azure-Redirect-URI auf den Next.js-Proxy-Callback, zum Beispiel:

http://localhost:3000/api/powerbi-mcp/auth/callback

Lokal ausführen

npm run dev

Die Standard-Dienst-URL ist http://127.0.0.1:3101.

Mit PM2 ausführen

pm2 start ecosystem.config.js
pm2 status

Erwarteter Prozessname:

powerbi-mcp

Next.js Drop-In-Route

Halten Sie die Next.js-Routendateien außerhalb dieses Backend-Repos. In diesem Workspace befinden sie sich im Schwesterordner:

../powerbi-analyst-next-dropin/app

Kopieren Sie diese Dateien in das tatsächliche ads-next/app-Verzeichnis:

  • app/Power_BI_Analyst/page.tsx

  • app/api/powerbi-mcp/[...path]/route.ts

Navigieren Sie dann zu:

/Power_BI_Analyst

Der Next.js-Proxy ruft dieses Backend auf unter:

http://127.0.0.1:3101/api/*

Next.js Server-Beispiel

Rufen Sie dies nur von einer Server-Route, einer Server-Aktion oder einem API-Handler aus auf. Geben Sie das Power BI-Zugriffstoken nicht an browserseitigen Code weiter, der über Ihren normalen Authentifizierungsfluss hinausgeht.

const response = await fetch("http://127.0.0.1:3101/internal/chat/json", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "x-internal-api-key": process.env.POWERBI_MCP_INTERNAL_API_KEY,
    "Authorization": `Bearer ${powerBiAccessToken}`
  },
  body: JSON.stringify({
    message: "Show total sales this month vs last month",
    history: []
  })
});

const data = await response.json();

Für Streaming-UI-Antworten rufen Sie /internal/chat oder /api/chat auf; dies gibt Server-Sent Events zurück:

data: {"token":"..."}
data: [DONE]

Hinweise

  • Dieser Dienst unterstützt sowohl die Token-Weiterleitung über /internal/* als auch den Browser-Sitzungsfluss über /api/auth/*.

  • Binden Sie an 127.0.0.1 in der Produktion, es sei denn, Sie platzieren dies absichtlich hinter einer privaten Netzwerkgrenze.

  • Setzen Sie INTERNAL_API_KEY vor der Bereitstellung, damit nur vertrauenswürdige interne Aufrufer den Dienst nutzen können.

A
license - permissive license
-
quality - not tested
C
maintenance

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/ketangupta1-ai/powerbi-mcp'

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