Skip to main content
Glama
alexhb-maker

MCP PowerBI Controller

by alexhb-maker

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

src/powerbi_server.py

Lectura y escritura sobre el modelo Tabular de Power BI Desktop

29

src/excel_server.py

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 herramienta

Quick start

  1. Sigue INSTALL.md: Python, dependencias, y (si quieres escritura) las DLLs de Analysis Services.

  2. Copia config/claude_desktop_config.example.json a %APPDATA%\Claude\claude_desktop_config.json y ajusta las rutas — ver CONFIGURATION.md.

  3. Abre tu modelo en Power BI Desktop (el servidor se conecta a la instancia local en memoria — tiene que estar abierto).

  4. Reinicia Claude Desktop.

  5. 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_medida exige un flag explícito confirmar=True para evitar borrados accidentales.

  • No subo claude_desktop_config.json con rutas o datos internos a git — uso el .example.json como 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

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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/alexhb-maker/MCP-Financial-Controller'

If you have feedback or need assistance with the MCP directory API, please join our Discord server