MCP PowerBI Controller
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP PowerBI Controllerlist the tables in my Power BI model"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP PowerBI Controller
Servidores MCP (Model Context Protocol) que conecto a Claude para que pueda leer, analizar y escribir directamente sobre mi modelo semántico de Power BI y mis libros de Excel, en local, sin exportar nada a la nube.
Lo construí porque, como controller financiero, paso una parte importante del día explorando modelos de Power BI, escribiendo DAX y cuadrando Excel a mano. Quería un asistente que no solo me explicara cómo hacerlo, sino que lo hiciera de verdad sobre mis datos — y que entendiera el contexto financiero (centros de coste, KPIs, cierres, variaciones interanuales) sin que yo tuviera que traducírselo cada vez.
Uso real
No es un wrapper genérico de una API. Es la integración de tres cosas que no suelen ir juntas en un mismo perfil:
Dominio financiero real — controller de formación y de profesión: sé qué es un centro de coste, un PyG, un YTD o una conciliación, y eso se nota en el diseño de las herramientas (
analizar_modelo_financiero,comparar_periodos,detectar_pyg...).Ingeniería de la integración — el servidor de Power BI habla con el motor Analysis Services local (
msmdsrv.exe) que Power BI Desktop levanta en memoria, detecta su puerto dinámicamente, y usa dos vías distintas según lo que hace falta: ADOMD para leer (DAX/MDX) y el Tabular Object Model (TOM) para escribir (crear/editar/eliminar medidas de verdad, guardadas en el modelo).Protocolo MCP — expongo todo como herramientas (
@mcp.tool()) que Claude puede descubrir y encadenar solo, sin que yo tenga que decirle qué función llamar ni en qué orden.
El resultado: le puedo pedir a Claude "propón un dashboard para ver el coste por centro y empleado" y hace tres cosas seguidas sin que yo intervenga — explora el esquema real del modelo, detecta qué columnas encajan con el objetivo, y devuelve una propuesta de KPIs y visuales basada en mis datos, no genérica.
Related MCP server: Excel Analytics MCP Server
Qué incluye
Servidor | Qué hace | Herramientas |
Lectura y escritura sobre el modelo Tabular de Power BI Desktop | 29 | |
Lectura, control de calidad y comparación de libros Excel | 19 |
Ambos son el código que uso a diario, no una demo simplificada — ver docs/TOOLS_REFERENCE.md para el catálogo completo con la docstring real de cada herramienta.
Ejemplo real de uso
En examples/EXAMPLES.md documento, con datos de ejemplo anonimizados, un flujo real de trabajo: desde "no tengo medidas creadas" hasta un dashboard con matriz + KPIs propuesto y las medidas DAX ya escritas en el modelo, en una sola conversación.
Estructura del repositorio
mcp-powerbi-controller/
├── README.md ← estás aquí
├── INSTALL.md ← manual de instalación paso a paso
├── CONFIGURATION.md ← configuración de claude_desktop_config.json
├── LICENSE
├── requirements.txt
├── .gitignore
├── config/
│ └── claude_desktop_config.example.json
├── docs/
│ ├── TOOLS_REFERENCE.md ← catálogo de las 48 herramientas (con docstring real)
│ └── TROUBLESHOOTING.md ← errores típicos y cómo resolverlos
├── examples/
│ └── EXAMPLES.md ← flujo de uso real, con datos anonimizados
└── src/
├── excel_server.py ← servidor MCP de Excel (código real)
├── powerbi_server.py ← servidor MCP de Power BI (código real)
└── GUIA_MCP_POWERBI.txt ← manual en lenguaje llano de cada herramientaQuick start
Sigue
INSTALL.md: Python, dependencias, y (si quieres escritura) las DLLs de Analysis Services.Copia
config/claude_desktop_config.example.jsona%APPDATA%\Claude\claude_desktop_config.jsony ajusta las rutas — verCONFIGURATION.md.Abre tu modelo en Power BI Desktop (el servidor se conecta a la instancia local en memoria — tiene que estar abierto).
Reinicia Claude Desktop.
Prueba con algo simple: "lista las tablas de mi modelo de Power BI".
Stack técnico
Python · MCP / FastMCP · pyadomd (ADOMD.NET) · pythonnet (CLR / Tabular Object Model) · DAX · pandas · openpyxl · Power BI / Analysis Services Tabular
Seguridad y buenas prácticas
Todo corre en local: no se sube ningún dato a servidores externos salvo lo que el propio Claude procese en la conversación.
El servidor de Power BI puede modificar el modelo real (crear/actualizar/eliminar medidas), y lo hace con
SaveChanges()— no pasa por el Ctrl+Z de Power BI Desktop.eliminar_medidaexige un flag explícitoconfirmar=Truepara evitar borrados accidentales.No subo
claude_desktop_config.jsoncon rutas o datos internos a git — uso el.example.jsoncomo plantilla (excluido en.gitignore).Los datos de ejemplo de este repositorio son ficticios/anonimizados; el código no contiene nombres de clientes, empresas ni datos reales.
Alex Hernández — Asesor de Contabilidad, en transición hacia perfiles de Controller Financiero / FP&A con foco en datos. LinkedIn
This server cannot be installed
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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/alexhb-maker/MCP-Financial-Controller'
If you have feedback or need assistance with the MCP directory API, please join our Discord server