Skip to main content
Glama

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.

Related MCP server: MCP MySQL Server

Werkzeuge

Werkzeug

Kategorie

Beschreibung

load_pbix_file

Kern

Laden Sie eine Power BI-Datei (.pbix) zur Analyse

get_tables

Modell

Listen Sie alle Tabellen im Modell auf

get_metadata

Modell

Abrufen von Metadaten zur Power BI-Konfiguration

get_power_query

Abfrage

Anzeige des gesamten M/Power Query-Codes, der für die Datentransformation verwendet wird

get_m_parameters

Abfrage

Alle M-Parameterwerte anzeigen

get_model_size

Modell

Holen Sie sich die Modellgröße in Bytes

get_dax_tables

Abfrage

Anzeigen berechneter DAX-Tabellen

get_dax_measures

Abfrage

Zugriff auf DAX-Kennzahlen durch Filtern nach Tabelle oder Kennzahlname

get_dax_columns

Abfrage

Zugriff auf berechnete Spalten-DAX-Ausdrücke mit Filteroptionen

get_schema

Struktur

Details zum Datenmodellschema und den Spaltentypen abrufen

get_relationships

Struktur

Holen Sie sich Details zu den Datenmodellbeziehungen

get_table_contents

Daten

Rufen Sie den Inhalt einer angegebenen Tabelle mit Paginierung ab

get_statistics

Modell

Erhalten Sie Statistiken zum Modell mit optionaler Filterung

get_model_summary

Modell

Erhalten 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

Latest Blog Posts

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