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. Это полезно, если вы не используете определенные функции или не хотите раскрывать конфиденциальную информацию.
Related MCP server: MCP MySQL Server
Инструменты
Инструмент | Категория | Описание |
| Основной | Загрузите файл Power BI (.pbix) для анализа |
| Модель | Список всех таблиц в модели |
| Модель | Получить метаданные о конфигурации Power BI |
| Запрос | Отобразить весь код M/Power Query, используемый для преобразования данных |
| Запрос | Отобразить все значения параметров M |
| Модель | Получить размер модели в байтах |
| Запрос | Просмотр расчетных таблиц DAX |
| Запрос | Доступ к мерам DAX с фильтрацией по названию таблицы или меры |
| Запрос | Доступ к выражениям DAX вычисляемых столбцов с параметрами фильтрации |
| Структура | Получите подробную информацию о схеме модели данных и типах столбцов. |
| Структура | Получите подробную информацию о связях модели данных |
| Данные | Извлечь содержимое указанной таблицы с разбивкой на страницы |
| Модель | Получите статистику о модели с дополнительной фильтрацией |
| Модель | Получите исчерпывающую сводку текущей модели 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Разработка Установка
Для разработчиков, работающих над проектом:
Клонируйте репозиторий:
git clone https://github.com/username/pbixray-mcp.git cd pbixray-mcpУстановить в режиме разработки:
pip install -e .При установке из исходного кода создайте виртуальную среду и установите зависимости:
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)