内容
# 电力平台MCP服务器
**文档:** **概述** · [安装和升级](https://github.com/rcb0727/powerplatform-mcp-docs/blob/main/INSTALL.md) · [更新日志](https://github.com/rcb0727/powerplatform-mcp-docs/blob/main/CHANGELOG.md) · [报告问题](https://github.com/rcb0727/powerplatform-mcp-docs/issues)
适用于Microsoft Power Platform的MCP(模型上下文协议)服务器 — **216种工具**,涵盖Power Automate流程、画布应用创作、模型驱动应用、SharePoint、Excel、Dataverse/Dynamics 365、Power Pages和租户管理。 使用自然语言构建、运行、诊断和管理自动化。
> **此服务器如何成为Power Platform服务器。** 它最初是作为Power Automate MCP — 云流程,并且不多不少。使其发展的是其他人:用户提交的问题需要Dataverse和DLP工具,一个讨论线程变成了连接工作,一个报告的管理员API中断导致了整个治理界面,以及针对真实租户的许多故障排除,其中只有在出现问题时才会出现有趣的错误。 Power Apps、Power Pages、桌面流程和工作队列都是因为有人询问或出现问题而新增的。 npm包仍然是`powerautomate-mcp` — 重命名会破坏所有现有的安装 — 但现在其范围是整个平台。
与任何兼容MCP的AI客户端配合使用: **Claude Desktop**、**Claude Code**、**VS Code Copilot**、**Cursor**、**Google Gemini CLI**等。
## 文档地图
| 页面 | 您将找到的内容 |
|------|------------------|
| **自述文件(此页面)** | [功能](#功能) · [快速入门](#快速入门) · [应用注册](#microsoft-entra-应用注册) · [CLI参考](#cli参考) · [工作原理](#工作原理) · [所有216种工具](#可用工具-216种) · [安全性](#安全性) · [架构](#架构) |
| [安装指南](https://github.com/rcb0727/powerplatform-mcp-docs/blob/main/INSTALL.md) | [选择您的路径](https://github.com/rcb0727/powerplatform-mcp-docs/blob/main/INSTALL.md#选择您的路径) · [简单路径](https://github.com/rcb0727/powerplatform-mcp-docs/blob/main/INSTALL.md#简单路径-3步) · [快速路径](https://github.com/rcb0727/powerplatform-mcp-docs/blob/main/INSTALL.md#快速路径-开发者) · [连接您的AI应用](https://github.com/rcb0727/powerplatform-mcp-docs/blob/main/INSTALL.md#连接您的AI应用) · [**更新**](https://github.com/rcb0727/powerplatform-mcp-docs/blob/main/INSTALL.md#更新) · [故障排除](https://github.com/rcb0727/powerplatform-mcp-docs/blob/main/INSTALL.md#故障排除) · [词汇表](https://github.com/rcb0727/powerplatform-mcp-docs/blob/main/INSTALL.md#词汇表) · [管理员和企业](https://github.com/rcb0727/powerplatform-mcp-docs/blob/main/INSTALL.md#管理员和企业设置) |
| [更新日志](https://github.com/rcb0727/powerplatform-mcp-docs/blob/main/CHANGELOG.md) | 版本发布历史,附每版本升级说明 |
| [隐私政策](https://github.com/rcb0727/powerplatform-mcp-docs/blob/main/PRIVACY.md) | 本地运行的内容,哪些与Microsoft通信,收集的内容(没有) |
| [问题](https://github.com/rcb0727/powerplatform-mcp-docs/issues) | 错误报告和功能请求 — 每个请求都会被阅读 |
## 功能
**216种工具,23个组 — 所有功能一览** (完整列表及描述: [可用工具](#可用工具-216种)):
<!-- TOOLS-GRID:BEGIN — 由 `npm run docs:tools` 生成,请勿手动编辑 -->
| | | |
|---|---|---|
| **设置和身份验证** (1) | **核心流程操作** (15) | **测试和调试** (10) |
| **规划和帮助** (5) | **连接和自定义连接器** (13) | **审批** (3) |
| **Dataverse CRUD** (7) | **SharePoint** (11) | **Excel(OneDrive)** (2) |
| **Power Apps** (12) | **画布应用创作(预览)** (13) | **模型驱动应用** (13) |
| **Power Apps管理** (4) | **Power Pages — 站点配置** (9) | **Power Pages — 站点管理** (36) |
| **Power Pages — PAC CLI** (8) | **环境管理** (10) | **DLP策略** (6) |
| **解决方案ALM** (8) | **托管环境和容量** (6) | **桌面流程/RPA** (13) |
| **工作队列(RPA编排)** (8) | **计费和AI生成器** (3) | |
<!-- TOOLS-GRID:END -->
超越工具数量:
- **自然语言流程构建** — 描述自动化;`plan_flow`收集详细信息,`build_flow`创建它(甚至在连接配置之前),并且飞行前验证根据最佳实践对其进行评分(0-100)
- **真正的诊断,而不是错误转储** — 失败的运行被钻取到失败步骤,带有实际的API错误和建议的修复
- **完整的模型驱动应用生命周期** — 创建AppModules,添加或删除组件,验证,发布和管理安全角色访问,通过记录的Dataverse操作
- **画布源创作(预览)** — 创建和编辑支持的`.pa.yaml`源,查找实时控件/API/数据源,同步Studio,编译回Microsoft官方的画布创作MCP服务器
- **从内容到托管的Power Pages** — 编辑Dataverse配置,预配和轮询网站,管理域名/证书/WAF/安全,并运行支持的`pac pages`部署工作流
- **真正的解决方案ALM** — 异步解决方案导出/导入,组件添加/删除,克隆和发布所有操作使用记录的Dataverse操作而不是占位符
- **从聊天中登录** — `sign_in`工具使用Microsoft设备代码身份验证,无需终端;每个操作都在您自己的工作帐户下运行
- **所有注释** — 所有216种工具声明只读/破坏性提示,以便AI主机可以应用正确的防护措施
- **跨平台** — Windows、macOS和Linux
## 作为Claude Code插件安装
如果您使用Claude Code,一条命令安装服务器和十种引导技能(设置、构建流程、调试流程、管理连接、桌面流程、工作队列、Power Pages、Dataverse、治理租户、报告问题):
```bash
/plugin marketplace add rcb0727/powerplatform-mcp-docs
/plugin install powerautomate-mcp@powerautomate-mcp
```
插件通过`npx`运行服务器,因此无需安装其他内容。 您仍然需要运行`powerautomate-mcp --setup`一次以登录 — 或如果您不想打开终端,则使用聊天中的`sign_in`工具。
## 快速入门
三个命令 — 在终端中运行:
```bash
npm install -g powerautomate-mcp # 1. 安装
powerautomate-mcp --setup # 2. 登录 + 连接您的AI应用
powerautomate-mcp --doctor # 3. 确认一切正常
```
`--setup`向导完成所有操作:让您选择最小权限许可集,创建Entra应用注册(或使用您提供的注册),登录,处理管理员同意,选择环境,**并将服务器连接到您的AI应用,无需手动编辑JSON**。 然后重启您的应用并要求它构建流程。
**不甚了解技术?** 按照带有检查点的 **[简单路径](https://github.com/rcb0727/powerplatform-mcp-docs/blob/main/INSTALL.md#简单路径-3步)**。
| 想做… | 请执行以下操作 |
|----------|---------|
| 在设置期间连接特定应用 | `powerautomate-mcp --setup --client claude` |
| 稍后连接应用(或第二个应用) | `powerautomate-mcp --client cursor` |
| 跳过全局安装 | `npx -y powerautomate-mcp@latest --setup` (添加 `--npx`以使您的应用使用npx) |
| 手动配置应用 | [手动客户端配置](https://github.com/rcb0727/powerplatform-mcp-docs/blob/main/INSTALL.md#手动配置您的应用) |
支持的应用: **Claude Desktop**、**Claude Code**、**Cursor**、**VS Code(Copilot)**、**Gemini CLI**、**Windsurf**、**ChatGPT(通过 `--http`)。
---
## Microsoft Entra应用注册
设置向导(`--setup`)如果您有Azure CLI,则会自动创建应用注册。 大多数用户无需手动步骤。
> **新租户也可以使用(v0.13.0+)**:如果您的租户从未使用过Power Platform,则设置会创建缺少的第一个服务主体并解析租户实际发布的权限ID — 旧的`AADSTS650052` / `AADSTS65006`登录失败在重新运行 `--setup`时自行修复。
### 谁需要做些什么?
| 角色 | 操作 |
|------|--------|
| 具有Azure CLI的Entra ID管理员 | 运行 `powerautomate-mcp --setup` — 所有操作均自动完成 |
| 没有Azure CLI的Entra ID管理员 | 运行 `--setup`,粘贴应用的客户端ID进行提示,授予管理员同意 |
| 非管理员用户 | 运行 `--setup`,然后请管理员(请参见下面的角色)批准显示的同意URL |
| 最终用户(管理员设置后) | 只需运行 `powerautomate-mcp --setup` |
> **提示:** 您还可以将 `PA_MCP_CLIENT_ID`设置为环境变量,以完全跳过提示。
### 管理员同意
当Azure CLI以管理员身份登录时,向导提供直接授予租户范围的同意(v0.13.0+) — 无需浏览器往返。 否则,它会显示管理员同意URL并在您的浏览器中自动打开它。 以下Entra ID角色中的任何一个都可以授予同意: **全局管理员**、**应用管理员**、**云应用管理员**或**特权角色管理员**。 如果您没有这些角色之一,请与您的管理员分享URL:
```
https://login.microsoftonline.com/{tenant-id}/adminconsent?client_id=您的客户端ID
```
### 手动设置(可选)
如果您更喜欢手动创建应用注册:
1. 进入 [Azure门户](https://portal.azure.com) > **Microsoft Entra ID** > **应用注册** > **新建注册**
2. 配置基本设置:
- **名称**: `Power Automate MCP`
- **支持的帐户类型**: 任何组织目录(多租户)中的帐户
- **重定向URI**: 选择“公共客户端/原生”并输入:
```
https://login.microsoftonline.com/common/oauth2/nativeclient
```
3. 创建后,进入 **身份验证** 并启用:
- **允许公共客户端流**: 是
4. 进入 **API权限** > **添加权限** 并仅添加您要启用的工具曲面的权限。 设置向导提供 **所有工具曲面**、**仅Power Automate**、**Power Automate + 连接器**、**Dataverse**、**Power Pages**和**自定义**的预设。
| API | 权限 | 类型 | 用途 |
|-----|------------|------|----------|
| Power Automate(流程服务) | `Flows.Read.All` | 委派 | 读取流程 |
| Power Automate(流程服务) | `Flows.Manage.All` | 委派 | 创建/更新/删除流程 |
| Power Automate(流程服务) | `Activity.Read.All` | 委派 | 流程运行历史记录 |
| Power Automate(流程服务) | `Approvals.Manage.All` | 委派 | 审批管理 |
| Microsoft Graph | `User.Read`, `Sites.ReadWrite.All`, `Files.ReadWrite.All` | 委派 | 可选:SharePoint、OneDrive和Excel帮助程序 |
| PowerApps服务 | `User` | 委派 | 可选:连接器、连接器元数据、自定义连接器和Power Apps制作者API |
| BAP管理员API | `user_impersonation` | 委派 | 可选:管理员工具、Dataverse URL发现和Power Pages配置 |
| Dynamics CRM | `user_impersonation` | 委派 | 可选:Dataverse表/行CRUD和Power Pages配置 |
| Power Platform API | 委派权限 | 委派 | 可选:Power Pages **站点管理**(第2级 - 请参见下面的注释) |
> **最小权限:** 仅Power Automate设置仅需要Flow Service权限。 跳过的功能范围保存在 `features.enabled`中,从公开的MCP工具列表中隐藏,并被 `--doctor` / `--validate` 跳过。
> **Dataverse和管理员工具** 需要BAP Admin API的委托权限(应用ID `0e0bf3cc-3078-4fd4-9ef3-cb6dc0245b10`)。 如果没有它,服务器无法解析实际的Dataverse组织URL,并回退到通常失败DNS的 `*.crm.dynamics.com`主机名。
> **Power Pages站点管理工具(第2级)** 调用 `https://api.powerplatform.com` 需要“Power Platform API”的委托权限(应用ID `8578e004-a5c6-46e7-913e-12f58912df43`)。 它 **不** 由自动 `--setup` 应用创建,因为该API仅公开功能范围的权限,而自动创建者无法安全地猜测范围。 如果您要使用第2级,请手动添加,然后重新运行 `--setup` - 向导报告Power Platform API是否授权。
5. 点击 **为[您的租户]授予管理员同意** (需要全局管理员、应用程序管理员、云应用程序管理员或特权角色管理员)
---
## CLI参考
```
powerautomate-mcp [选项]
```
| 标志 | 描述 |
|------|-------------|
| `--setup`, `-s` | 运行交互式设置向导(登录 + 连接您的AI应用) |
| `--login` | 使用现有的设置再次登录 - 没有向导(令牌过期,MFA/策略更改) |
| `--doctor` | 检查您的设置并打印确切需要修复的内容,然后退出 |
| `--validate` | 验证配置、身份验证和API连接性,然后退出 |
| `--client <name>` | 将AI应用的配置连接到此服务器,然后退出 (`claude`, `claude-code`, `codex/` `chatgpt`, `cursor`, `vscode`, `gemini`, `windsurf`) |
| `--npx` | 使用 `--setup`/`--client`,配置应用通过 `npx`运行(无全局安装) |
| `--update` | 检查更新并安装最新版本 |
| `--version`, `-v` | 打印版本并退出 |
| `--http` | 使用Streamable HTTP传输启动 |
| `--port <N>` | HTTP传输的端口(默认:3000) |
| `--env <name>` | 覆盖默认环境(别名或GUID) |
| `--config <path>` | 使用备用配置文件 |
| `--debug` | 启用调试级日志记录 |
| `--help`, `-h` | 显示帮助消息 |
**环境变量:**
| 变量 | 描述 |
|----------|-------------|
| `PA_MCP_CLIENT_ID` | Microsoft Entra应用客户端ID(覆盖配置文件; `PA_MCP_ENVIRONMENT_ID`启动时使用配置引导程序,无需配置文件) |
| `PA_MCP_TENANT_ID` | Microsoft Entra租户ID或域名(覆盖配置文件) |
| `PA_MCP_ENVIRONMENT_ID` | 环境的Power Platform环境ID,用于环境变量配置引导程序 |
| `PA_MCP_ENVIRONMENT_REGION` | 引导的环境的Azure区域(默认 `unitedstates`) |
| `PA_CONFIG_PATH` | 自定义 `config.json`的路径 |
| `PA_MCP_HTTP_TOKEN` | 使用 `--http`:在每个MCP请求上需要 `Authorization: Bearer <token>`。 保护HTTP端点本身(工具使用 *您的*登录帐户) - 暴露给您自己的机器以外的服务器时需要 |
---
## 工作原理
<p align="center">
<img src="images/architecture.svg" alt="Power Platform MCP - 架构流程,三个示例场景(简单,中等,复杂)和执行阶段" width="700" />
</p>
---
### 画布源创作(预览)
画布源创作使用Microsoft的官方预发布画布创作MCP作为隔离的子进程。 安装 [.NET 10 SDK](https://dotnet.microsoft.com/download/dotnet/10.0),打开Power Apps Studio中的现有空白或可编辑的画布应用,启用 **设置 > 更新 > 协作者**,并保持Studio选项卡打开。 然后调用 `connect_canvas_authoring` 并使用Studio设计器URL之前使用发现、同步或编译工具。
### 更多示例提示
<details>
<summary>流程</summary>
```
创建每天早上给我发送天气预报邮件的流程
```
```
测试我的“每日报告”流程,告诉我是否有错误
```
```
帮助我编写一个表达式,将日期格式化为“2024年1月1日”
```
```
显示所有与我共享的流程
```
```
修复“识别表单”默认情况下的“撰写”操作 - 仅限于该节点,其余节点保持不变
```
</details>
<details>
<summary>SharePoint</summary>
```
列出我们营销网站上所有项目列表中的项目
```
```
将本月报告上传到共享文档库
```
</details>
<details>
<summary>Dataverse</summary>
```
显示Dataverse中所有活跃且收入超过1百万美元的帐户
```
```
在联系人表中为John Smith创建新的行
```
</details>
<details>
<summary>Power Apps</summary>
```
列出我的环境中的所有画布应用及其所有者
```
```
与财务团队共享“费用跟踪器”应用
```
</details>
<details>
<summary>管理员(需要Power Platform管理员,Dynamics 365管理员或全局管理员)</summary>
```
创建名为“开发测试”的新沙盒环境
```
```
我默认环境中应用了哪些DLP策略?
```
```
导出“销售解决方案”作为托管解决方案以进行部署
```
</details>
<details>
<summary>连接器和表达式</summary>
```
SharePoint有哪些可用的连接器?
```
```
“发送电子邮件(V2)”操作需要哪些参数?
```
</details>
<p align="right"><a href="#power-automate-mcp-server">↑ 返回顶部</a></p>
---
## 可用工具(共216个)
> **在此操作桌面流程,而不是在此创建桌面流程。** Microsoft 没有公开用于创建或编辑桌面流程定义的 API — 它是 Robin 脚本,带有配套的二进制记录,它们自己的恢复指南是手动粘贴到 Power Automate 桌面设计器中。在设计器中创建;使用这些工具运行、监视、诊断和编排。在不同环境之间移动已创建的流程支持通过 `export_solution` / `import_solution`。
<!-- TOOLS-TABLE:BEGIN — generated by `npm run docs:tools`, do not edit by hand -->
## 可用工具(共216个)
> 服务器暴露的所有工具,按服务分组。这里列出了全部216个工具。
<details>
<summary><strong>设置与身份验证</strong>(1个工具)</summary>
| 工具 | 描述 |
|------|-------------|
| `sign_in` | 登录Microsoft Power Platform,当其他工具报告缺少凭证时。启动Microsoft的设备代码登录,并返回一个代码和一个microsoft.com链接,供用户在自己的浏览器中完成(包括MFA)- 无需终端。再次调用`sign_in`,在用户完成登录后确认。此工具仅显示代码;它从不要求或接受密码。 |
</details>
<details>
<summary><strong>核心流程操作</strong>(15个工具)</summary>
| 工具 | 描述 |
|------|-------------|
| `list_flows` | 列出环境中的Power Automate流程。返回流程名称、ID、状态(已启动/已停止)、最后修改日期和所有者。使用`scope='shared'`查找与您共享的流程,使用`scope='owned'`仅查找您的流程。使用此工具发现流程存在,然后获取详细信息或进行更改。 |
| `get_flow` | 获取Power Automate流程的完整定义,包括触发器、操作、连接引用和描述。首先使用`list_flows`查找流程ID。设置`format='json'`或`format='both'`以捕获完整的定义,包括Switch/If/Foreach/Scope内的嵌套操作(默认的`summary`格式仅显示顶级操作)。 |
| `create_flow` | 创建新的Power Automate流程。提供触发器、操作和连接引用。使用`search_connectors`和`get_action_schema`了解连接器操作的必填参数。流程被创建为启用状态(已启动);使用`toggle_flow`停止它。 |
| `update_flow` | 更新现有的Power Automate流程。三种更新模式:(1)完全替换 - 传递`actions`替换所有顶级操作(默认;您必须包含要保留的嵌套操作);(2)合并 - 设置`mergeActions=true`深度合并您提供的操作,保留其他操作完整;(3)修补 - 使用`patchActions`和路径键(例如`If/cases/Default/actions/Compose`)进行精确编辑, payload最小。使用`get_flow`和`format='json'`首先查看完整的嵌套操作树。 |
| `preview_update` | 预览`update_flow`将对流程进行的更改 - 显示名称、触发器、添加/删除/修改的操作和连接引用 - 而不进行任何写入。在重要的流程上运行此工具后调用`update_flow`。 |
| `delete_flow` | 永久删除Power Automate流程。此操作无法撤销。您必须设置`confirm=true`才能继续删除。使用`get_flow`首先验证您拥有正确的流程。 |
| `toggle_flow` | 启用或禁用Power Automate流程。使用`start`启用已停止的流程,或使用`stop`禁用正在运行的流程。流程必须存在,并且您必须具有修改它的权限。 |
| `clone_flow` | 克隆现有的Power Automate流程,创建具有新名称的副本。可选更新克隆中的连接引用。克隆的流程将被创建为停止状态。 |
| `export_flow` | 导出流程为包。返回流程定义和元数据,可用于导入到另一个环境或作为备份。 |
| `share_flow` | 与用户、组或服务主体共享流程。授予他们`CanEdit`(可以修改流程)或`CanView`(仅运行访问)权限。您需要Microsoft Entra主体ID才能共享给。 |
| `get_flow_permissions` | 获取有权访问流程的用户、组和服务主体的列表。显示他们的角色(所有者、CanEdit、CanView)和身份信息。使用此工具审计谁可以看到或修改流程。 |
| `list_flow_versions` | 列出流程的所有版本。每个版本代表流程定义的保存状态。使用此工具跟踪更改或恢复到以前的版本。 |
| `get_flow_version` | 读取流程的保存版本,包括其完整定义 - 检查流程在更改前的样子,或在恢复前检查版本。 |
| `restore_flow_version` | 将流程回滚到以前的保存版本 - 撤销错误编辑的工具。在确认之前预览更改。除非`confirm=true`,否则当前定义本身被保存为版本,因此恢复可以被撤销。 |
| `get_trigger_inputs` | 获取过去运行实际触发的触发器有效载荷 - 真实的输入,而不是手动猜测。将它反馈到`test_flow`中,以重现针对导致失败的数据的失败。 |
</details>
<details>
<summary><strong>测试与调试</strong>(10个工具)</summary>
| 工具 | 描述 |
|------|-------------|
| `test_flow` | 测试Power Automate流程,带有引导式反馈。此工具:1. 获取流程的预期输入模式(如果有);2. 使用提供的测试数据运行流程;3. 等待完成;4. 报告成功或提供失败诊断。在创建或修改流程后使用此工具验证它是否正确工作。 |
| `run_flow` | 触发Power Automate流程立即运行。适用于任何类型的触发器(手动、计划、基于事件)。可选传递输入数据并等待运行完成。 |
| `get_runs` | 获取Power Automate流程的执行历史记录。显示运行时间、状态(成功/失败/运行中)和失败运行的错误信息。用于调试流程问题。 |
| `get_run_actions` | 获取流程运行的详细操作级信息。显示每个操作的 状态、时间、输入/输出和错误详细信息。使用`failedOnly=true`关注失败的操作,使用`actionName`深入了解特定操作,使用`includeInputs`/`includeOutputs`查看完整的有效载荷。 |
| `get_run_action_repetitions` | 获取流程运行中`for_each`或`do_until`循环操作的迭代级详细信息。显示哪些迭代成功/失败、它们的输入/输出和错误详细信息。对于部分失败的循环调试至关重要。 |
| `diagnose_flow` | 诊断Power Automate流程的问题。分析最近的运行,识别失败并提供特定的修复建议。在流程失败或行为异常时使用此工具。 |
| `validate_flow` | 验证Power Automate流程定义是否存在错误。可以验证现有流程的ID或新的定义。检查模式错误、表达式语法、循环依赖和缺少的连接引用。 |
| `resubmit_run` | 重新提交失败或已取消的流程运行。这将使用相同的触发器输入重新执行流程。仅适用于具有手动触发器的流程。 |
| `cancel_run` | 取消正在运行的流程执行。使用此工具停止运行时间过长或运行不正确的流程。 |
| `cancel_all_runs` | 取消流程的所有正在运行的实例(运行中、等待中、暂停中、挂起中)。如果未设置`confirm=true`,则会预览哪些运行将被取消。已取消的运行无法恢复。 |
</details>
<details>
<summary><strong>规划与帮助</strong>(5个工具)</summary>
| 工具 | 描述 |
|------|-------------|
| `plan_flow` | 交互式流程规划向导。用户想要创建或构建流程时首先调用此工具。重要:此工具返回澄清问题,您必须向用户提出这些问题,然后再继续。工作流程:1. 调用`plan_flow`,并提供用户的描述;2. 向用户提出所有问题(不要自己回答);3. 收集用户的答案;4. 调用`plan_flow`,并提供答案,获取最终计划;5. 使用生成的定义创建或构建流程。问题涵盖触发器时间、收件人、数据源、格式偏好等。 |
| `build_flow` | 根据描述构建Power Automate流程。推荐:首先使用`plan_flow`通过交互式向导收集需求,然后使用此工具创建流程。此工具:1. 分析目标;2. 检测所需的连接;3. 直接创建流程。缺少的连接不会阻止创建:流程仍然会构建(停止状态,以免失败运行),响应中会列出需要配置的连接。已经存在的连接将自动使用。对于具有多个数据源、审批或特定时间要求的复杂流程,首先使用`plan_flow`澄清细节。 |
| `get_expression_help` | 获取Power Automate表达式的帮助。提供:- 按类别划分的常用函数参考;- 上下文特定的示例;- 表达式语法验证;- 最佳实践和提示。在构建需要表达式的流程操作时使用。 |
| `search_connectors` | 按名称、描述或类别搜索Power Automate连接器。返回匹配的连接器及其层级(标准/高级)和功能。使用此工具发现可用的连接器,然后再构建流程。 |
| `get_action_schema` | 获取连接器的操作的模式和参数。使用`search_connectors`查找连接器ID。无需`operationId`,返回所有可用的操作列表。有了`operationId`,返回详细的模式和响应模式。 |
</details>
<details>
<summary><strong>连接与自定义连接器</strong>(13个工具)</summary>
| 工具 | 描述 |
|------|-------------|
| `list_connections` | 列出环境中的所有连接。显示连接名称、状态(已连接/错误)、连接器类型和创建者。使用此工具排查连接问题或查看已连接的服务。 |
| `ensure_connection` | 通过一次调用获取连接器的有效连接:如果存在,返回现有的已连接连接;否则创建连接并返回登录说明。使用此工具代替拼接`list_connections`/`create_connection`/`test_connection`,它是绑定连接器到流程的前正确步骤。 |
| `create_connection` | 为连接器创建连接。OAuth连接器(SharePoint、Office 365、Teams...)被创建为未经认证的,并返回登录说明 - 直接同意链接(如果环境提供),否则是制造门户的深层链接 - 然后`test_connection`确认。基于API密钥的连接器通过参数接受其值。 |
| `test_connection` | 检查连接是否健康(已连接)并在不健康时显示其错误状态 - 在`create_connection`同意后使用,或当流程因连接/身份验证错误而失败时。 |
| `fix_connection` | 修复损坏或过期的连接:返回重新身份验证说明 - 新的同意链接(如果环境提供),否则是制造门户的深层链接。如果连接已经健康,则无需确认。 |
| `delete_connection` | 永久删除连接。绑定的流程将失败,直到重新绑定。需要`confirm=true`。 |
| `list_custom_connectors` | 列出环境中的所有自定义连接器。显示连接器名称、ID和操作数。 |
| `get_custom_connector` | 获取自定义连接器的详细信息,包括其OpenAPI定义和所有操作。 |
| `create_custom_connector` | 为任何REST API创建自定义连接器。定义基本URL、身份验证和操作。每个操作指定HTTP方法、路径和参数。 |
| `update_custom_connector` | 更新自定义连接器。添加或删除操作,或更改显示名称和描述。 |
| `delete_custom_connector` | 删除自定义连接器。需要`confirm=true`继续。 |
| `plan_custom_connector` | 获取创建自定义连接器的指导。描述您需要收集的API信息。 |
| `import_openapi_connector` | 通过导入OpenAPI/Swagger规范创建自定义连接器。提供完整的规范和身份验证详细信息。 |
</details>
<details>
<summary><strong>审批</strong>(3个工具)</summary>
| 工具 | 描述 |
|------|-------------|
| `list_approvals` | 列出环境中的待处理审批。显示等待回复的审批请求。 |
| `list_approvals_dataverse` | 从Dataverse列出待处理审批请求。比Flow API更可靠地显示审批标题、阶段和请求者。 |
| `respond_approval` | 响应待处理审批请求。使用'Approve'批准或'Reject'拒绝请求。 |
</details>
<details>
<summary><strong>Dataverse CRUD</strong>(7个工具)</summary>
| 工具 | 描述 |
|------|-------------|
| `list_dataverse_tables` | 列出环境中的Dataverse表(实体)。返回表名称、实体集名称和它们是自定义还是系统表。在行操作中使用EntitySetName。 |
| `get_dataverse_table` | 获取Dataverse表的详细信息,包括所有列定义。提供表的逻辑名称(例如'account','contact')。返回列名称、类型和要求。 |
| `query_dataverse_rows` | 使用OData筛选、选择和排序查询Dataverse表中的行。首先使用`list_dataverse_tables`获取EntitySetName。返回具有字段值的匹配行。 |
| `get_dataverse_row` | 通过ID获取单个Dataverse行。返回指定行的所有字段或选定字段。 |
| `create_dataverse_row` | 在Dataverse表中创建新行。首先使用`get_dataverse_table`查看可用列和必填字段。返回创建的行及其新ID。 |
| `update_dataverse_row` | 更新现有的Dataverse行。仅包含要更改的字段。行必须存在。 |
| `delete_dataverse_row` | 永久删除Dataverse行。此操作无法撤销。您必须设置`confirm=true`才能继续删除。 |
</details>
<details>
<summary><strong>SharePoint</strong>(11个工具)</summary>
| 工具 | 描述 |
|------|-------------|
| `search_sharepoint_sites` | 按名称或关键词搜索SharePoint站点。返回站点ID、名称和URL。在后续SharePoint操作中使用站点ID。 |
| `get_sharepoint_site` | 通过ID或主机名和路径获取SharePoint站点。返回站点详细信息,包括名称、URL和描述。 |
| `list_sharepoint_lists` | 列出SharePoint站点中的所有列表和库。返回列表ID、名称和类型。使用列表ID进行项目操作。 |
| `get_sharepoint_list_columns` | 获取SharePoint列表的列定义。显示列名称、类型和是否必填。在创建或更新项目之前使用此工具。 |
| `list_sharepoint_items` | 从SharePoint列表中获取项目,可选过滤和排序。返回项目ID、字段值和元数据。 |
| `create_sharepoint_item` | 在SharePoint列表中创建新项目。首先使用`get_sharepoint_list_columns`查看可用字段。提供字段值作为键值对。 |
| `update_sharepoint_item` | 更新现有的SharePoint列表项目。仅包含要更改的字段。 |
| `delete_sharepoint_item` | 永久删除SharePoint列表项目。此操作无法撤销。您必须设置`confirm=true`才能继续。 |
| `list_sharepoint_files` | 列出SharePoint文档库中的文件。首先使用`list_sharepoint_lists`查找文档库,然后使用`list_sharepoint_lists`获取站点ID和库的driveType获取驱动器ID。 |
| `upload_sharepoint_file` | 将文件上传到SharePoint文档库。简单上传支持高达4MB的文件。提供文件内容为base64编码字符串。 |
| `get_sharepoint_file_content` | 从SharePoint文档库下载文件内容。对于小于1MB的文本文件,返回base64编码的内容;对于较大或二进制文件,返回元数据。 |
</details>
<details>
<summary><strong>Excel(OneDrive)</strong>(2个工具)</summary>
| 工具 | 描述 |
|------|-------------|
| `search_excel_files` | 按名称搜索OneDrive中的Excel文件。返回匹配的文件及其ID和路径。 |
| `inspect_excel_file` | 检查Excel文件以查找表和列。首先使用`search_excel_files`查找文件ID。 |
</details>
<details>
<summary><strong>Power Apps</strong>(12个工具)</summary>
| 工具 | 描述 |
|------|-------------|
| `list_powerapps` | 列出环境中的Power Apps画布应用。返回应用名称、ID、所有者和最后修改日期。 |
| `list_canvas_apps` | 列出存储在Dataverse中的Power Apps画布应用。显示应用名称、版本和状态。 |
| `get_powerapp` | 获取Power App的详细信息,包括所有者、连接和应用URI。 |
| `publish_powerapp` | 发布Power App,使最新版本可供用户使用。 |
| `get_powerapp_versions` | 获取Power App的版本历史记录。显示所有保存的版本和日期。 |
| `restore_powerapp_version` | 将Power App恢复到以前的版本。 |
| `get_powerapp_permissions` | 获取有权访问Power App的用户、组和服务主体的列表。 |
| `share_powerapp` | 与用户、组或服务主体共享Power App。授予CanEdit或CanView权限。 |
| `unshare_powerapp` | 删除用户或组对Power App的访问权限。 |
| `set_powerapp_owner` | 将Power App的所有权转让给其他用户。需要Power Platform管理员角色。 |
| `set_powerapp_display_name` | 更改Power App的显示名称。 |
| `delete_powerapp` | 永久删除Power App。此操作无法撤销。设置`confirm=true`继续。 |
</details>
<details>
<summary><strong>画布应用创作(预览)</strong>(13个工具)</summary>
| 工具 | 描述 |
|------|-------------|
| `connect_canvas_authoring` | 将预览Canvas编辑服务连接到现有应用,其Power Apps工作室选项卡已打开并启用了协同编辑。接受受信任的设计器URL或明确的应用/环境ID和环境类别。不支持通过此桥接进行设备代码身份验证。 |
| `list_canvas_controls` | 列出连接到Canvas编辑会话的支持控件。 |
| `describe_canvas_control` | 描述一个Canvas控件及其编辑属性。 |
| `list_canvas_apis` | 列出连接到Canvas编辑会话的可见连接器API。 |
| `describe_canvas_api` | 描述一个连接到Canvas应用的可见连接器API。 |
| `list_canvas_data_sources` | 列出已存在于连接的Canvas应用中的数据源。 |
| `get_canvas_data_source_schema` | 获取已存在于连接的Canvas应用中的数据源的架构。 |
| `sync_canvas_source` | 将连接的实时Canvas应用同步到现有的本地源目录。这可能会覆盖本地文件,需要confirmOverwrite=true。 |
| `compile_canvas_source` | 将本地.pa.yaml工作空间编译到连接的实时Canvas应用中。这是一个破坏性的租户写入,即使验证失败,也需要confirm=true。 |
| `list_canvas_source_files` | 列出现有本地Canvas源目录中的安全.pa.yaml文件,包括大小和SHA-256。 |
| `read_canvas_source_file` | 读取一个安全UTF-8.pa.yaml文件(最大1 MiB),并返回其内容、大小和SHA-256。 |
| `write_canvas_source_file` | 创建一个安全UTF-8.pa.yaml文件(最大1 MiB)。如果overwrite=true,则保留现有文件;expectedSha256可以防止更新丢失。 |
| `delete_canvas_source_file` | 删除一个安全本地.pa.yaml文件。需要confirm=true;expectedSha256可以防止删除更改的文件。 |
</details>
<details>
<summary><strong>模型驱动应用</strong> (13 个工具)</summary>
| 工具 | 描述 |
|------|-------------|
| `list_model_driven_apps` | 列出已发布或未发布的模型驱动Power Apps,来自Dataverse,包括应用模块ID和唯一名称。 |
| `get_model_driven_app` | 获取模型驱动应用的已发布或未发布的AppModule记录。可选地包括完整的描述符/应用图/配置XML定义。 |
| `create_model_driven_app` | 在Dataverse中创建一个真正的模型驱动应用模块。这会创建应用壳;添加组件、验证、发布和授予安全角色需要使用配套工具。 |
| `update_model_driven_app` | 更新已发布的模型驱动应用模块上的支持属性,创建未发布的更改。新创建的应用必须先发布一次,然后才能通过文档的AppModule API更新其属性。 |
| `delete_model_driven_app` | 永久删除模型驱动应用模块。需要confirm=true。 |
| `get_model_driven_app_components` | 检索当前包含在已发布的模型驱动应用中的所有组件。 |
| `add_model_driven_app_components` | 通过添加应用组件将Dataverse组件(如视图、表单、工作流、仪表板和站点地图)添加到模型驱动应用中。 |
| `remove_model_driven_app_components` | 通过删除应用组件从模型驱动应用中删除一个或多个Dataverse组件。 |
| `validate_model_driven_app` | 运行Dataverse ValidateApp并在发布前返回依赖项错误和警告。 |
| `publish_model_driven_app` | 通过PublishXml验证并发布模型驱动应用。验证阻止发布,除非skipValidation=true。 |
| `list_model_driven_app_roles` | 列出与模型驱动应用关联的Dataverse安全角色。 |
| `grant_model_driven_app_role` | 将Dataverse安全角色与模型驱动应用关联以授予访问权限。 |
| `revoke_model_driven_app_role` | 将Dataverse安全角色与模型驱动应用解除关联。 |
</details>
<details>
<summary><strong>Power Apps 管理</strong> (4 个工具)</summary>
| 工具 | 描述 |
|------|-------------|
| `list_powerapps_admin` | 以管理员身份列出环境中的所有Power Apps。需要Power Platform管理员角色。 |
| `get_powerapp_admin` | 以管理员身份获取Power App的详细信息。需要Power Platform管理员角色。 |
| `delete_powerapp_admin` | 以管理员身份删除Power App。需要Power Platform管理员角色;设置confirm=true以继续。 |
| `quarantine_powerapp` | 隔离或解除隔离Power App。隔离的应用无法启动。需要管理员角色。 |
</details>
<details>
<summary><strong>Power Pages - 站点配置</strong> (9 个工具)</summary>
| 工具 | 描述 |
|------|-------------|
| `list_powerpages_sites` | 列出存储在Dataverse中的Power Pages站点(配置平面)。返回增强模型站点(mspp_websites)和标准模型站点(adx_websites),每个站点都标记其数据模型和站点ID,以便传递给组件工具。对于托管/状态/URL,请改用list_powerpages_websites。 |
| `get_powerpages_site` | 通过站点ID(来自list_powerpages_sites)获取Power Pages站点的Dataverse记录和检测到的数据模型(标准与增强)。 |
| `list_powerpages_components` | 列出Power Pages站点的配置组件,涵盖标准和增强数据模型。直接站点范围的类型自动限制为站点ID。嵌套类型(weblink、表单元数据/步骤、列权限)需要显式父级OData筛选器。 |
| `get_powerpages_component` | 通过记录ID获取单个Power Pages配置组件行。站点ID选择数据模型。 |
| `create_powerpages_component` | 创建Power Pages配置组件。直接站点范围的类型自动接收网站@odata.bind。嵌套类型需要其父级@odata.bind在数据中。对于标准模型网页文件字节,请使用upload_powerpages_webfile_content。 |
| `update_powerpages_component` | 更新Power Pages配置组件行。仅在`data`中包含要更改的列。 |
| `delete_powerpages_component` | 永久删除Power Pages配置组件行。设置confirm=true以继续。 |
| `manage_powerpages_relationship` | 关联或解除Power Pages安全/配置记录与Web角色,使用记录的Dataverse关系。两个记录都验证为属于站点ID。设置confirm=true,因为这些关系会影响授权。 |
| `upload_powerpages_webfile_content` | 使用记录的新颖附件格式将本地文件字节附加到标准模型Power Pages网页文件记录中。读取绝对常规本地路径(最大15 MiB);不会将base64放入MCP请求中。增强虚拟表站点必须使用pac_pages_upload。设置confirm=true。 |
</details>
<details>
<summary><strong>Power Pages - 站点管理</strong> (36 个工具)</summary>
| 工具 | 描述 |
|------|-------------|
| `list_powerpages_websites` | 通过Power Platform管理API列出环境中的Power Pages网站。返回托管信息:状态、公共URL、数据模型和类型(生产/试用)。对于站点后面的Dataverse配置,请使用list_powerpages_sites。 |
| `get_powerpages_website` | 通过管理API获取Power Pages网站的托管详细信息(状态、URL、数据模型)ID。 |
| `create_powerpages_website` | 预配新的Power Pages网站(管理API)。异步 - 返回跟踪URL;预配需要几分钟。Dataverse组织ID如果未提供,则从环境中解析。设置confirm=true以继续。 |
| `delete_powerpages_website` | 删除Power Pages网站(管理API)。此操作不可撤销。设置confirm=true以继续。 |
| `restart_powerpages_website` | 重启Power Pages网站(管理API)。回收站点以获取Dataverse配置更改 - 与studio的编程等效的'同步'。同步。 |
| `get_powerpages_operation_status` | 获取或有界等待Power Pages Operation-Location结果。仅限api.powerplatform.com的身份验证HTTPS URL。 |
| `get_powerpages_allowed_ip_addresses` | 获取网站的IP允许列表。 |
| `add_powerpages_allowed_ip_addresses` | 将IPv4/IPv6地址或CIDR范围添加到网站的允许列表。设置confirm=true。 |
| `remove_powerpages_allowed_ip_addresses` | 从网站的允许列表中删除IPv4/IPv6地址或CIDR范围。设置confirm=true。 |
| `list_powerpages_custom_domains` | 列出为网站配置的自定义域名。 |
| `create_powerpages_custom_domain` | 将自定义域名添加到网站。DNS验证仍然适用。设置confirm=true。 |
| `delete_powerpages_custom_domain` | 从网站删除自定义域名。设置confirm=true。 |
| `list_powerpages_certificates` | 列出网站的SSL或托管证书。 |
| `upload_powerpages_certificate` | 使用多部分表单数据上传本地PFX证书。读取绝对规范路径(最大16 MiB);密码可能来自命名环境变量。设置confirm=true。 |
| `delete_powerpages_certificate` | 通过指纹和类型删除证书。设置confirm=true。 |
| `list_powerpages_ssl_bindings` | 列出自定义主机名的SSL绑定。 |
| `add_powerpages_ssl_binding` | 将证书指纹绑定到自定义主机名。设置confirm=true。 |
| `delete_powerpages_ssl_binding` | 通过主机名和指纹删除SSL绑定。设置confirm=true。 |
| `get_powerpages_waf_status` | 获取网站的Web应用程序防火墙状态。 |
| `get_powerpages_waf_rules` | 获取托管和自定义Web应用程序防火墙规则。 |
| `enable_powerpages_waf` | 启用网站的Web应用程序防火墙。设置confirm=true。 |
| `disable_powerpages_waf` | 禁用网站的Web应用程序防火墙。设置confirm=true。 |
| `create_powerpages_waf_rules` | 使用发布的2024-10-01合约创建或更新托管/自定义WAF规则。设置confirm=true。 |
| `delete_powerpages_waf_custom_rules` | 删除命名的自定义WAF规则。设置confirm=true。 |
| `start_powerpages_quick_scan` | 启动快速的网站安全扫描。设置confirm=true。 |
| `start_powerpages_deep_scan` | 启动深入的网站安全扫描。设置confirm=true。 |
| `get_powerpages_security_scan_report` | 获取最新的已完成深入安全扫描报告。 |
| `get_powerpages_security_scan_score` | 获取最新的深入安全扫描分数。 |
| `start_powerpages_website` | 启动已停止的Power Pages网站。设置confirm=true。 |
| `stop_powerpages_website` | 停止Power Pages网站,使其不可用。设置confirm=true。 |
| `convert_powerpages_trial_to_production` | 将试用网站转换为生产网站,并可选地启用CDN/WAF。适用许可影响。设置confirm=true。 |
| `enable_powerpages_bootstrap_v5` | 为网站启用Bootstrap 5。设置confirm=true。 |
| `set_powerpages_data_model_version` | 设置网站是否使用增强数据模型。设置confirm=true。 |
| `toggle_powerpages_afd_routing` | 启用或禁用Azure Front Door流量路由。设置confirm=true。 |
| `update_powerpages_security_group` | 设置或清除控制私有站点可见性的Entra安全组。设置confirm=true。 |
| `update_powerpages_site_visibility` | 将网站可见性设置为公共或私有。设置confirm=true。 |
</details>
<details>
<summary><strong>Power Pages - PAC CLI</strong> (8 个工具)</summary>
| 工具 | 描述 |
|------|-------------|
| `pac_pages_bootstrap_migrate` | 在本地迁移下载的网站HTML从Bootstrap 3到Bootstrap 5。运行安装的pac可执行文件,不使用shell,并使用活动的PAC身份验证配置文件。 |
| `pac_pages_clone` | 将本地Power Pages网站内容克隆到新的输出目录。运行安装的pac可执行文件,不使用shell,并使用活动的PAC身份验证配置文件。 |
| `pac_pages_download` | 从Dataverse下载标准或增强的Power Pages站点。运行安装的pac可执行文件,不使用shell,并使用活动的PAC身份验证配置文件。 |
| `pac_pages_download_code_site` | 从Dataverse下载Power Pages代码站点。运行安装的pac可执行文件,不使用shell,并使用活动的PAC身份验证配置文件。 |
| `pac_pages_list` | 列出当前或指定PAC Dataverse环境中的网站。运行安装的pac可执行文件,不使用shell,并使用活动的PAC身份验证配置文件。 |
| `pac_pages_migrate_datamodel` | 启动、检查、重置或恢复Power Pages数据模型迁移。运行安装的pac可执行文件,不使用shell,并使用活动的PAC身份验证配置文件。 |
| `pac_pages_upload` | 将下载的网站配置上传到Dataverse。运行安装的pac可执行文件,不使用shell,并使用活动的PAC身份验证配置文件。 |
| `pac_pages_upload_code_site` | 将编译的代码上传到Power Pages代码站点。运行安装的pac可执行文件,不使用shell,并使用活动的PAC身份验证配置文件。 |
</details>
<details>
<summary><strong>环境管理</strong> (10 个工具)</summary>
| 工具 | 描述 |
|------|-------------|
| `list_environments` | 列出当前用户可访问的所有Power Platform环境。显示环境名称、ID、区域和每个环境是否为默认环境。 |
| `get_environment` | 获取Power Platform环境的详细信息,包括Dataverse URL、区域和SKU。 |
| `create_environment` | 创建新的Power Platform环境。需要管理员角色。 |
| `delete_environment` | 永久删除Power Platform环境。此操作不可撤销。设置confirm=true。 |
| `copy_environment` | 复制Power Platform环境以创建新的环境。设置confirm=true。 |
| `reset_environment` | 将Power Platform环境重置为其初始状态。此操作会删除所有数据。设置confirm=true。 |
| `backup_environment` | 创建Power Platform环境的备份。 |
| `restore_environment` | 从备份中还原Power Platform环境。设置confirm=true。 |
| `list_environment_backups` | 列出Power Platform环境的可用备份。 |
| `get_environment_capacity` | 获取特定环境的容量消耗情况。 |
</details>
<details>
<summary><strong>DLP 策略</strong> (6 个工具)</summary>
| 工具 | 描述 |
|------|-------------|
| `list_dlp_policies` | 列出租户中的所有数据丢失预防(DLP)策略。需要管理员角色。 |
| `get_dlp_policy` | 获取DLP策略的详细信息,包括连接器组分配。 |
| `create_dlp_policy` | 创建新的DLP策略。需要管理员角色。 |
| `update_dlp_policy` | 更新现有的DLP策略。需要管理员角色。 |
| `delete_dlp_policy` | 删除DLP策略。设置confirm=true以继续。需要管理员角色。 |
| `get_dlp_connector_configs` | 获取DLP策略的连接器级配置(端点过滤等)。 |
</details>
<details>
<summary><strong>解决方案 ALM</strong> (8 个工具)</summary>
| 工具 | 描述 |
|------|-------------|
| `list_solutions` | 列出环境中的Dataverse解决方案。解决方案是流、应用和其他组件的容器。使用此功能查看已部署的内容并管理解决方案感知组件。 |
| `export_solution` | 将Dataverse解决方案导出为base64编码的zip,或通过导出作业ID恢复早期异步导出。支持同步导出和有界系统作业轮询。 |
| `import_solution` | 导入base64编码的Dataverse解决方案zip。此操作会更改环境,需要confirm=true。支持异步导入和系统作业轮询。 |
| `clone_solution` | 克隆未管理的Dataverse解决方案,并将其补丁合并到新版本中。 |
| `add_solution_component` | 将现有组件添加到未管理的Dataverse解决方案中。 |
| `remove_solution_component` | 从未管理的Dataverse解决方案中删除组件。需要confirm=true。 |
| `list_solution_flows` | 列出存储在Dataverse解决方案中的流。这些是“解决方案感知”的流,可以跨环境导出和部署。包括版本历史记录访问。 |
| `publish_all_customizations` | 发布每个待定的Dataverse自定义。此操作可能影响实时应用,需要confirm=true。 |
</details>
<details>
<summary><strong>托管环境和容量</strong> (6 个工具)</summary>
| 工具 | 描述 |
|------|-------------|
| `enable_managed_environment` | 启用托管环境功能。设置confirm=true。需要管理员角色。 |
| `disable_managed_environment` | 禁用托管环境功能。设置confirm=true。需要管理员角色。 |
| `get_managed_environment_settings` | 获取托管环境的治理配置。 |
| `update_managed_environment_settings` | 更新托管环境的治理设置。需要管理员角色。 |
| `get_tenant_capacity` | 获取租户的存储和API容量使用情况。需要管理员角色。 |
| `get_api_request_summary` | 获取租户的API请求消耗摘要。需要管理员角色。 |
</details>
<details>
<summary><strong>桌面流程 / RPA</strong> (13 个工具)</summary>
以下是翻译后的文档:
<details>
<summary><strong>工具列表</strong> (15 tools)</summary>
| 工具 | 描述 |
|------|-------------|
| `list_desktop_flows` | 列出环境中的桌面流程(使用 Power Automate for desktop 构建的 RPA/UI 自动化),以及用于运行它们的 工作流 ID。 |
| `get_desktop_flow` | 获取桌面流程的详细信息及其声明的输入和输出变量(模式)— 在运行前检查以了解需要传递的输入。 |
| `run_desktop_flow` | 通过桌面流程连接在注册的机器上触发桌面流程(RPA)运行。 attended 运行需要机器上登录的用户;unattended 运行需要在机器上具有 Process 许可证。返回会话 ID 以使用 get_desktop_flow_run 查询。限制:每个连接每分钟 70 次运行。 |
| `get_desktop_flow_runs` | 列出最近的桌面流程运行(最新的优先)— 跨所有桌面流程或限定为一个 — 包含状态、时间和错误摘要。 |
| `get_desktop_flow_run` | 获取一次桌面流程运行的状态。在运行成功时返回输出,在运行失败时返回完整的错误详细信息(代码、消息、机器)。 |
| `cancel_desktop_flow_run` | 取消队列或正在运行的桌面流程运行。需要对运行的 owner 级别访问 — 您触发的运行符合此条件。 |
| `list_desktop_flow_connections` | 查找可用作 run_desktop_flow 的 connectionName 的桌面流程连接引用(isConnectionReference=true)。解释了在没有连接时如何创建或定位连接。 |
| `get_desktop_flow_run_logs` | 获取桌面流程运行的操作级日志。首先尝试 V2 日志存储(flowlog),然后尝试 V1 运行上下文;如果运行没有操作级日志,则明确说明(通常适用于 API 触发的运行 — V2 日志记录是为连接器触发的运行记录的)。 |
| `diagnose_desktop_flow_run` | 诊断桌面流程运行:解码失败、检查运行的机器(状态、心跳)、将许可错误转换为请求的确切许可,并在可用时拉取日志尾部。 |
| `list_machines` | 列出注册的桌面流程(RPA)机器,包含实时状态、最后心跳、容量、托管类型和组 membership。 |
| `get_machine` | 获取一个桌面流程机器的完整详细信息:状态、心跳、会话容量、代理版本、托管机器错误和组键健康状况。 |
| `list_machine_groups` | 列出桌面流程机器组(用于无人值守 RPA 运行的负载均衡/高可用性),包含类型、成员数量和配置状态。 |
| `restart_hosted_machine` | 重启 Microsoft 托管的 RPA 机器(中断其上的任何正在运行的运行)。仅适用于托管机器 — 物理机器必须在操作系统中重启。 |
</details>
<details>
<summary><strong>工作队列(RPA 编排)</strong> (8 tools)</summary>
| 工具 | 描述 |
|------|-------------|
| `list_work_queues` | 列出工作队列(共享的待办事项列表,用于协调 RPA 和云流程处理),包含状态和重试/重新队列策略。 |
| `get_work_queue` | 获取一个工作队列的配置和健康状态:按状态(队列/处理/已处理/暂停/错误)计算项目数量。 |
| `create_work_queue` | 创建工作队列。可选地,对项目输入强制执行 JSON 模式,并设置重试/重新队列上限和默认项目生存时间。 |
| `enqueue_work_queue_item` | 将项目添加到工作队列中进行处理。支持优先级(1 = 最高)、延迟可用性、到期和每个队列的重复键。 |
| `list_work_queue_items` | 列出工作队列中的项目(最新的优先),可选地按状态筛选:queued、processing、processed、on_hold 或 error。 |
| `dequeue_work_queue_item` | 原子性地声明下一个队列项目(按优先级顺序,旧的优先)— 它会翻转为 Processing 状态,并带有输入。使用 update_work_queue_item 完成。 |
| `update_work_queue_item` | 完成一个声明的工作队列项目:标记为已处理、失败并带有异常类(业务/IT/通用),或重新队列(可选延迟)。 |
| `delete_work_queue` | 永久删除工作队列及其项目。需要 confirm=true。 |
</details>
<details>
<summary><strong>计费和 AI 构建器</strong> (3 tools)</summary>
| 工具 | 描述 |
|------|-------------|
| `list_billing_policies` | 列出租户的即付即用计费策略。需要管理员角色。 |
| `get_billing_policy` | 获取特定计费策略的详细信息。 |
| `list_ai_models` | 列出环境中的 AI 构建器模型。显示模型名称、类型和状态。 |
</details>
<!-- TOOLS-TABLE:END -->
## 安全
该服务器实施了三轮渗透测试的安全防御:
- **安全令牌存储**:DPAPI(Windows)、Keychain(macOS)、libsecret(Linux,当可用时),带有 0o600 文件缓存备用方案,当它不可用时
- **SSRF 防护**:全面私有主机检测,涵盖 IPv4、IPv6、IPv6 映射/兼容 IPv4、八进制/十六进制/十进制表示法、ULA、链路本地范围、域名允许列表
- **OData 注入保护**:所有比较运算符、括号形式、基于算术/函数的绕过、Unicode NFC 规范化、仅 ASCII 强制执行
- **路径遍历防护**:NFKC Unicode 规范化、双向控制字符剥离、零宽度字符删除、空字节拒绝、URL 双重编码防御
- **输入验证**:所有 ID 的 GUID 验证、字段列表验证、环境 ID 格式检查、SharePoint 主机名允许列表
- **注入防护**:Power Automate 表达式注入阻止(`@{`/`}@`)、命令注入防护(`execFile` 而不是 `exec`)、原型污染防御
- **错误净化**:递归敏感键编辑(令牌、密码、机密)、PII 删除、堆栈跟踪抑制
- **日志编辑**:用于身份验证标头、令牌、API 密钥的深层通配符 Pino 编辑
- **HTTP 传输安全**:仅限本地主机绑定、基于会话的 Streamable HTTP、时间安全的 API 密钥比较
- **资源限制**:2MB 输入大小限制、20 级深度限制、50MB JSON 响应限制、100MB 二进制下载限制
- **配置强化**:文件权限(0o600)、符号链接拒绝、全局可读警告
- **身份验证安全**:令牌刷新互斥锁、MSAL PII 过滤、MSAL 详细/跟踪抑制、服务器上的静默模式
<p align="right"><a href="#power-automate-mcp-server">↑ 返回顶部</a></p>
## 架构
```
AI 客户端 <--stdio/http--> powerautomate-mcp
(Claude、VS Code、 |
Cursor、Gemini) ├── Power Automate 流程管理 API
├── Power Apps API(画布/模型驱动应用)
├── Power Platform 管理 API(环境、DLP、容量)
├── Microsoft Graph API(SharePoint、OneDrive、Excel)
├── Dataverse Web API(表、行、解决方案)
├── MSAL 身份验证(浏览器弹出窗口 / 设备代码)
├── SQLite 模式缓存(400+ 连接器)
└── 安全令牌存储(OS 密钥链)
```
## 许可证
MIT
## 致谢
感谢您使用这个项目 — 它真正得到了您的赞赏。每次安装、错误报告和建议都使这个工具变得更好,我致力于解决出现的任何问题,以便我们拥有最好的 Power Automate MCP 服务器。如果某些事情对您不起作用,请开一个问题。我会阅读每一个问题, 并快速修复一个可靠的再现。
## 支持
对于问题和功能请求,请在此存储库中[开一个问题](https://github.com/rcb0727/powerplatform-mcp-docs/issues)。升级?请参阅[安全更新](https://github.com/rcb0727/powerplatform-mcp-docs/blob/main/INSTALL.md#updating)和[更改日志](https://github.com/rcb0727/powerplatform-mcp-docs/blob/main/CHANGELOG.md)。
MCP 配置
以下是此 MCP Server 的配置信息,可直接复制到 Cursor 或其他 MCP 客户端中使用。
mcp.json
连接信息
猜你喜欢
暂无推荐服务器