API ВЕГА

✨ Power BI Authoring MCP Server

Важно

При создании семантических моделей в рабочей области Fabric используйте удалённый (размещённый) сервер Power BI Authoring MCP. Он не требует локальной установки, а обновлениями занимается Microsoft. Сравнение удалённого и локального вариантов см. в разделе Сервер Power BI Authoring MCP.

Power BI Authoring MCP Server реализует спецификацию MCP, обеспечивая удобное взаимодействие между AI-агентами и семантическими моделями Power BI.

Power BI Authoring MCP Server предоставляет AI-агентам возможности семантического моделирования Power BI через локальный сервер MCP. Это открывает разработчикам и AI-приложениям новые способы работы с моделями Power BI: от внесения изменений в модель с помощью запросов на естественном языке до реализации автономных сценариев разработки с участием AI-агентов.

💡 Что можно делать?

  • 🔄 Создавать и изменять семантические модели с помощью естественного языка — опишите AI-помощнику, что вам нужно, и он воспользуется этим сервером MCP, чтобы создавать, обновлять и управлять таблицами, столбцами, мерами, связями и другими элементами моделей Power BI Desktop и Fabric.

  • ⚡ Выполнять массовые операции в большом масштабе — AI-приложения могут пакетно обрабатывать сотни объектов: массово переименовывать и перерабатывать модели, переводить их или настраивать правила безопасности. Поддержка транзакций и обработка ошибок позволяют сократить часы рутинной работы до нескольких секунд.

  • ✅ Применять лучшие практики моделирования — легко проверяйте модель на соответствие лучшим практикам и внедряйте необходимые улучшения.

  • 🤖 Автоматизировать процессы разработки с помощью AI-агентов — поддерживается работа с файлами TMDL и проектами Power BI. Это позволяет AI-агентам самостоятельно планировать и выполнять сложные задачи моделирования в кодовой базе семантической модели.

  • 🔍 Выполнять и проверять запросы DAX — AI-помощники могут запускать запросы DAX к модели и проверять их, помогая тестировать меры, устранять неполадки в вычислениях и изучать данные.

📹 Посмотрите демонстрацию полного процесса.

Предупреждение

  • Подключая AI-агента к семантической модели, соблюдайте осторожность. Базовая LLM может выдавать неожиданные или неточные результаты, что может привести к нежелательным изменениям. Перед выполнением любых операций всегда создавайте резервную копию модели.

  • LLM могут непреднамеренно раскрыть конфиденциальные сведения из семантической модели, включая данные и метаданные, в журналах или ответах. Будьте осторожны при передаче другим пользователям истории чатов. См. раздел «Конфиденциальность данных и поставщики LLM».

  • Power BI Authoring MCP Server может выполнять только операции моделирования. Он не может изменять другие типы метаданных Power BI, например страницы отчётов или такие элементы семантической модели, как макеты диаграмм.

  • Выбранная AI-модель напрямую влияет на качество и релевантность ответов. Для достижения наилучших результатов используйте модель с глубокими рассуждениями, например GPT-5 или Claude Sonnet 4.5. Дополнительные сведения о доступных моделях приведены в сравнении AI-моделей GitHub Copilot.

📦 Установка

Проще всего установить этот сервер MCP с помощью расширения Visual Studio Code и GitHub Copilot. Также его можно вручную настроить в любом другом клиенте MCP.

Visual Studio Code (рекомендуется)

Примечание

Если powerbi-modeling-mcp отсутствует в списке доступных инструментов, проверьте, включён ли параметр MCP servers in Copilot в настройках Copilot на GitHub.com. Для корпоративных учётных записей этот параметр по умолчанию отключён; его должен включить администратор.

Вручную

Этот сервер MCP также можно настроить в других средах разработки, CLI и клиентах MCP.

Node Package Executor (NPX) (требуется Node.js)

Добавьте конфигурацию JSON в клиент MCP. Node автоматически загрузит сервер MCP из npm-пакета @microsoft/powerbi-modeling-mcp.

{
	"powerbi-authoring-local": {
			"type": "stdio",
			"command": "npx",
			"args": [
				"-y",
				"@microsoft/powerbi-modeling-mcp@latest",
				"--start"
			]
		}
}
Примите лицензионное соглашение (EULA)

