
Power BI MCP: агент правит модель, меры DAX и связи в Power BI
Даёт агенту семантическую модель Power BI: таблицы, столбцы, меры DAX, связи и роли RLS. Агент правит модель в Power BI Desktop, в Fabric или в файлах PBIP и проверяет запросы DAX.
Локальный сервер Microsoft для правки семантической модели с транзакциями и массовыми операциями.
Как подключить
Что сделать до подключения
Node.js
Принять лицензионное соглашение: попросите агента вызвать accept_eula или добавьте флаг --accepteula
Право Write на семантическую модель
AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRETнужны только с флагом --authmode=serviceprincipal: это сервисный принципал Microsoft Entra; по умолчанию сервер просит войти в окне браузера
Конфиг для вашего клиента
Команда в терминале, в папке проекта. Флаг --scope user подключит сервер для всех проектов. Подробно о Claude Code
claude mcp add --transport stdio power-bi \
-- npx -y @microsoft/powerbi-modeling-mcp@latest --startПроверка: claude mcp list показывает статус рядом с каждым сервером: ✔ Connected, ! Needs authentication или ✘ Failed to connect. Внутри сессии то же видно по команде /mcp.
Файл ~/.codex/config.toml или .codex/config.toml в доверенном проекте. Можно и командой codex mcp add. Подробно о Codex
[mcp_servers.power-bi]
command = "npx"
args = ["-y", "@microsoft/powerbi-modeling-mcp@latest", "--start"]Проверка: В интерфейсе codex введите /mcp: появится список активных серверов. Из терминала то же покажет codex mcp list.
Файл ~/.cursor/mcp.json для всех проектов или .cursor/mcp.json в папке проекта. Подробно о Cursor
{
"mcpServers": {
"power-bi": {
"command": "npx",
"args": ["-y", "@microsoft/powerbi-modeling-mcp@latest", "--start"]
}
}
}Проверка: Откройте Customize в боковой панели: там список серверов с переключателями. Ошибки подключения смотрите в панели Output (Cmd+Shift+U), пункт MCP Logs в выпадающем списке.
Файл .mcp.json в корне проекта или ~/.copilot/mcp-config.json для всех проектов. Подробно о VS Code
{
"mcpServers": {
"power-bi": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@microsoft/powerbi-modeling-mcp@latest", "--start"]
}
}
}Проверка: Попросите Copilot выполнить безобидную задачу через сервер и раскройте вызов инструмента в чате. Одна запись в конфиге подключение не подтверждает.
Файл ~/.qwen/settings.json или .qwen/settings.json в проекте. Подробно о Qwen Code
{
"mcpServers": {
"power-bi": {
"command": "npx",
"args": ["-y", "@microsoft/powerbi-modeling-mcp@latest", "--start"]
}
}
}Проверка: Запустите qwen и введите /mcp: откроется окно управления серверами. Из терминала статус покажет qwen mcp list.
Файл ~/.gemini/settings.json или .gemini/settings.json в проекте. Подробно о Gemini CLI
{
"mcpServers": {
"power-bi": {
"command": "npx",
"args": ["-y", "@microsoft/powerbi-modeling-mcp@latest", "--start"]
}
}
}Проверка: gemini mcp list показывает каждый сервер, его настройки и статус Connected или Disconnected. В сессии /mcp выводит CONNECTED, CONNECTING или DISCONNECTED и список инструментов.
Файл opencode.json в папке проекта или ~/.config/opencode/opencode.json. Подробно о OpenCode
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"servers": {
"power-bi": {
"type": "local",
"command": ["npx", "-y", "@microsoft/powerbi-modeling-mcp@latest", "--start"]
}
}
}
}Проверка: opencode mcp list показывает состояние каждого сервера, подключённый выглядит как ✓ context7 connected. Внутри OpenCode то же видно в /mcps.
Настройки → Разработчик → Изменить конфиг: файл claude_desktop_config.json. После правки перезапустите приложение. Подробно о Claude Desktop
{
"mcpServers": {
"power-bi": {
"command": "npx",
"args": ["-y", "@microsoft/powerbi-modeling-mcp@latest", "--start"]
}
}
}Проверка: Нажмите «Add files, connectors, and more /» в левом нижнем углу поля ввода, наведите на Connectors и откройте Manage connectors. Выберите сервер, чтобы увидеть его инструменты.
Вкладка Program → Install → Edit mcp.json. Подробно о LM Studio
{
"mcpServers": {
"power-bi": {
"command": "npx",
"args": ["-y", "@microsoft/powerbi-modeling-mcp@latest", "--start"]
}
}
}Проверка: Попросите модель в чате выполнить задачу через инструмент сервера. Через API сервер из mcp.json вызывают по id в integrations, например mcp/playwright.
Инструменты сервера
connection_operationsподключается к Desktop или Fabricdatabase_operationsуправляет моделями и папками TMDLtransaction_operationsоткрывает и откатывает транзакцииmodel_operationsобновляет и переименовывает модельtable_operationsсоздаёт и правит таблицыcolumn_operationsсоздаёт и правит столбцыmeasure_operationsсоздаёт и переносит меры DAXrelationship_operationsнастраивает связи таблицdax_query_operationsвыполняет и проверяет запросы DAXtrace_operationsснимает трассировку Analysis Servicespartition_operationsуправляет секциями таблицuser_hierarchy_operationsправит иерархииcalculation_group_operationsведёт группы вычисленийsecurity_role_operationsнастраивает роли и RLSperspective_operationsуправляет перспективамиnamed_expression_operationsправит параметры Power Queryfunction_operationsведёт пользовательские функции DAXculture_operationsдобавляет языки моделиobject_translation_operationsпереводит названия объектовcalendar_operationsнастраивает календариПоказано 20 из 21.
94 инструмента: кроме модели собирает отчёт из JSON-спецификации, проверяет модель по 33 правилам и снимает скриншоты в Desktop.
Как подключить
Что сделать до подключения
Python 3.10 или новее
git clone https://github.com/sulaiman013/powerbi-mcp.git и pip install -r requirements.txt; на macOS и Linux — requirements-core.txt, там только офлайн-инструменты
Для живого подключения: Windows 10/11, Power BI Desktop и ADOMD.NET (ставится с SSMS или из пакетов NuGet, путь в ADOMD_DLL_PATH)
TENANT_ID, CLIENT_ID, CLIENT_SECRETнужны только для Power BI Service: сервисный принципал Azure AD, значения впишите в файл .env
Конфиг для вашего клиента
Команда в терминале, в папке проекта. Флаг --scope user подключит сервер для всех проектов. Подробно о Claude Code
claude mcp add --env 'PYTHONPATH=<путь к powerbi-mcp>/src' --transport stdio powerbi-mcp \
-- python '<путь к powerbi-mcp>/src/server.py'Проверка: claude mcp list показывает статус рядом с каждым сервером: ✔ Connected, ! Needs authentication или ✘ Failed to connect. Внутри сессии то же видно по команде /mcp.
Файл ~/.codex/config.toml или .codex/config.toml в доверенном проекте. Можно и командой codex mcp add. Подробно о Codex
[mcp_servers.powerbi-mcp]
command = "python"
args = ["<путь к powerbi-mcp>/src/server.py"]
[mcp_servers.powerbi-mcp.env]
PYTHONPATH = "<путь к powerbi-mcp>/src"Проверка: В интерфейсе codex введите /mcp: появится список активных серверов. Из терминала то же покажет codex mcp list.
Файл ~/.cursor/mcp.json для всех проектов или .cursor/mcp.json в папке проекта. Подробно о Cursor
{
"mcpServers": {
"powerbi-mcp": {
"command": "python",
"args": ["<путь к powerbi-mcp>/src/server.py"],
"env": {
"PYTHONPATH": "<путь к powerbi-mcp>/src"
}
}
}
}Проверка: Откройте Customize в боковой панели: там список серверов с переключателями. Ошибки подключения смотрите в панели Output (Cmd+Shift+U), пункт MCP Logs в выпадающем списке.
Файл .mcp.json в корне проекта или ~/.copilot/mcp-config.json для всех проектов. Подробно о VS Code
{
"mcpServers": {
"powerbi-mcp": {
"type": "stdio",
"command": "python",
"args": ["<путь к powerbi-mcp>/src/server.py"],
"env": {
"PYTHONPATH": "<путь к powerbi-mcp>/src"
}
}
}
}Проверка: Попросите Copilot выполнить безобидную задачу через сервер и раскройте вызов инструмента в чате. Одна запись в конфиге подключение не подтверждает.
Файл ~/.qwen/settings.json или .qwen/settings.json в проекте. Подробно о Qwen Code
{
"mcpServers": {
"powerbi-mcp": {
"command": "python",
"args": ["<путь к powerbi-mcp>/src/server.py"],
"env": {
"PYTHONPATH": "<путь к powerbi-mcp>/src"
}
}
}
}Проверка: Запустите qwen и введите /mcp: откроется окно управления серверами. Из терминала статус покажет qwen mcp list.
Файл ~/.gemini/settings.json или .gemini/settings.json в проекте. Подробно о Gemini CLI
{
"mcpServers": {
"powerbi-mcp": {
"command": "python",
"args": ["<путь к powerbi-mcp>/src/server.py"],
"env": {
"PYTHONPATH": "<путь к powerbi-mcp>/src"
}
}
}
}Проверка: gemini mcp list показывает каждый сервер, его настройки и статус Connected или Disconnected. В сессии /mcp выводит CONNECTED, CONNECTING или DISCONNECTED и список инструментов.
Файл opencode.json в папке проекта или ~/.config/opencode/opencode.json. Подробно о OpenCode
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"servers": {
"powerbi-mcp": {
"type": "local",
"command": ["python", "<путь к powerbi-mcp>/src/server.py"],
"environment": {
"PYTHONPATH": "<путь к powerbi-mcp>/src"
}
}
}
}
}Проверка: opencode mcp list показывает состояние каждого сервера, подключённый выглядит как ✓ context7 connected. Внутри OpenCode то же видно в /mcps.
Настройки → Разработчик → Изменить конфиг: файл claude_desktop_config.json. После правки перезапустите приложение. Подробно о Claude Desktop
{
"mcpServers": {
"powerbi-mcp": {
"command": "python",
"args": ["<путь к powerbi-mcp>/src/server.py"],
"env": {
"PYTHONPATH": "<путь к powerbi-mcp>/src"
}
}
}
}Проверка: Нажмите «Add files, connectors, and more /» в левом нижнем углу поля ввода, наведите на Connectors и откройте Manage connectors. Выберите сервер, чтобы увидеть его инструменты.
Вкладка Program → Install → Edit mcp.json. Подробно о LM Studio
{
"mcpServers": {
"powerbi-mcp": {
"command": "python",
"args": ["<путь к powerbi-mcp>/src/server.py"],
"env": {
"PYTHONPATH": "<путь к powerbi-mcp>/src"
}
}
}
}Проверка: Попросите модель в чате выполнить задачу через инструмент сервера. Через API сервер из mcp.json вызывают по id в integrations, например mcp/playwright.
Инструменты сервера
desktop_connectподключается к открытому Desktopdesktop_execute_daxвыполняет DAX в Desktopdesktop_get_model_infoописывает модельlist_workspacesпоказывает рабочие областиexecute_daxвыполняет DAX в сервисеvalidate_daxпроверяет DAX до сохраненияcreate_measureсоздаёт меруtom_begin_transactionоткрывает транзакциюcreate_relationshipсоздаёт связьpbip_rename_columnsпереименовывает столбцы вместе с визуаламиpbip_create_date_tableсоздаёт таблицу датgenerate_measure_suiteгенерирует набор мерpbir_apply_specсобирает отчёт по спецификацииrun_bpaпроверяет модель по правиламdax_lintищет ошибки в мерахaudit_star_schemaпроверяет схему звездаbuild_custom_visualсобирает свой визуалbridge_screenshotснимает скриншот страницыrefresh_doctorразбирает сбой обновленияmodel_diffсравнивает модель со снимкомПоказано 20 из 94.
Что попросить агента
Для каких задач
Ограничения
Сервер Microsoft меняет только семантическую модель: страницы отчёта и раскладку диаграммы он не трогает
Агент может внести неожиданные правки: перед работой сделайте копию модели. Метаданные и результаты запросов попадают в контекст и уходят провайдеру LLM
Отдельной настройки тенанта, которая запрещает сервер, нет: закрыть доступ можно только отключением точки XMLA, а с ней отключатся и другие инструменты
powerbi-mcp — проект одного автора на 127 звёзд; живое подключение к Desktop у него работает только на Windows, облачным инструментам нужна ёмкость Premium, PPU или Fabric
Если не работает
Агент не может вызвать ни один инструмент сервера Microsoft
powerbi-modeling-mcp нет в списке инструментов GitHub Copilot
Установка новой версии в VS Code зависает
Нужно войти в Fabric под другим аккаунтом, а сервер не спрашивает вход
На macOS arm64 сервер запускается и сразу останавливается без ошибок
Какую реализацию выбрать
| Реализация | Кто делает | Звёзды | Запуск | Ключ | Инструменты | Обновлён |
|---|---|---|---|---|---|---|
| Power BI Authoring MCPразработчик сервиса | Microsoft | 1,3 тыс. | локально | не нужен | 21 | 6 ноября 2026 |
| powerbi-mcp | Sulaiman Ahmed | 127 | локально | не нужен | 94 | 11 ноября 2026 |