Servidor MCP PBIXRay
Un servidor de Protocolo de Contexto de Modelo (MCP) para PBIXRay.
Este servidor MCP expone las capacidades de PBIXRay como herramientas y recursos para que los clientes LLM interactúen con archivos de Power BI (.pbix).
Características
[x] Carga y análisis de archivos PBIX
[x] Exploración del modelo de datos
[x] Listado de tablas en el modelo
[x] Recuperación de metadatos del modelo
[x] Comprobación del tamaño del modelo
[x] Obtención de estadísticas del modelo
[x] Obtener un resumen completo del modelo
[x] Acceso al lenguaje de consulta
[x] Visualización del código de Power Query (M)
[x] Acceso a parámetros M
[x] Explorando las tablas calculadas de DAX
[x] Visualización de medidas DAX
[x] Examinar columnas calculadas de DAX
[x] Análisis de la estructura de datos
[x] Recuperación de información del esquema
[x] Análisis de relaciones de tablas
[x] Acceder al contenido de la tabla con paginación
La lista de herramientas es configurable, por lo que puede elegir cuáles quiere que estén disponibles para el cliente MCP. Esto resulta útil si no utiliza ciertas funciones o si no desea exponer información confidencial.
Related MCP server: MCP MySQL Server
Herramientas
Herramienta | Categoría | Descripción |
| Centro | Cargar un archivo de Power BI (.pbix) para su análisis |
| Modelo | Enumere todas las tablas del modelo |
| Modelo | Obtener metadatos sobre la configuración de Power BI |
| Consulta | Mostrar todo el código de M/Power Query utilizado para la transformación de datos |
| Consulta | Mostrar todos los valores de los parámetros M |
| Modelo | Obtener el tamaño del modelo en bytes |
| Consulta | Ver tablas calculadas de DAX |
| Consulta | Acceda a las medidas DAX con filtrado por tabla o nombre de medida |
| Consulta | Acceda a expresiones DAX de columnas calculadas con opciones de filtrado |
| Estructura | Obtenga detalles sobre el esquema del modelo de datos y los tipos de columnas |
| Estructura | Obtenga los detalles sobre las relaciones del modelo de datos |
| Datos | Recuperar el contenido de una tabla especificada con paginación |
| Modelo | Obtenga estadísticas sobre el modelo con filtrado opcional |
| Modelo | Obtenga un resumen completo del modelo actual de Power BI |
Uso
WSL (Recomendado)
Agregue la configuración del servidor al archivo de configuración del cliente. Por ejemplo, para Claude Desktop:
{
"mcpServers": {
"pbixray": {
"command": "wsl.exe",
"args": [
"bash",
"-c",
"source ~/dev/pbixray-mcp/venv/bin/activate && python ~/dev/pbixray-mcp/src/pbixray_server.py"
]
}
}
}Conversión de ruta WSL (instrucciones del proyecto Claude, por ejemplo)
Al usar el servidor MCP de PBIXRay en WSL con Claude Desktop en Windows, tenga en cuenta las diferencias de ruta al cargar archivos PBIX. No se puede acceder directamente a las rutas de Windows (como C:\Users\name\file.pbix ) en WSL. Indique a su asistente de IA cómo convertir entre archivos PAT añadiendo "Note that mcp server is running in wsl. No se puede acceder directamente a las rutas de Windows (como C:\Users\name\file.pbix) en WSL. En su lugar, use las rutas de WSL al hacer referencia a los archivos: Windows: C:\Users\name\Downloads\file.pbix" WSL: /mnt/c/Users/name/Downloads/file.pbix" en las instrucciones del proyecto o algo similar.
Opciones de línea de comandos
El servidor admite varias opciones de línea de comandos:
--disallow [tool_names]: Deshabilitar herramientas específicas por razones de seguridad--max-rows N: establece el número máximo de filas devueltas (valor predeterminado: 100)--page-size N: establece el tamaño de página predeterminado para los resultados paginados (valor predeterminado: 20)
Se pueden agregar opciones de línea de comandos según sea necesario en el json de configuración:
{
"mcpServers": {
"pbixray": {
"command": "wsl.exe",
"args": [
"bash",
"-c",
"source ~/dev/pbixray-mcp/venv/bin/activate && python ~/dev/pbixray-mcp/src/pbixray_server.py --max-rows 100 --page-size 50 --disallow get_power_query"
],
"env": {}
}
}
}Opciones de consulta
Las herramientas admiten parámetros adicionales para el filtrado y la paginación:
Filtrar por nombre
Herramientas como get_dax_measures , get_dax_columns , get_schema y otras admiten el filtrado por nombres específicos:
# Get measures from a specific table
get_dax_measures(table_name="Sales")
# Get a specific measure
get_dax_measures(table_name="Sales", measure_name="Total Sales")Paginación para tablas grandes
La herramienta get_table_contents admite la paginación para gestionar tablas grandes de manera eficiente:
# Get first page of Customer table (default 20 rows per page)
get_table_contents(table_name="Customer")
# Get second page with 50 rows per page
get_table_contents(table_name="Customer", page=2, page_size=50)Desarrollo y pruebas
Puede instalar el servidor PBIXRay MCP:
pip install pbixray-mcp-serverInstalación de desarrollo
Para los desarrolladores que trabajan en el proyecto:
Clonar el repositorio:
git clone https://github.com/username/pbixray-mcp.git cd pbixray-mcpInstalar en modo de desarrollo:
pip install -e .Si instala desde la fuente, cree un entorno virtual e instale las dependencias:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install mcp pbixray numpy
Pruebas con archivos de muestra
El repositorio incluye archivos de muestra y scripts de prueba para ayudarlo a comenzar:
# Test with sample AdventureWorks Sales.pbix file in demo/ folder
python tests/test_with_sample.py
# Try the interactive demo
python examples/demo.py
# For isolated tests of specific features
python test_pagination.py
python test_metadata_fix.pyLos scripts de prueba le ayudarán a comprender cómo interactuar con el servidor utilizando los archivos PBIX de muestra proporcionados en el directorio demo/ .
Modo de desarrollo
Para probar el servidor durante el desarrollo, utilice el Inspector MCP:
# Activate your environment first
source venv/bin/activate
# Run the MCP Inspector
mcp dev src/pbixray_server.pyEsto inicia una sesión interactiva donde puedes llamar herramientas y probar respuestas.
Estructura del proyecto
pbixray-mcp/
├── README.md - This file
├── INSTALLATION.md - Detailed installation instructions
├── src/ - Source code
│ ├── __init__.py
│ └── pbixray_server.py
├── tests/ - Test scripts
│ ├── __init__.py
│ ├── conftest.py
│ ├── test_server.py
│ └── test_with_sample.py
├── examples/ - Example scripts and configs
│ ├── demo.py
│ └── config/
├── demo/ - Sample PBIX files
│ ├── README.md
│ └── AdventureWorks Sales.pbix
└── docs/ - Additional documentation
└── ROADMAP.mdContribuciones
¡Las contribuciones serán bienvenidas!
Créditos
Hugoberry - Biblioteca PBIXRay original
rusiaaman - WCGW (Este MCP fue escrito íntegramente por Claude usando wcgw)