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을 호출하십시오. 서버 전송 이벤트(SSE)를 반환합니다:
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