powerbi-mcp
powerbi-mcp
Power BI MCPアクセス用の内部Node.jsサービスです。通常はPM2の下でNext.jsアプリと並行して実行されるように設計されており、Next.jsサーバー層からのみ呼び出されます。
このプロジェクトはGoogle Ads MCPリポジトリを複製するものではありません。焦点を絞ったMCPバックエンドという同じ考え方に従っていますが、Power BI/Fabric、直接的なJSON-RPC呼び出し、およびPBIボットPOCですでに実証済みのエージェント/ツール反復処理に合わせて調整されています。
機能
ユーザーのベアラートークンを使用してFabric Power BI MCPエンドポイントを呼び出します。
JSON-RPCを通じてMCPツールを一覧表示および実行します。
より優れたモデルプロンプトのために、Power BIワークスペースとセマンティックモデルを検出します。
Power BI MCPツールを呼び出すことができる、OpenAI互換のエージェントループを実行します。
Next.jsバックエンド用の内部HTTPエンドポイントを公開します。
powerbi-mcpという名前のPM2プロセス設定が付属しています。
エンドポイント
GET /healthPOST /internal/mcp/toolsPOST /internal/mcp/callPOST /internal/powerbi/catalogPOST /internal/chatPOST /internal/chat/json
ブラウザ/プロキシ互換ルートも/api/*の下で利用可能です:
GET /api/auth/statusGET /api/auth/loginGET /api/auth/callbackGET /api/auth/logoutPOST /api/mcp/toolsPOST /api/mcp/callPOST /api/powerbi/catalogPOST /api/chatPOST /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 checkLiteLLM/OpenAI互換ゲートウェイの設定で.envを埋めてください。
ブラウザルートについては、AzureリダイレクトURIを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-mcpNext.jsドロップインルート
Next.jsルートファイルはこのバックエンドリポジトリの外に保持してください。このワークスペースでは、兄弟フォルダに配置されています:
../powerbi-analyst-next-dropin/appこれらのファイルを実際のads-next/appディレクトリにコピーしてください:
app/Power_BI_Analyst/page.tsxapp/api/powerbi-mcp/[...path]/route.ts
その後、以下にアクセスしてください:
/Power_BI_AnalystNext.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を呼び出してください。サーバー送信イベントが返されます:
data: {"token":"..."}
data: [DONE]注意事項
このサービスは、
/internal/*を通じたトークン転送と、/api/auth/*を通じたブラウザセッションフローの両方をサポートしています。意図的にプライベートネットワーク境界の背後に配置する場合を除き、本番環境では
127.0.0.1にバインドしてください。信頼できる内部呼び出し元のみがサービスを使用できるように、デプロイ前に
INTERNAL_API_KEYを設定してください。
This server cannot be installed
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