Прежде чем использовать npm-пакет, необходимо ознакомиться с лицензионным соглашением Power BI Authoring MCP Server (EULA) и принять его. Пока вы не примете соглашение, сервер MCP будет блокировать все остальные вызовы инструментов.

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

Для выполнения без участия пользователя примите соглашение с помощью аргумента командной строки или переменной среды:

  • Добавьте --accepteula в массив args сервера.

  • Установите для переменной среды PBI_MODELING_MCP_ACCEPT_EULA значение true.

Используйте эти параметры только после того, как ознакомитесь с лицензионным соглашением и примете его.

Скачивание вручную

  • Скачайте VSIX-пакет нужной версии по одной из ссылок ниже:

    • Шаблон: https://marketplace.visualstudio.com/_apis/public/gallery/publishers/analysis-services/vsextensions/powerbi-modeling-mcp/[version]/vspackage?targetPlatform=[platform]

    • Пример для версии 0.1.9 и платформы win32-x64: https://marketplace.visualstudio.com/_apis/public/gallery/publishers/analysis-services/vsextensions/powerbi-modeling-mcp/0.1.9/vspackage?targetPlatform=win32-x64

  • Переименуйте скачанный файл .visx, изменив расширение на .zip.

  • Распакуйте архив в выбранную папку, например: C:\MCPServers\PowerBIAuthoringMCP

  • Запустите \extension\server\powerbi-modeling-mcp.exe

  • Скопируйте из консоли конфигурацию регистрации MCP в формате JSON и зарегистрируйте сервер в выбранном клиенте MCP.

Пример конфигурации, подходящей для большинства клиентов MCP:

{
	"powerbi-authoring-local": {
		"type": "stdio",
		"command": "C:\\MCPServers\\PowerBIAuthoringMCP\\extension\\server\\powerbi-modeling-mcp.exe",
		"args": [
			"--start"
		],
		"env": {}
	}
}

🚀 Начало работы

Сначала подключитесь к семантической модели Power BI. Она может находиться в Power BI Desktop, рабочей области Fabric или в файлах проекта Power BI (PBIP).

  • Для Power BI Desktop:
Connect to '[File Name]' in Power BI Desktop
  • Для семантической модели в рабочей области Fabric:
Connect to semantic model '[Semantic Model Name]' in Fabric Workspace '[Workspace Name]'
  • Для файлов проекта Power BI:
Open semantic model from PBIP folder '[Path to the definition/ TMDL folder in the PBIP]'

После подключения можно попросить AI-агента внести изменения в модель, используя естественный язык. Для начала попробуйте один из следующих сценариев.

Примеры сценариев

СценарийПримеры запросов
Анализ соглашений об именовании и массовое переименование.Analyze my model’s naming conventions and suggest renames to ensure consistency. Analyze the naming convention of the ‘Sales’ table and apply the same pattern across the entire model.
Добавление описаний элементов модели для документирования.Add descriptions to all measures, columns, and tables to clearly explain their purpose and explain the logic behind the DAX code in simple, understandable terms.
Перевод семантической модели.Generate a French translation for my model including tables, columns and measures.
Рефакторинг мер с использованием Calculation Groups или UDF.Refactor measures 'Sales Amount 12M Avg' and 'Sales Amount 6M Avg' into a calculation group and include new variants: 24M and 3M.
Рефакторинг запросов для использования параметров семантической модели.Analyze the Power Query code for all tables, identify the data source configuration, and create semantic model parameters to enable easy switching of the data source location.
Сравнительный анализ DAX-запросов для нескольких моделей.Connect to semantic model 'V1' and 'V2. And benchmark the following DAX query against both models. [DAX Query]
Документирование семантической моделиGenerate a Markdown document (.md) that provides complete, professional documentation for a Power BI Semantic Model. Use a simple mermaid diagram to ilustrate the table relationships; Document each measure including the DAX code and a description of the business logic using business friendly names; Document row level filters; Document the data sources by analyzing the Power Query code.

Совет

Приведённые выше сценарии — лишь примеры. Этот MCP-сервер предоставляет агентам инструменты для изменения моделей любого типа. При наличии подходящего запроса и контекста с его помощью можно автоматизировать практически любые задачи моделирования.

🛠️ Доступные инструменты

