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.
Related MCP server: MCP MySQL Server
Werkzeuge
Werkzeug | Kategorie | Beschreibung |
| Kern | Laden Sie eine Power BI-Datei (.pbix) zur Analyse |
| Modell | Listen Sie alle Tabellen im Modell auf |
| Modell | Abrufen von Metadaten zur Power BI-Konfiguration |
| Abfrage | Anzeige des gesamten M/Power Query-Codes, der für die Datentransformation verwendet wird |
| Abfrage | Alle M-Parameterwerte anzeigen |
| Modell | Holen Sie sich die Modellgröße in Bytes |
| Abfrage | Anzeigen berechneter DAX-Tabellen |
| Abfrage | Zugriff auf DAX-Kennzahlen durch Filtern nach Tabelle oder Kennzahlname |
| Abfrage | Zugriff auf berechnete Spalten-DAX-Ausdrücke mit Filteroptionen |
| Struktur | Details zum Datenmodellschema und den Spaltentypen abrufen |
| Struktur | Holen Sie sich Details zu den Datenmodellbeziehungen |
| Daten | Rufen Sie den Inhalt einer angegebenen Tabelle mit Paginierung ab |
| Modell | Erhalten Sie Statistiken zum Modell mit optionaler Filterung |
| 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-serverEntwicklungsinstallation
Für Entwickler, die am Projekt arbeiten:
Klonen Sie das Repository:
git clone https://github.com/username/pbixray-mcp.git cd pbixray-mcpIm Entwicklungsmodus installieren:
pip install -e .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.pyDie 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.pyDadurch 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.mdBeiträ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)
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