Skip to main content
Glama

pbixray-mcp-server

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

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

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 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 -
                14
                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
              • A
                security
                A
                license
                A
                quality
                A Model Context Protocol server that enables AI agents to interact with Alibaba Cloud DataWorks through standardized interfaces, allowing seamless management of DataWorks resources and operations via the DataWorks Open API.
                Last updated -
                169
                81
                15
                TypeScript
                Apache 2.0
              • -
                security
                A
                license
                -
                quality
                A Model Context Protocol server that enables AI assistants like Claude to programmatically access financial data from Financial Modeling Prep API, including company profiles, financial statements, metrics, SEC filings, and market data.
                Last updated -
                5
                Python
                MIT License

              View all related MCP servers

              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/jonaolden/pbixray-mcp-server'

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