Название инструментаНазначение
connection_operationsПодключение к Power BI Desktop или рабочим областям Fabric
database_operationsУправление семантическими моделями: подключение, создание, обновление и просмотр списка баз данных, импорт и экспорт папок TMDL, развёртывание в Fabric
transaction_operationsУправление транзакциями базы данных: начало, фиксация, откат и получение статуса
model_operationsРабота с моделью в целом: получение данных, создание, обновление, обновление данных, получение статистики и переименование
table_operationsУправление таблицами: создание, обновление, удаление, получение данных, просмотр списка, обновление данных и переименование
column_operationsУправление отдельными столбцами таблиц: создание, обновление, удаление, получение данных, просмотр списка и переименование
measure_operationsУправление отдельными мерами DAX: создание, обновление, удаление, получение данных, просмотр списка, переименование и перемещение между таблицами
relationship_operationsУправление связями между таблицами: создание, обновление, удаление, включение и отключение, поиск
dax_query_operationsВыполнение и проверка DAX-запросов для модели
trace_operationsЗапись и анализ событий Analysis Services в семантической модели
partition_operationsУправление секциями таблиц: создание, обновление, удаление и обновление данных в отдельных секциях
user_hierarchy_operationsРабота с пользовательскими иерархиями: создание, обновление, удаление уровней и изменение их порядка
calculation_group_operationsУправление группами вычислений и элементами вычислений для анализа временных данных и других расчётов
security_role_operationsНастройка ролей безопасности и разрешений RLS для таблиц
perspective_operationsУправление перспективами и их элементами — отфильтрованными представлениями модели для разных аудиторий
named_expression_operationsУправление именованными выражениями и параметрами Power Query: создание, обновление, удаление, получение данных, просмотр списка и переименование
function_operationsУправление отдельными пользовательскими функциями DAX
culture_operationsУправление языковыми стандартами для поддержки нескольких языков: создание, обновление, удаление и получение списка допустимых имён языковых стандартов
object_translation_operationsУправление переводами объектов модели для разных языковых стандартов и языков
calendar_operationsУправление календарными объектами и группами столбцов для анализа временных данных
query_group_operationsОрганизация групп запросов и управление ими для выражений Power Query

Примечание

  • Вы можете попросить AI рассказать о доступных инструментах и привести примеры их использования. Например: Tell me with some examples what I can do with the Power BI Authoring MCP server

▶️ Доступные prompts

В этот MCP-сервер встроены prompts, которые помогут начать работу. В Visual Studio Code введите команду / в чате, чтобы просмотреть доступные MCP prompts.

Название promptНазначение
CreateDAXQueryСоздаёт DAX-запрос на основе семантической модели и вопроса, заданного на естественном языке. Подключает ресурс dax_query_instructions_and_examples, чтобы предоставить LLM контекст по языку DAX.
RunDAXQueryWithMetricsВыполняет DAX-запрос с возможностью очистить кэш и вернуть только показатели выполнения.
AnalyzeDAXQueryАнализирует производительность DAX-запроса: выполняет его с очищенным кэшем и проверяет показатели выполнения, чтобы выявить возможные проблемы.
ConnectToPowerBIDesktopНаходит экземпляр Analysis Services в Power BI Desktop, соответствующий имени файла, и подключается к нему.
ConnectToFabricПодключается к семантической модели в рабочей области Fabric.
ConnectToPBIPЗагружает определение TMDL семантической модели из файлов Power BI Project. Подключает ресурс powerbi_project_instructions, чтобы предоставить LLM контекст Power BI Project (PBIP).

Примечание

Некоторые prompts также подключают ресурсы с важным контекстом для LLM.

⚙️ Параметры

MCP-сервер поддерживает несколько параметров командной строки и переменных среды:

