Hoy no es jueves de post, pero ante la cantidad de preguntas que me habéis realizado en cuando a Power BI Modeling MCP Server y su coste derivado del licenciamiento de Github Copilot,  que es el licenciamiento que te permite una mayor variedad de LLMs así como de tokens. Bien, ¿pero qué ocurre si dispongo de licencia de Claude? Pues que podemos montar nuestro propio MCP, ¿qué os parece? Vamos a por ello.

Lo primero que tenemos que tener instalado es Visual Studio Code y la extensión de Power BI Modeling MCP Server. Si no lo tienes, aquí te dejo los post en el que explicaba el como hacerlo.

Ahora, tenemos que instalarnos Claude Desktop. Para ello, desde su propia página web podemos hacerlo sin problemas. Ahora ya tenemos todo lo necesario para poder montarnos nuestro MCP con Claude. 

 

  

 

Por un lado tenemos Power BI Desktop abierto y por otro tenemos Claude Desktop. Lo primero que debemos hacer es en Claude Desktop ir a “Archivo – Configuración”:

 

 

 

Y en la ventana que se nos a abierto, hacemos clic en la opción de “Desarrollador”:

 

 Ahora hacemos clic en “Editar configuración” y se nos abre la siguiente ventana en la que por defecto ya nos viene seleccionado el archivo “Claude_desktop_config”:

  

 

Lo abrimos bien con el bloc de notas o con el Visual Studio Code y vemos lo siguiente:

 

  

 

A primera vista, se nos ponen los pelos de punta por ver código JSON… ¡Qué no cunda el pánico por favor! Debemos añadir unas pequeñas líneas de código para que nos funcione. ¿Y cuales son esas líneas de código? Son las líneas correspondientes a la ruta donde se encuentra instalada la extensión de Power BI Modeling MCP Server. Para ello, vamos a la carpeta de nuestro usuario y hacemos clic para entrar. A continuación, hacemos clic en la carpeta “.vscode”:

  

 

Luego en la carpeta “extensions”:

 

 

 Ahora, en la pantalla nueva que se nos ha abierto, hacemos clic en la carpeta a la que contiene “… powerbi-modeling-mcp...”


 
 

Luego en la carpeta llamada “server”:

 
 
Y ya por fin hemos llegado a la última carpeta en la que nos aparece la aplicación (o ejecutable) de Power BI Modeling MCP Server:

  
 
Debemos coger la ruta completa de ese archivo, extensión incluida. Una manera fácil, sencilla y para toda la familia es hacer clic con el botón derecho sobre el propio icono, luego clic en propiedades y si nos fijamos bien, en esa pantalla que se nos ha abierto tenemos la ruta completa. La seleccionamos y copiamos:
  
  
 
 
 

Ahora esa ruta la copiamos dentro del siguiente código JSON:

 

{

  "mcpServers": {

    "powerbi-modeling-mcp": {

      "command": "Aquí colocamos la ruta que acabamos de copiar",

      "args": [

        "--start"

      ]

    }

  },

Y si estamos trabajando sobre VSC, al pegarla vemos que nos marca un error y nos indica la manera de corregirlo:

 
 
Como podéis ver, nos está indicando que en vez de una contra barra, necesitamos dos, es decir, \\ (ojo con esto si lo estas editando desde el Notepad, hay que añadirlas manualmente). Le damos a corregir en VSC y magia:
 
 
 

Bien, ahora si os fijáis bien, nos está indicando un error en la parte del código JSON que ya estaba escrito de antes: 

 

 

Y se debe a que ahora tenemos un “{“ de más. Tenemos que eliminar la llave que precede a “preferences” y listo:

  

Guardamos y cerramos VSC. Cerramos también Claude para que aplique los cambios que acabamos de realizar y volvemos abrirlo. Vamos de nuevo a la pestaña de desarrollador y ahora vemos que tenemos ya conectado el “Power BI Modeling MCP Server”

 

 

Ahora sí que sí ha terminado la parte tediosa de configuración y toca la parte divertida, que es la de ver que podemos llegar hacer.

Vamos con la conexión de Claude al informe, para ello le indicamos el siguiente prompt:
 
 

Y nos devuelve lo siguiente:

   

Como podéis ver, el informe es un informe vacío, sin tablas ni medidas, ni nada en el lienzo. Por lo que le vamos a indicar a Claude que intente conectarse a una base de datos de un servidor y nos traiga las tablas, para ello le indicamos lo siguiente:

  
 

Y le dejamos actuar a ver qué pasa:

   
 

Vemos que nos pregunta si conocemos las columnas de las tablas, vamos a indicarle que “No” y que intente detectarlas automáticamente:

 
  
  

Y nos aparece la siguiente ventana en Power BI:

 
  
 
 
 

¿Pero quééééé? ¿Nos ha conectado a un servidor SQL Server y nos ha traído las tablas que le hemos indicado? Sí, y todo con lenguaje natural… ¿Qué os parece?

Bien, vamos a entrar en Power Query a ver como nos ha realizado la conexión a las tablas de la base de datos:

 

Y vemos que las ha realizado correctamente pero no siguiendo las buenas prácticas que es usando parámetros para las conexiones. Claude no lo ha hecho mal, sino que nosotros no hemos acertado al 100% con el prompt enviado. Vamos a indicarle que lo rectifique y lo haga mediante parámetros a ver si puede. Para ello:

 

Y nos devuelve:

 
 
 

¡Wuau! ¡Espectacular! Pero como siempre digo, la IA ahora nos ayuda, pero es MUY IMPORTANTE conocer las buenas prácticas tanto de modelado y DAX ya que sino la IA puede engañarnos.

Ahora vamos a decirle que se nos traiga el resto de tablas necesarias para hacer un modelo bien hecho, y que además nos agrupe los parámetros en grupos para tenerlo ordenadito como nos gusta. Por lo que le decimos:

 

 Y nos devuelve:

   
 
 
 Y si vamos a Power Query vemos lo que nos ha realizado:
 
  

Continuará... aquí