powerbi-mcp
powerbi-mcp
Servicio interno de Node.js para acceso a Power BI MCP. Está diseñado para ejecutarse junto a una aplicación Next.js, generalmente bajo PM2, y ser llamado solo desde la capa del servidor de Next.js.
Este proyecto no replica el repositorio MCP de Google Ads. Sigue la misma idea de un backend MCP enfocado, pero está adaptado a Power BI/Fabric, llamadas JSON-RPC directas y la iteración de agente/herramienta ya probada en el POC del bot de PBI.
Qué hace
Llama al punto final MCP de Fabric Power BI con un token de portador (bearer token) de usuario.
Enumera y ejecuta herramientas MCP a través de JSON-RPC.
Descubre áreas de trabajo y modelos semánticos de Power BI para mejores prompts de modelo.
Ejecuta un bucle de agente compatible con OpenAI que puede llamar a herramientas MCP de Power BI.
Expone puntos finales HTTP internos para un backend de Next.js.
Se entrega con una configuración de proceso de PM2 llamada
powerbi-mcp.
Puntos finales
GET /healthPOST /internal/mcp/toolsPOST /internal/mcp/callPOST /internal/powerbi/catalogPOST /internal/chatPOST /internal/chat/json
Las rutas de compatibilidad con navegador/proxy también están disponibles bajo /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
Todas las rutas internas aceptan el token de acceso de Power BI del usuario en una de estas formas:
Authorization: Bearer <power-bi-access-token>x-powerbi-access-token: <power-bi-access-token>Campo de cuerpo JSON
accessToken
Si INTERNAL_API_KEY está configurado, envíe también:
x-internal-api-key: <your-internal-key>Instalación
cd powerbi-mcp
npm install
cp .env.example .env
npm run checkComplete .env con la configuración de su pasarela compatible con LiteLLM/OpenAI.
Para la ruta del navegador, establezca su URI de redirección de Azure al callback del proxy de Next.js, por ejemplo:
http://localhost:3000/api/powerbi-mcp/auth/callbackEjecutar localmente
npm run devLa URL del servicio predeterminada es http://127.0.0.1:3101.
Ejecutar con PM2
pm2 start ecosystem.config.js
pm2 statusNombre de proceso esperado:
powerbi-mcpRuta de integración para Next.js
Mantenga los archivos de ruta de Next.js fuera de este repositorio de backend. En este espacio de trabajo viven en la carpeta hermana:
../powerbi-analyst-next-dropin/appCopie esos archivos en el directorio real ads-next/app:
app/Power_BI_Analyst/page.tsxapp/api/powerbi-mcp/[...path]/route.ts
Luego navegue a:
/Power_BI_AnalystEl proxy de Next.js llama a este backend en:
http://127.0.0.1:3101/api/*Ejemplo de servidor Next.js
Llame a esto solo desde una ruta de servidor, acción de servidor o manejador de API. No exponga el token de acceso de Power BI al código del lado del navegador más allá de su flujo de autenticación normal.
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();Para respuestas de interfaz de usuario en streaming, llame a /internal/chat o /api/chat; devuelve eventos enviados por el servidor:
data: {"token":"..."}
data: [DONE]Notas
Este servicio admite tanto el reenvío de tokens a través de
/internal/*como el flujo de sesión del navegador a través de/api/auth/*.Enlace a
127.0.0.1en producción a menos que intencionalmente esté colocando esto detrás de un límite de red privada.Establezca
INTERNAL_API_KEYantes de implementar para que solo los llamadores internos de confianza puedan usar el servicio.
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