Параметр командной строкиЗначение по умолчаниюОписание
--startЗапускает MCP-сервер. Этот параметр необходим для регистрации сервера в MCP-клиенте.
--readwriteYesВключён по умолчанию. Разрешает операции записи и запрашивает подтверждение перед внесением изменений в семантическую модель — один раз для каждой базы данных.
--readonlyБезопасный режим, запрещающий любые операции записи в семантическую модель
--compatibilityPowerBIПо умолчанию сервер оптимизирован для семантических моделей Power BI. Установите значение Full, если хотите использовать этот MCP-сервер с базами данных Analysis Services.
--authmodeinteractiveЗадаёт режим аутентификации: serviceprincipal или interactive.
--accepteulaПринимает EULA для выполнения без участия пользователя.
Название переменной средыЗначение по умолчаниюОписание
AZURE_CLIENT_IDИдентификатор приложения (клиента) субъекта-службы Microsoft Entra. Обязателен, если используется --authmode=serviceprincipal.
AZURE_TENANT_IDИдентификатор арендатора (каталога) Microsoft Entra. Обязателен при использовании --authmode=serviceprincipal; также позволяет указать конкретный арендатор при интерактивной аутентификации.
AZURE_CLIENT_SECRETСекрет клиента для субъекта-службы. Обязателен при использовании --authmode=serviceprincipal и аутентификации на основе секрета.
AZURE_CLIENT_CERTIFICATE_PATHПуть к файлу сертификата PFX/PEM для субъекта-службы. Обязателен при использовании --authmode=serviceprincipal и аутентификации на основе сертификата вместо секрета клиента.
AZURE_CLIENT_CERTIFICATE_PASSWORDПароль файла сертификата, если он защищён паролем. Используется только при аутентификации на основе сертификата с параметром --authmode=serviceprincipal.
PBI_MODELING_MCP_ACCEPT_EULAfalseУстановите значение true, чтобы принять EULA для выполнения без участия пользователя.
PBI_MODELING_MCP_ALLOWED_CONNECTION_HOSTSРазделённый запятыми список доверенных пользовательских имён хостов, которые MCP-сервер может использовать для подключений Analysis Services или Power BI XMLA.

Для Visual Studio Code параметры командной строки и переменные среды можно задать в User Settings:

Откройте настройки пользователя Visual Studio Code и найдите @ext:Microsoft.powerbi-modeling-mcp.

При ручной установке параметры командной строки можно указать с помощью свойства args, а переменные среды — с помощью свойства env в JSON-файле регистрации MCP-сервера:

{
"servers": {
		"powerbi-authoring-local": {
			"command": "[Path To MCP Server folder]\\powerbi-modeling-mcp.exe",
			"args": [
				"--start"
				, "--authmode=interactive"
			],
			"type": "stdio"
		}
	}
}

Список разрешённых хостов для подключения

Чтобы подключиться к конечной точке, отличной от Power BI, например Azure Analysis Services или SQL Server Analysis Services, добавьте её имя хоста в переменную среды PBI_MODELING_MCP_ALLOWED_CONNECTION_HOSTS. Если нужно указать несколько хостов, разделите их запятыми:

{
  "env": {
    "PBI_MODELING_MCP_ALLOWED_CONNECTION_HOSTS": "xmla.contoso.example,another-xmla.contoso.example,sqlserver_01:8373"
  }
}

После изменения конфигурации перезапустите MCP-сервер.

Важно

Добавляйте только те хосты, которым доверяет ваша организация и которые предполагается использовать в качестве конечных точек Analysis Services или Power BI XMLA. При подключении MCP-сервера к этим хостам передаются токены доступа, поэтому контроль списка разрешённых хостов помогает защитить ваши учётные данные. Не добавляйте хост только для обхода ошибки проверки, не выяснив, кто управляет конечной точкой.

💬 Отзывы и поддержка

  • Ознакомьтесь с руководством по устранению неполадок, чтобы выявить и устранить распространённые проблемы.

  • Мы разрабатываем проект открыто. Мы будем благодарны за ваши отзывы: они помогут определить дальнейшее развитие сервера Power BI Authoring MCP.

    • 👉 Создайте issue в открытом репозитории GitHub — будем рады вашим предложениям и вопросам!

Особенности и ограничения

  • Для работы с семантической моделью у вас должны быть права Write. Дополнительные сведения см. в разделе Разрешения для семантических моделей.

  • Этот MCP-сервер подчиняется тем же правилам и работает так же, как операции моделирования, выполняемые с помощью External Tools. Дополнительные сведения см. в документации.

  • Отдельного параметра администратора клиента, который запрещал бы использование этого MCP-сервера, нет. Сервер подключается к семантическим моделям через конечную точку XMLA. Чтобы запретить доступ через MCP-сервер, необходимо отключить конечную точку XMLA. Это также заблокирует другие инструменты и приложения, использующие подключение XMLA. Дополнительные сведения см. в разделе Подключение к семантическим моделям через конечную точку XMLA.

Лицензия

