pbixray-mcp-server

Integrations

  • Used as a dependency for data processing operations in the PBIXRay server, supporting statistical analysis and data manipulation of Power BI models.

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.

Herramientas

HerramientaCategoríaDescripción
load_pbix_fileCentroCargar un archivo de Power BI (.pbix) para su análisis
get_tablesModeloEnumere todas las tablas del modelo
get_metadataModeloObtener metadatos sobre la configuración de Power BI
get_power_queryConsultaMostrar todo el código de M/Power Query utilizado para la transformación de datos
get_m_parametersConsultaMostrar todos los valores de los parámetros M
get_model_sizeModeloObtener el tamaño del modelo en bytes
get_dax_tablesConsultaVer tablas calculadas de DAX
get_dax_measuresConsultaAcceda a las medidas DAX con filtrado por tabla o nombre de medida
get_dax_columnsConsultaAcceda a expresiones DAX de columnas calculadas con opciones de filtrado
get_schemaEstructuraObtenga detalles sobre el esquema del modelo de datos y los tipos de columnas
get_relationshipsEstructuraObtenga los detalles sobre las relaciones del modelo de datos
get_table_contentsDatosRecuperar el contenido de una tabla especificada con paginación
get_statisticsModeloObtenga estadísticas sobre el modelo con filtrado opcional
get_model_summaryModeloObtenga 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-server

Instalación de desarrollo

Para los desarrolladores que trabajan en el proyecto:

  1. Clonar el repositorio:
    git clone https://github.com/username/pbixray-mcp.git cd pbixray-mcp
  2. Instalar en modo de desarrollo:
    pip install -e .
  3. 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.py

Los 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.py

Esto 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.md

Contribuciones

¡Las contribuciones serán bienvenidas!

Créditos

  • Hugoberry - Biblioteca PBIXRay original
  • rusiaaman - WCGW (Este MCP fue escrito íntegramente por Claude usando wcgw)

Licencia (Claude insiste en añadirlas)

Licencia MIT

-
security - not tested
A
license - permissive license
-
quality - not tested

local-only server

The server can only run on the client's local machine because it depends on local resources.

Un protocolo de contexto de modelo que permite a los clientes de IA interactuar con modelos de PowerBI consultando metadatos a través del paquete de Python PBIXRay.

  1. Características
    1. Herramientas
      1. Uso
        1. WSL (Recomendado)
          1. Conversión de ruta WSL (instrucciones del proyecto Claude, por ejemplo)
          2. Opciones de línea de comandos
          3. Opciones de consulta
        2. Desarrollo y pruebas
          1. Instalación de desarrollo
          2. Pruebas con archivos de muestra
          3. Modo de desarrollo
          4. Estructura del proyecto
        3. Contribuciones
          1. Créditos
            1. Licencia (Claude insiste en añadirlas)

              Related MCP Servers

              • -
                security
                A
                license
                -
                quality
                A Model Context Protocol server that provides seamless interaction with Workato's API through custom AI tools, enabling management of recipes, connections, connectors, folders, and activity logs.
                Last updated -
                TypeScript
                MIT License
                • Apple
                • Linux
              • A
                security
                F
                license
                A
                quality
                Implements the Model Context Protocol to allow AI models to access and interact with blockchain data, including reading contract states, retrieving events, and accessing transaction information across various networks.
                Last updated -
                10
                45
                30
                TypeScript
              • -
                security
                A
                license
                -
                quality
                A streamlined foundation for building Model Context Protocol servers in Python, designed to make AI-assisted development of MCP tools easier and more efficient.
                Last updated -
                12
                Python
                MIT License
              • -
                security
                F
                license
                -
                quality
                A Model Context Protocol server that enables AI models to create and manipulate PowerPoint presentations with advanced features like financial charts, formatting, and template management.
                Last updated -
                1
                Python

              View all related MCP servers

              ID: vibjpsvwgs