Skip to main content
Glama

powerbi-mcp

Внутренняя служба Node.js для доступа к Power BI MCP. Она предназначена для работы параллельно с приложением Next.js, обычно под управлением PM2, и вызывается только с серверного уровня Next.js.

Этот проект не является копией репозитория Google Ads MCP. Он следует той же идее специализированного бэкенда MCP, но адаптирован для Power BI/Fabric, прямых вызовов JSON-RPC и итерации агента/инструментов, уже проверенной в POC бота PBI.

Что он делает

  • Вызывает эндпоинт Fabric Power BI MCP с токеном носителя (bearer token) пользователя.

  • Перечисляет и выполняет инструменты MCP через JSON-RPC.

  • Обнаруживает рабочие области Power BI и семантические модели для улучшения промптов моделей.

  • Запускает цикл агента, совместимый с OpenAI, который может вызывать инструменты Power BI MCP.

  • Предоставляет внутренние HTTP-эндпоинты для бэкенда Next.js.

  • Поставляется с конфигурацией процесса PM2 под названием powerbi-mcp.

Эндпоинты

  • GET /health

  • POST /internal/mcp/tools

  • POST /internal/mcp/call

  • POST /internal/powerbi/catalog

  • POST /internal/chat

  • POST /internal/chat/json

Маршруты для совместимости с браузером/прокси также доступны по адресу /api/*:

  • 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

Все внутренние маршруты принимают токен доступа Power BI пользователя в одной из следующих форм:

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

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

  • Поле JSON-тела accessToken

Если настроен INTERNAL_API_KEY, также отправьте:

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

Установка

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

Заполните .env настройками вашего шлюза, совместимого с LiteLLM/OpenAI. Для маршрута браузера установите URI перенаправления Azure на обратный вызов прокси Next.js, например:

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

Запуск локально

npm run dev

URL службы по умолчанию — http://127.0.0.1:3101.

Запуск с PM2

pm2 start ecosystem.config.js
pm2 status

Ожидаемое имя процесса:

powerbi-mcp

Встраиваемый маршрут Next.js

Храните файлы маршрутов Next.js вне этого репозитория бэкенда. В этой рабочей области они находятся в соседней папке:

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

Скопируйте эти файлы в реальную директорию ads-next/app:

  • app/Power_BI_Analyst/page.tsx

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

Затем перейдите по адресу:

/Power_BI_Analyst

Прокси Next.js вызывает этот бэкенд по адресу:

http://127.0.0.1:3101/api/*

Пример сервера Next.js

Вызывайте это только из серверного маршрута, серверного действия или обработчика API. Не раскрывайте токен доступа Power BI коду на стороне браузера за пределами вашего обычного потока аутентификации.

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();

Для потоковых ответов UI вызывайте /internal/chat или /api/chat; он возвращает события, отправляемые сервером (server-sent events):

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

Примечания

  • Эта служба поддерживает как пересылку токенов через /internal/*, так и поток сеанса браузера через /api/auth/*.

  • Привязывайтесь к 127.0.0.1 в рабочей среде, если только вы намеренно не помещаете это за границу частной сети.

  • Установите INTERNAL_API_KEY перед развертыванием, чтобы службу могли использовать только доверенные внутренние вызывающие стороны.

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