Skip to main content
Glama
jonaolden

pbixray-mcp-server

by jonaolden

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: RAGFlow MCP 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

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides a Model Context Protocol interface for HexagonML ModelManager tools, enabling interaction with machine learning model management functionality through natural language.
    1
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides a comprehensive Model Context Protocol interface for RAGFlow, enabling AI models to perform semantic retrieval, manage datasets, and handle document chunks. It supports advanced features like GraphRAG and RAPTOR for sophisticated knowledge base management and natural language querying.
    MIT