Skip to main content
Glama

pbixray-mcp-server

MCP-сервер PBIXRay

Сервер протокола контекста модели (MCP) для PBIXRay.

Этот сервер MCP раскрывает возможности PBIXRay как инструментов и ресурсов для клиентов LLM для взаимодействия с файлами Power BI (.pbix).

Функции

  • [x] Загрузка и анализ файлов PBIX
  • [x] Исследование модели данных
    • [x] Перечисление таблиц в модели
    • [x] Получение метаданных модели
    • [x] Проверка размера модели
    • [x] Получение статистики модели
    • [x] Получение полной сводки модели
  • [x] Доступ к языку запроса
    • [x] Просмотр кода Power Query (M)
    • [x] Доступ к параметрам M
    • [x] Изучение расчетных таблиц DAX
    • [x] Просмотр показателей DAX
    • [x] Проверка вычисляемых столбцов DAX
  • [x] Анализ структуры данных
    • [x] Получение информации о схеме
    • [x] Анализ связей таблиц
    • [x] Доступ к содержимому таблицы с помощью пагинации

Список инструментов настраивается, поэтому вы можете выбрать, какие инструменты вы хотите сделать доступными для клиента MCP. Это полезно, если вы не используете определенные функции или не хотите раскрывать конфиденциальную информацию.

Инструменты

ИнструментКатегорияОписание
load_pbix_fileОсновнойЗагрузите файл Power BI (.pbix) для анализа
get_tablesМодельСписок всех таблиц в модели
get_metadataМодельПолучить метаданные о конфигурации Power BI
get_power_queryЗапросОтобразить весь код M/Power Query, используемый для преобразования данных
get_m_parametersЗапросОтобразить все значения параметров M
get_model_sizeМодельПолучить размер модели в байтах
get_dax_tablesЗапросПросмотр расчетных таблиц DAX
get_dax_measuresЗапросДоступ к мерам DAX с фильтрацией по названию таблицы или меры
get_dax_columnsЗапросДоступ к выражениям DAX вычисляемых столбцов с параметрами фильтрации
get_schemaСтруктураПолучите подробную информацию о схеме модели данных и типах столбцов.
get_relationshipsСтруктураПолучите подробную информацию о связях модели данных
get_table_contentsДанныеИзвлечь содержимое указанной таблицы с разбивкой на страницы
get_statisticsМодельПолучите статистику о модели с дополнительной фильтрацией
get_model_summaryМодельПолучите исчерпывающую сводку текущей модели Power BI

Использование

WSL (рекомендуется)

Добавьте конфигурацию сервера в файл конфигурации клиента. Например, для 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 (например, инструкции проекта Claude)

При использовании сервера MCP PBIXRay в WSL с Claude Desktop в Windows необходимо учитывать различия в путях при загрузке файлов PBIX. Пути Windows (например C:\Users\name\file.pbix ) не могут быть напрямую доступны в WSL. Сообщите своему помощнику AI, как преобразовывать pats, добавив «Обратите внимание, что сервер mcp работает в wsl. Пути Windows (например, C:\Users\name\file.pbix) не могут быть напрямую доступны в WSL. Вместо этого используйте пути WSL при ссылке на файлы: Windows: C:\Users\name\Downloads\file.pbix» WSL: /mnt/c/Users/name/Downloads/file.pbix» для инструкций по проекту или аналогичных.

Параметры командной строки

Сервер поддерживает несколько параметров командной строки:

  • --disallow [tool_names] : отключить определенные инструменты из соображений безопасности
  • --max-rows N : Установить максимальное количество возвращаемых строк (по умолчанию: 100)
  • --page-size N : Установить размер страницы по умолчанию для постраничных результатов (по умолчанию: 20)

При необходимости в файле конфигурации json можно добавить параметры командной строки:

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

Параметры запроса

Инструменты поддерживают дополнительные параметры фильтрации и пагинации:

Фильтрация по имени

Такие инструменты, как get_dax_measures , get_dax_columns , get_schema и другие, поддерживают фильтрацию по определенным именам:

# 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")
Пагинация для больших таблиц

Инструмент get_table_contents поддерживает разбиение на страницы для эффективной обработки больших таблиц:

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

Разработка и тестирование

Вы можете установить PBIXRay MCP Server:

pip install pbixray-mcp-server

Разработка Установка

Для разработчиков, работающих над проектом:

  1. Клонируйте репозиторий:
    git clone https://github.com/username/pbixray-mcp.git cd pbixray-mcp
  2. Установить в режиме разработки:
    pip install -e .
  3. При установке из исходного кода создайте виртуальную среду и установите зависимости:
    python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install mcp pbixray numpy

Тестирование с использованием образцов файлов

Репозиторий содержит примеры ��айлов и тестовые скрипты, которые помогут вам начать работу:

# 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

Тестовые скрипты помогут вам понять, как взаимодействовать с сервером, используя примеры файлов PBIX, предоставленные в каталоге demo/ .

Режим разработки

Для тестирования сервера во время разработки используйте MCP Inspector:

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

Это запустит интерактивный сеанс, в котором вы сможете вызывать инструменты и тестировать ответы.

Структура проекта

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

Вклады

Ваши вклады приветствуются!

Кредиты

  • Hugoberry — Оригинальная библиотека PBIXRay
  • rusiaaman - WCGW (Этот MCP был полностью написан Клодом с использованием wcgw)

Лицензия (Клод настаивает на добавлении этих)

Лицензия Массачусетского технологического института

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

Протокол контекста модели, позволяющий клиентам ИИ взаимодействовать с моделями PowerBI, запрашивая метаданные через пакет Python PBIXRay.

  1. Функции
    1. Инструменты
      1. Использование
        1. WSL (рекомендуется)
          1. Преобразование пути WSL (например, инструкции проекта Claude)
          2. Параметры командной строки
          3. Параметры запроса
        2. Разработка и тестирование
          1. Разработка Установка
          2. Тестирование с использованием образцов файлов
          3. Режим разработки
          4. Структура проекта
        3. Вклады
          1. Кредиты
            1. Лицензия (Клод настаивает на добавлении этих)

              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