Skip to main content
Glama

pbixray-mcp-server

PBIXRay MCP-Server

Ein Model Context Protocol (MCP)-Server für PBIXRay.

Dieser MCP-Server stellt die Funktionen von PBIXRay als Tools und Ressourcen für LLM-Clients bereit, um mit Power BI-Dateien (.pbix) zu interagieren.

Merkmale

  • [x] Laden und Analysieren von PBIX-Dateien
  • [x] Datenmodell-Exploration
    • [x] Auflisten von Tabellen im Modell
    • [x] Abrufen von Modellmetadaten
    • [x] Überprüfung der Modellgröße
    • [x] Modellstatistiken abrufen
    • [x] Umfassende Modellzusammenfassung erhalten
  • [x] Abfragesprachenzugriff
    • [x] Power Query (M)-Code anzeigen
    • [x] Zugriff auf M-Parameter
    • [x] Erkunden von DAX-berechneten Tabellen
    • [x] Anzeigen von DAX-Kennzahlen
    • [x] Untersuchen von DAX-berechneten Spalten
  • [x] Datenstrukturanalyse
    • [x] Schemainformationen abrufen
    • [x] Tabellenbeziehungen analysieren
    • [x] Zugriff auf Tabelleninhalte mit Paginierung

Die Liste der Tools ist konfigurierbar, sodass Sie auswählen können, welche Tools Sie dem MCP-Client zur Verfügung stellen möchten. Dies ist nützlich, wenn Sie bestimmte Funktionen nicht nutzen oder vertrauliche Informationen nicht preisgeben möchten.

Werkzeuge

WerkzeugKategorieBeschreibung
load_pbix_fileKernLaden Sie eine Power BI-Datei (.pbix) zur Analyse
get_tablesModellListen Sie alle Tabellen im Modell auf
get_metadataModellAbrufen von Metadaten zur Power BI-Konfiguration
get_power_queryAbfrageAnzeige des gesamten M/Power Query-Codes, der für die Datentransformation verwendet wird
get_m_parametersAbfrageAlle M-Parameterwerte anzeigen
get_model_sizeModellHolen Sie sich die Modellgröße in Bytes
get_dax_tablesAbfrageAnzeigen berechneter DAX-Tabellen
get_dax_measuresAbfrageZugriff auf DAX-Kennzahlen durch Filtern nach Tabelle oder Kennzahlname
get_dax_columnsAbfrageZugriff auf berechnete Spalten-DAX-Ausdrücke mit Filteroptionen
get_schemaStrukturDetails zum Datenmodellschema und den Spaltentypen abrufen
get_relationshipsStrukturHolen Sie sich Details zu den Datenmodellbeziehungen
get_table_contentsDatenRufen Sie den Inhalt einer angegebenen Tabelle mit Paginierung ab
get_statisticsModellErhalten Sie Statistiken zum Modell mit optionaler Filterung
get_model_summaryModellErhalten Sie eine umfassende Zusammenfassung des aktuellen Power BI-Modells

Verwendung

WSL (empfohlen)

Fügen Sie die Serverkonfiguration zu Ihrer Client-Konfigurationsdatei hinzu. Beispiel für 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" ] } } }

WSL-Pfadkonvertierung (z. B. Anweisungen des Claude-Projekts)

Wenn Sie den PBIXRay MCP-Server in WSL mit Claude Desktop unter Windows verwenden, müssen Sie beim Laden von PBIX-Dateien die Pfadunterschiede beachten. Windows-Pfade (wie C:\Users\name\file.pbix ) können in WSL nicht direkt aufgerufen werden. Informieren Sie Ihren KI-Assistenten über die Konvertierung zwischen Pfaden, indem Sie „Beachten Sie, dass der MCP-Server in WSL ausgeführt wird. Windows-Pfade (wie C:\Benutzer\Name\Datei.pbix) können in WSL nicht direkt aufgerufen werden. Verwenden Sie stattdessen WSL-Pfade beim Verweisen auf Dateien: Windows: C:\Benutzer\Name\Downloads\Datei.pbix“ WSL: /mnt/c/Benutzer/Name/Downloads/Datei.pbix“ zu Projektanweisungen oder Ähnlichem hinzufügen.

Befehlszeilenoptionen

Der Server unterstützt mehrere Befehlszeilenoptionen:

  • --disallow [tool_names] : Deaktivieren Sie bestimmte Tools aus Sicherheitsgründen
  • --max-rows N : Maximale Anzahl zurückgegebener Zeilen festlegen (Standard: 100)
  • --page-size N : Standardseitengröße für paginierte Ergebnisse festlegen (Standard: 20)

Befehlszeilenoptionen können nach Bedarf in der JSON-Konfiguration hinzugefügt werden:

{ "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": {} } } }

Abfrageoptionen

Tools unterstützen zusätzliche Parameter zum Filtern und Paginieren:

Filtern nach Namen

Tools wie get_dax_measures , get_dax_columns , get_schema und andere unterstützen das Filtern nach bestimmten Namen:

# 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")
Seitennummerierung für große Tabellen

Das Tool get_table_contents unterstützt die Paginierung, um große Tabellen effizient zu verarbeiten:

# 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)

Entwicklung und Tests

Sie können den PBIXRay MCP-Server installieren:

pip install pbixray-mcp-server

Entwicklungsinstallation

Für Entwickler, die am Projekt arbeiten:

  1. Klonen Sie das Repository:
    git clone https://github.com/username/pbixray-mcp.git cd pbixray-mcp
  2. Im Entwicklungsmodus installieren:
    pip install -e .
  3. Wenn Sie aus der Quelle installieren, erstellen Sie eine virtuelle Umgebung und installieren Sie Abhängigkeiten:
    python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install mcp pbixray numpy

Testen mit Beispieldateien

Das Repository enthält Beispieldateien und Testskripte, die Ihnen den Einstieg erleichtern:

# 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

Die Testskripte helfen Ihnen zu verstehen, wie Sie mithilfe der im Verzeichnis demo/ bereitgestellten PBIX-Beispieldateien mit dem Server interagieren.

Entwicklungsmodus

Um den Server während der Entwicklung zu testen, verwenden Sie den MCP Inspector:

# Activate your environment first source venv/bin/activate # Run the MCP Inspector mcp dev src/pbixray_server.py

Dadurch wird eine interaktive Sitzung gestartet, in der Sie Tools aufrufen und Antworten testen können.

Projektstruktur

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

Beiträge

Beiträge sind herzlich willkommen!

Credits

  • Hugoberry – Original PBIXRay-Bibliothek
  • rusiaaman – WCGW (Dieses MCP wurde vollständig von Claude mit WCGW geschrieben)

Lizenz (Claude besteht darauf, diese hinzuzufügen)

MIT-Lizenz

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

Ein Modellkontextprotokoll, das KI-Clients die Interaktion mit PowerBI-Modellen ermöglicht, indem Metadaten über das Python-Paket PBIXRay abgefragt werden.

  1. Merkmale
    1. Werkzeuge
      1. Verwendung
        1. WSL (empfohlen)
          1. WSL-Pfadkonvertierung (z. B. Anweisungen des Claude-Projekts)
          2. Befehlszeilenoptionen
          3. Abfrageoptionen
        2. Entwicklung und Tests
          1. Entwicklungsinstallation
          2. Testen mit Beispieldateien
          3. Entwicklungsmodus
          4. Projektstruktur
        3. Beiträge
          1. Credits
            1. Lizenz (Claude besteht darauf, diese hinzuzufügen)

              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 -
                13
                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
                485
                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