Использование этого программного обеспечения регулируется лицензионным соглашением Power BI Authoring MCP Server. При установке через NPX необходимо явно принять условия соглашения, прежде чем использовать инструменты MCP. Доступные способы принятия условий описаны в разделе «Принятие лицензионного соглашения».

Конфиденциальность данных и поставщики LLM

MCP-сервер работает локально и подключается к семантической модели с использованием ваших существующих учётных данных и разрешений. Он не обходит средства защиты Power BI. Однако данные, полученные MCP-сервером (метаданные, схемы или результаты запросов), передаются MCP-клиенту, например VS Code, а затем могут быть отправлены настроенному поставщику LLM в составе контекста диалога.

Иными словами: ИИ-помощник не расширяет доступ к данным, но данные, к которым был получен доступ, могут передаваться поставщику LLM. При разработке мер управления следует учитывать правила организации по обработке данных с помощью ИИ и условия обслуживания поставщика LLM, а не только средства защиты Power BI.

Если вы используете GitHub Copilot, ознакомьтесь с документацией по размещению моделей GitHub Copilot, чтобы узнать, как данные передаются внешним поставщикам моделей ИИ.

Безопасность

Ваши учётные данные всегда обрабатываются безопасно с помощью официального Azure Identity SDK: мы никогда не храним токены и не управляем ими напрямую.

MCP — относительно новая и передовая технология. Как и при использовании любых новых технологических стандартов, рекомендуется провести проверку безопасности и убедиться, что все системы, интегрируемые с MCP-серверами, соответствуют применимым требованиям и стандартам. Это относится не только к серверу Power BI Authoring MCP, но и к любому выбранному вами MCP-клиенту или агенту, вплоть до поставщика модели.

Следуйте рекомендациям Microsoft по безопасности MCP-серверов, включая включение аутентификации Entra ID, безопасное управление токенами и изоляцию сети. Подробности см. в документации Microsoft по безопасности.

Разрешения и риски

MCP-клиенты могут выполнять операции в рамках разрешений пользователя Fabric RBAC. Автономные или неправильно настроенные клиенты могут выполнять разрушительные действия. Перед развёртыванием проверьте роли RBAC, назначьте права по принципу наименьших привилегий и предусмотрите защитные меры. Некоторые меры, например флаги для блокировки разрушительных операций, не стандартизированы в спецификации MCP и могут поддерживаться не всеми клиентами.

Сбор данных

Программное обеспечение может собирать сведения о вас и об использовании программного обеспечения и передавать их Microsoft. Microsoft может использовать эти сведения для предоставления услуг и улучшения продуктов и сервисов. Некоторые функции программного обеспечения также могут позволять вам и Microsoft собирать данные пользователей ваших приложений. При использовании таких функций необходимо соблюдать применимое законодательство, в том числе предоставлять пользователям приложений соответствующие уведомления и копию заявления Microsoft о конфиденциальности. Дополнительные сведения о сборе и использовании данных доступны в справочной документации и заявлении о конфиденциальности. Используя программное обеспечение, вы соглашаетесь с этими условиями.

Ответственность за соблюдение требований

Этот MCP-сервер можно устанавливать и использовать для обмена данными со сторонними клиентами и сервисами, например со сторонними LLM, работающими за пределами границ соответствия требованиям Microsoft. Вы несёте ответственность за то, чтобы все интеграции соответствовали применимым требованиям организации, законодательства и договоров.

Компоненты сторонних разработчиков

Этот MCP-сервер может использовать сторонние компоненты или зависеть от них. Вы несёте ответственность за проверку лицензий и уровня безопасности всех таких компонентов и за соблюдение их условий.

Экспортный контроль

Использование этого программного обеспечения должно соответствовать всем применимым законам и правилам экспортного контроля, включая Правила экспортного администрирования США и требования местного законодательства.

Отсутствие гарантий и ограничение ответственности

Это программное обеспечение предоставляется «как есть» без каких-либо явных или подразумеваемых гарантий и условий. Microsoft не несёт ответственности за ущерб, возникший в результате использования программного обеспечения, его неправильного использования или неверной настройки.

Кодекс поведения

В этом проекте принят Кодекс поведения Microsoft для проектов с открытым исходным кодом. Дополнительные сведения см. в разделе часто задаваемых вопросов о Кодексе поведения. Если у вас остались вопросы или комментарии, свяжитесь с нами по адресу open@microsoft.com.