powerautomate-mcp 0.10.2 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -11,7 +11,7 @@ Works with any MCP-compatible AI client: **Claude Desktop**, **Claude Code**, **
11
11
  | Page | What you'll find |
12
12
  |------|------------------|
13
13
  | **README** (this page) | [Features](#features) · [Quick Start](#quick-start) · [App Registration](#microsoft-entra-app-registration) · [CLI Reference](#cli-reference) · [Usage Examples](#usage-examples) · [All 121 Tools](#available-tools-121-total) · [Security](#security) · [Architecture](#architecture) |
14
- | [Installation Guide](https://github.com/rcb0727/powerautomate-mcp-docs/blob/main/INSTALL.md) | [Prerequisites](https://github.com/rcb0727/powerautomate-mcp-docs/blob/main/INSTALL.md#prerequisites) · [Install](https://github.com/rcb0727/powerautomate-mcp-docs/blob/main/INSTALL.md#install-from-npm) · [**Updating safely**](https://github.com/rcb0727/powerautomate-mcp-docs/blob/main/INSTALL.md#updating) · per-client setup ([Claude Desktop](https://github.com/rcb0727/powerautomate-mcp-docs/blob/main/INSTALL.md#claude-desktop), [Claude Code](https://github.com/rcb0727/powerautomate-mcp-docs/blob/main/INSTALL.md#claude-code-cli), [VS Code](https://github.com/rcb0727/powerautomate-mcp-docs/blob/main/INSTALL.md#vs-code-github-copilot), [Cursor](https://github.com/rcb0727/powerautomate-mcp-docs/blob/main/INSTALL.md#cursor), [Gemini CLI](https://github.com/rcb0727/powerautomate-mcp-docs/blob/main/INSTALL.md#google-gemini-cli), [ChatGPT](https://github.com/rcb0727/powerautomate-mcp-docs/blob/main/INSTALL.md#chatgpt-openai)) · [Enterprise consent](https://github.com/rcb0727/powerautomate-mcp-docs/blob/main/INSTALL.md#enterprise-tenants-with-strict-consent-policies) |
14
+ | [Installation Guide](https://github.com/rcb0727/powerautomate-mcp-docs/blob/main/INSTALL.md) | [Choose your path](https://github.com/rcb0727/powerautomate-mcp-docs/blob/main/INSTALL.md#choose-your-path) · [Easy Path](https://github.com/rcb0727/powerautomate-mcp-docs/blob/main/INSTALL.md#easy-path-3-steps) · [Fast Path](https://github.com/rcb0727/powerautomate-mcp-docs/blob/main/INSTALL.md#fast-path-developers) · [Connect your AI app](https://github.com/rcb0727/powerautomate-mcp-docs/blob/main/INSTALL.md#connecting-your-ai-app) · [**Updating**](https://github.com/rcb0727/powerautomate-mcp-docs/blob/main/INSTALL.md#updating) · [Troubleshooting](https://github.com/rcb0727/powerautomate-mcp-docs/blob/main/INSTALL.md#troubleshooting) · [Glossary](https://github.com/rcb0727/powerautomate-mcp-docs/blob/main/INSTALL.md#glossary) · [Admin & enterprise](https://github.com/rcb0727/powerautomate-mcp-docs/blob/main/INSTALL.md#admin--enterprise-setup) |
15
15
  | [Changelog](https://github.com/rcb0727/powerautomate-mcp-docs/blob/main/CHANGELOG.md) | Release history with per-version upgrade notes |
16
16
  | [Issues](https://github.com/rcb0727/powerautomate-mcp-docs/issues) | Bug reports and feature requests — every one gets read |
17
17
 
@@ -34,28 +34,26 @@ Works with any MCP-compatible AI client: **Claude Desktop**, **Claude Code**, **
34
34
 
35
35
  ## Quick Start
36
36
 
37
+ Three commands — run them in a terminal:
38
+
37
39
  ```bash
38
- npm install -g powerautomate-mcp
39
- powerautomate-mcp --setup
40
+ npm install -g powerautomate-mcp # 1. install
41
+ powerautomate-mcp --setup # 2. sign in + connect your AI app
42
+ powerautomate-mcp --doctor # 3. confirm everything works
40
43
  ```
41
44
 
42
- The setup wizard handles everything automatically:
43
- 1. Creates the app registration in your tenant via Azure CLI (or prompts you to provide one)
44
- 2. Opens your browser to sign in
45
- 3. Presents the admin consent URL (auto-opens in browser)
46
- 4. Discovers your environments and lets you select one
47
- 5. Saves your configuration
45
+ The `--setup` wizard does it all: creates the Entra app registration (or takes one you provide), signs you in, handles admin consent, picks your environment, **and wires the server into your AI app for you** — no hand-editing JSON. Then restart your app and ask it to build a flow.
46
+
47
+ **Not very technical?** Follow the step-by-step **[Easy Path](https://github.com/rcb0727/powerautomate-mcp-docs/blob/main/INSTALL.md#easy-path-3-steps)** with checkpoints.
48
48
 
49
- Then configure your AI client. See the **[Installation Guide](https://github.com/rcb0727/powerautomate-mcp-docs/blob/main/INSTALL.md)** for platform-specific setup:
49
+ | Want to… | Do this |
50
+ |----------|---------|
51
+ | Connect a specific app during setup | `powerautomate-mcp --setup --client claude` |
52
+ | Connect an app later (or a second one) | `powerautomate-mcp --client cursor` |
53
+ | Skip the global install | `npx -y powerautomate-mcp@latest --setup` (add `--npx` so your app uses npx too) |
54
+ | Configure your app by hand | [Manual client configs](https://github.com/rcb0727/powerautomate-mcp-docs/blob/main/INSTALL.md#connect-your-ai-app-manually) |
50
55
 
51
- | Client | Config |
52
- |--------|--------|
53
- | Claude Desktop | `claude_desktop_config.json` |
54
- | Claude Code | `claude mcp add powerautomate` |
55
- | VS Code Copilot | `.vscode/mcp.json` |
56
- | Cursor | `~/.cursor/mcp.json` |
57
- | Gemini CLI | `~/.gemini/settings.json` |
58
- | ChatGPT | `--http` flag + tunnel (see [guide](https://github.com/rcb0727/powerautomate-mcp-docs/blob/main/INSTALL.md#chatgpt-openai)) |
56
+ Supported apps: **Claude Desktop**, **Claude Code**, **Cursor**, **VS Code (Copilot)**, **Gemini CLI**, **Windsurf**, **ChatGPT** (via `--http`).
59
57
 
60
58
  ---
61
59
 
@@ -127,8 +125,11 @@ powerautomate-mcp [options]
127
125
 
128
126
  | Flag | Description |
129
127
  |------|-------------|
130
- | `--setup`, `-s` | Run the interactive setup wizard |
128
+ | `--setup`, `-s` | Run the interactive setup wizard (signs in + connects your AI app) |
129
+ | `--doctor` | Check your setup and print exactly what to fix, then exit |
131
130
  | `--validate` | Verify config, auth, and API connectivity then exit |
131
+ | `--client <name>` | Wire an AI app's config to this server, then exit (`claude`, `claude-code`, `cursor`, `vscode`, `gemini`, `windsurf`) |
132
+ | `--npx` | With `--setup`/`--client`, configure the app to run via `npx` (no global install) |
132
133
  | `--update` | Check for updates and install the latest version |
133
134
  | `--version`, `-v` | Print version and exit |
134
135
  | `--http` | Start with Streamable HTTP transport |
@@ -210,147 +211,281 @@ What parameters does the "Send an email (V2)" action need?
210
211
 
211
212
  ## Available Tools (121 total)
212
213
 
213
- ### Core Flow Operations
214
+ > Every tool the server exposes, grouped by service. All 121 are listed here.
215
+
216
+ <details>
217
+ <summary><strong>Core Flow Operations</strong> (11 tools)</summary>
218
+
214
219
  | Tool | Description |
215
220
  |------|-------------|
216
- | `list_flows` | List flows. `scope: "owned" \| "shared" \| "all"` filters by ownership; `includeOwner` shows the creator + `[owned]`/`[shared]` tag |
217
- | `get_flow` | Get flow definition. `format: "summary" \| "json" \| "both"` use `json`/`both` to capture nested actions inside Switch/If/Foreach/Scope |
218
- | `create_flow` | Create a new flow (supports optional `description`) |
219
- | `update_flow` | Modify an existing flow. Three modes: full replace (default), `mergeActions: true` (deep-merge — preserves siblings), or `patchActions: { "path": value }` (surgical, smallest payload). Also supports `description` |
220
- | `delete_flow` | Delete a flow |
221
- | `toggle_flow` | Enable or disable a flow |
222
- | `clone_flow` | Copy flow to another environment |
223
-
224
- ### Testing & Debugging
221
+ | `list_flows` | List Power Automate flows in an environment |
222
+ | `get_flow` | Get the complete definition of a Power Automate flow including triggers, actions, connection refe… |
223
+ | `create_flow` | Create a new Power Automate flow |
224
+ | `update_flow` | Update an existing Power Automate flow |
225
+ | `delete_flow` | Delete a Power Automate flow permanently |
226
+ | `toggle_flow` | Enable or disable a Power Automate flow |
227
+ | `clone_flow` | Clone an existing Power Automate flow to create a copy with a new name |
228
+ | `export_flow` | Export a flow as a package |
229
+ | `share_flow` | Share a flow with users, groups, or service principals |
230
+ | `get_flow_permissions` | Get the list of users, groups, and service principals that have access to a flow |
231
+ | `list_flow_versions` | List all versions of a flow |
232
+
233
+ </details>
234
+
235
+ <details>
236
+ <summary><strong>Testing & Debugging</strong> (9 tools)</summary>
237
+
225
238
  | Tool | Description |
226
239
  |------|-------------|
227
- | `test_flow` | Run flow with automatic diagnosis |
228
- | `run_flow` | Trigger a manual flow |
229
- | `get_runs` | Get flow run history |
230
- | `get_run_actions` | Action-level debugging with full I/O visibility. Fetches inputs/outputs for failed actions by default; `includeInputs`/`includeOutputs` for all; `actionName` to drill into one action; `failedOnly` to filter |
231
- | `get_run_action_repetitions` | Loop iteration drill-down for `Apply_to_each`/`Do_until`. Shows per-iteration status, inputs, outputs, errors. `failedOnly` + `maxIterations` for large loops |
232
- | `diagnose_flow` | Analyze failures with fix suggestions |
233
- | `validate_flow` | Validate with best practices score |
234
-
235
- ### Planning & Help
240
+ | `test_flow` | Test a Power Automate flow with guided feedback |
241
+ | `run_flow` | Trigger a Power Automate flow to run immediately |
242
+ | `get_runs` | Get the execution history of a Power Automate flow |
243
+ | `get_run_actions` | Get detailed action-level information for a flow run |
244
+ | `get_run_action_repetitions` | Get iteration-level details for a for_each or do_until loop action in a flow run |
245
+ | `diagnose_flow` | Diagnose issues with a Power Automate flow |
246
+ | `validate_flow` | Validate a Power Automate flow definition for errors |
247
+ | `resubmit_run` | Resubmit a failed or cancelled flow run |
248
+ | `cancel_run` | Cancel a currently running flow execution |
249
+
250
+ </details>
251
+
252
+ <details>
253
+ <summary><strong>Planning & Help</strong> (5 tools)</summary>
254
+
236
255
  | Tool | Description |
237
256
  |------|-------------|
238
257
  | `plan_flow` | Interactive flow planning wizard |
239
- | `build_flow` | Simple flow builder from description |
240
- | `get_expression_help` | Expression syntax reference |
241
- | `search_connectors` | Find connectors by name |
242
- | `get_action_schema` | Get connector action parameters |
258
+ | `build_flow` | Build a Power Automate flow from a description |
259
+ | `get_expression_help` | Get help with Power Automate expressions |
260
+ | `search_connectors` | Search for Power Automate connectors by name, description, or category |
261
+ | `get_action_schema` | Get the schema and parameters for a connector's actions/triggers |
262
+
263
+ </details>
264
+
265
+ <details>
266
+ <summary><strong>Connections & Custom Connectors</strong> (8 tools)</summary>
243
267
 
244
- ### Dataverse CRUD
245
268
  | Tool | Description |
246
269
  |------|-------------|
247
- | `list_dataverse_tables` | List all tables (entities) in the environment |
248
- | `get_dataverse_table` | Get table schema with column definitions |
249
- | `query_dataverse_rows` | Query rows with OData filter/select/orderby |
250
- | `get_dataverse_row` | Get a single row by ID |
251
- | `create_dataverse_row` | Create a new row |
252
- | `update_dataverse_row` | Update an existing row |
253
- | `delete_dataverse_row` | Delete a row (with confirmation) |
270
+ | `list_connections` | List all connections in an environment |
271
+ | `list_custom_connectors` | List all custom connectors in the environment |
272
+ | `get_custom_connector` | Get detailed information about a custom connector including its OpenAPI definition and all operat… |
273
+ | `create_custom_connector` | Create a custom connector for any REST API |
274
+ | `update_custom_connector` | Update a custom connector |
275
+ | `delete_custom_connector` | Delete a custom connector |
276
+ | `plan_custom_connector` | Get guidance on creating a custom connector |
277
+ | `import_openapi_connector` | Create a custom connector by importing an OpenAPI/Swagger specification |
278
+
279
+ </details>
280
+
281
+ <details>
282
+ <summary><strong>Approvals</strong> (3 tools)</summary>
254
283
 
255
- ### SharePoint
256
284
  | Tool | Description |
257
285
  |------|-------------|
258
- | `search_sharepoint_sites` | Search for SharePoint sites |
259
- | `get_sharepoint_site` | Get site by ID or URL |
260
- | `list_sharepoint_lists` | List all lists in a site |
261
- | `get_sharepoint_list_columns` | Get column definitions for a list |
262
- | `list_sharepoint_items` | Get list items with filtering |
263
- | `create_sharepoint_item` | Create a new list item |
264
- | `update_sharepoint_item` | Update a list item |
265
- | `delete_sharepoint_item` | Delete a list item (with confirmation) |
266
- | `list_sharepoint_files` | List files in a document library |
267
- | `upload_sharepoint_file` | Upload a file (up to 4MB) |
268
- | `get_sharepoint_file_content` | Download file content |
286
+ | `list_approvals` | List pending approvals in the environment |
287
+ | `list_approvals_dataverse` | List pending approval requests from Dataverse |
288
+ | `respond_approval` | Respond to a pending approval request |
289
+
290
+ </details>
291
+
292
+ <details>
293
+ <summary><strong>Dataverse CRUD</strong> (7 tools)</summary>
294
+
295
+ | Tool | Description |
296
+ |------|-------------|
297
+ | `list_dataverse_tables` | List Dataverse tables (entities) in the environment |
298
+ | `get_dataverse_table` | Get detailed metadata for a Dataverse table including all column definitions |
299
+ | `query_dataverse_rows` | Query rows from a Dataverse table with OData filtering, selecting, and ordering |
300
+ | `get_dataverse_row` | Get a single Dataverse row by its ID |
301
+ | `create_dataverse_row` | Create a new row in a Dataverse table |
302
+ | `update_dataverse_row` | Update an existing Dataverse row |
303
+ | `delete_dataverse_row` | Delete a Dataverse row permanently |
304
+
305
+ </details>
306
+
307
+ <details>
308
+ <summary><strong>SharePoint</strong> (11 tools)</summary>
309
+
310
+ | Tool | Description |
311
+ |------|-------------|
312
+ | `search_sharepoint_sites` | Search for SharePoint sites by name or keyword |
313
+ | `get_sharepoint_site` | Get a SharePoint site by its ID or by hostname and path |
314
+ | `list_sharepoint_lists` | List all lists and libraries in a SharePoint site |
315
+ | `get_sharepoint_list_columns` | Get column definitions for a SharePoint list |
316
+ | `list_sharepoint_items` | Get items from a SharePoint list with optional filtering and sorting |
317
+ | `create_sharepoint_item` | Create a new item in a SharePoint list |
318
+ | `update_sharepoint_item` | Update an existing SharePoint list item |
319
+ | `delete_sharepoint_item` | Delete a SharePoint list item permanently |
320
+ | `list_sharepoint_files` | List files in a SharePoint document library |
321
+ | `upload_sharepoint_file` | Upload a file to a SharePoint document library |
322
+ | `get_sharepoint_file_content` | Download a file's content from a SharePoint document library |
323
+
324
+ </details>
325
+
326
+ <details>
327
+ <summary><strong>Excel (OneDrive)</strong> (2 tools)</summary>
328
+
329
+ | Tool | Description |
330
+ |------|-------------|
331
+ | `search_excel_files` | Search for Excel files in OneDrive by name |
332
+ | `inspect_excel_file` | Inspect an Excel file to find tables and columns |
333
+
334
+ </details>
335
+
336
+ <details>
337
+ <summary><strong>Power Apps</strong> (13 tools)</summary>
269
338
 
270
- ### Power Apps
271
339
  | Tool | Description |
272
340
  |------|-------------|
273
- | `list_canvas_apps` | List canvas apps |
274
- | `get_canvas_app` | Get app details |
275
- | `publish_canvas_app` | Publish an app |
276
- | `list_model_driven_apps` | List model-driven apps |
277
- | `get_model_driven_app` | Get model-driven app details |
278
- | `list_app_versions` | List app version history |
279
- | `get_app_permissions` | Get app permissions |
280
- | `share_app` | Share an app with users/groups |
281
- | `remove_app_permission` | Remove app access |
282
- | `set_app_owner` | Transfer app ownership |
283
-
284
- ### Power Pages Site Configuration (Dataverse)
285
- Auto-detects each site's data model (standard `adx_*` vs enhanced `mspp_*` tables) and routes to the right tables. Requires a Dataverse-enabled environment.
341
+ | `list_powerapps` | List Power Apps canvas apps in an environment |
342
+ | `list_canvas_apps` | List Power Apps canvas apps stored in Dataverse |
343
+ | `get_powerapp` | Get detailed information about a Power App including owner, connections, and app URIs |
344
+ | `list_model_driven_apps` | List model-driven apps from Dataverse |
345
+ | `publish_powerapp` | Publish a Power App to make the latest version available to users |
346
+ | `get_powerapp_versions` | Get version history for a Power App |
347
+ | `restore_powerapp_version` | Restore a Power App to a previous version |
348
+ | `get_powerapp_permissions` | Get the list of users, groups, and service principals that have access to a Power App |
349
+ | `share_powerapp` | Share a Power App with a user, group, or service principal |
350
+ | `unshare_powerapp` | Remove a user or group's access to a Power App |
351
+ | `set_powerapp_owner` | Transfer ownership of a Power App to another user |
352
+ | `set_powerapp_display_name` | Change the display name of a Power App |
353
+ | `delete_powerapp` | Delete a Power App permanently |
354
+
355
+ </details>
356
+
357
+ <details>
358
+ <summary><strong>Power Apps Administration</strong> (4 tools)</summary>
286
359
 
287
360
  | Tool | Description |
288
361
  |------|-------------|
289
- | `list_powerpages_sites` | List Power Pages sites in Dataverse, tagged by data model, with the site id for the tools below |
290
- | `get_powerpages_site` | Get a site's Dataverse record + detected data model |
291
- | `list_powerpages_components` | List a site's config components. `component`: `webpage`, `webrole`, `tablepermission`, `contentsnippet`, `webtemplate`, `pagetemplate`, `sitesetting`, `sitemarker`, `weblinkset`, `webfile`, `list`, `basicform`, `advancedform` |
292
- | `get_powerpages_component` | Get a single config component by record id |
293
- | `create_powerpages_component` | Create a config component (site link added automatically via `@odata.bind`) |
294
- | `update_powerpages_component` | Update a config component |
295
- | `delete_powerpages_component` | Delete a config component (with confirmation) |
362
+ | `list_powerapps_admin` | List all Power Apps in an environment as admin |
363
+ | `get_powerapp_admin` | Get Power App details as admin |
364
+ | `delete_powerapp_admin` | Delete a Power App as admin |
365
+ | `quarantine_powerapp` | Quarantine or unquarantine a Power App |
366
+
367
+ </details>
368
+
369
+ <details>
370
+ <summary><strong>Power Pages — Site Configuration</strong> (7 tools)</summary>
371
+
372
+ | Tool | Description |
373
+ |------|-------------|
374
+ | `list_powerpages_sites` | List Power Pages sites as stored in Dataverse (the configuration plane) |
375
+ | `get_powerpages_site` | Get a Power Pages site's Dataverse record and detected data model (standard vs enhanced) by its s… |
376
+ | `list_powerpages_components` | List configuration components of a Power Pages site (web pages, web roles, table permissions, con… |
377
+ | `get_powerpages_component` | Get a single Power Pages configuration component row by its record id. siteId selects the data model |
378
+ | `create_powerpages_component` | Create a Power Pages configuration component (e.g. a web page or content snippet) |
379
+ | `update_powerpages_component` | Update a Power Pages configuration component row |
380
+ | `delete_powerpages_component` | Delete a Power Pages configuration component row permanently |
381
+
382
+ </details>
296
383
 
297
- ### Power Pages — Site Management (Power Platform API)
298
- > Requires the **Power Platform API** delegated permission on the app registration (see [App Registration](#microsoft-entra-app-registration)) and a Power Pages / Power Platform admin role.
384
+ <details>
385
+ <summary><strong>Power Pages Site Management</strong> (5 tools)</summary>
299
386
 
300
387
  | Tool | Description |
301
388
  |------|-------------|
302
- | `list_powerpages_websites` | List hosted websites (status, public URL, data model, type) |
303
- | `get_powerpages_website` | Get a website's hosting details |
304
- | `create_powerpages_website` | Provision a new website (asynchronous; `confirm` required) |
305
- | `delete_powerpages_website` | Delete a website (`confirm` required) |
306
- | `restart_powerpages_website` | Restart a website to apply Dataverse config changes (the API equivalent of the studio "Sync") |
389
+ | `list_powerpages_websites` | List Power Pages websites in an environment via the Power Platform management API |
390
+ | `get_powerpages_website` | Get a Power Pages website's hosting details (status, URL, data model) by id, via the management API |
391
+ | `create_powerpages_website` | Provision a new Power Pages website (management API) |
392
+ | `delete_powerpages_website` | Delete a Power Pages website (management API) |
393
+ | `restart_powerpages_website` | Restart a Power Pages website (management API) |
394
+
395
+ </details>
396
+
397
+ <details>
398
+ <summary><strong>Environment Administration</strong> (10 tools)</summary>
307
399
 
308
- ### Environment Administration
309
400
  > Requires **Power Platform Admin**, **Dynamics 365 Admin**, or **Global Admin** role.
310
401
 
311
402
  | Tool | Description |
312
403
  |------|-------------|
313
- | `list_environments` | List all environments |
314
- | `get_environment` | Get environment details |
315
- | `create_environment` | Create a new environment |
316
- | `delete_environment` | Delete an environment |
317
- | `copy_environment` | Copy an environment |
318
- | `reset_environment` | Reset an environment |
319
- | `backup_environment` | Create a backup |
320
- | `restore_environment` | Restore from backup |
321
-
322
- ### DLP Policies
404
+ | `list_environments` | List all Power Platform environments accessible to the current user |
405
+ | `get_environment` | Get detailed information about a Power Platform environment including Dataverse URL, region, and SKU |
406
+ | `create_environment` | Create a new Power Platform environment |
407
+ | `delete_environment` | Delete a Power Platform environment permanently |
408
+ | `copy_environment` | Copy a Power Platform environment to create a new one |
409
+ | `reset_environment` | Reset a Power Platform environment to its initial state |
410
+ | `backup_environment` | Create a backup of a Power Platform environment |
411
+ | `restore_environment` | Restore a Power Platform environment from a backup |
412
+ | `list_environment_backups` | List available backups for a Power Platform environment |
413
+ | `get_environment_capacity` | Get capacity consumption for a specific environment |
414
+
415
+ </details>
416
+
417
+ <details>
418
+ <summary><strong>DLP Policies</strong> (6 tools)</summary>
419
+
323
420
  > Requires **Power Platform Admin**, **Dynamics 365 Admin**, or **Global Admin** role.
324
421
 
325
422
  | Tool | Description |
326
423
  |------|-------------|
327
- | `list_dlp_policies` | List data loss prevention policies |
328
- | `get_dlp_policy` | Get policy details |
424
+ | `list_dlp_policies` | List all Data Loss Prevention (DLP) policies in the tenant |
425
+ | `get_dlp_policy` | Get details of a DLP policy including connector group assignments |
329
426
  | `create_dlp_policy` | Create a new DLP policy |
330
- | `update_dlp_policy` | Update an existing policy |
331
- | `delete_dlp_policy` | Delete a policy |
332
- | `list_policy_connectors` | List connectors by policy group |
427
+ | `update_dlp_policy` | Update an existing DLP policy |
428
+ | `delete_dlp_policy` | Delete a DLP policy |
429
+ | `get_dlp_connector_configs` | Get connector-level configurations for a DLP policy (endpoint filtering, etc.) |
430
+
431
+ </details>
432
+
433
+ <details>
434
+ <summary><strong>Solutions ALM</strong> (8 tools)</summary>
333
435
 
334
- ### Solutions ALM
335
436
  | Tool | Description |
336
437
  |------|-------------|
337
- | `list_solutions` | List Dataverse solutions |
338
- | `get_solution` | Get solution details |
339
- | `export_solution` | Export a solution |
340
- | `import_solution` | Import a solution |
341
- | `list_solution_components` | List components in a solution |
342
- | `add_solution_component` | Add a component to a solution |
343
-
344
- ### Managed Environments & Capacity
438
+ | `list_solutions` | List Dataverse solutions in the environment |
439
+ | `export_solution` | Export a Dataverse solution as a zip file (base64-encoded) |
440
+ | `import_solution` | Import a Dataverse solution from a base64-encoded zip file |
441
+ | `clone_solution` | Clone an unmanaged Dataverse solution to create a new version |
442
+ | `add_solution_component` | Add a component (table, flow, etc.) to an unmanaged Dataverse solution |
443
+ | `remove_solution_component` | Remove a component from an unmanaged Dataverse solution |
444
+ | `list_solution_flows` | List flows stored in Dataverse solutions |
445
+ | `publish_all_customizations` | Publish all pending customizations in Dataverse |
446
+
447
+ </details>
448
+
449
+ <details>
450
+ <summary><strong>Managed Environments & Capacity</strong> (6 tools)</summary>
451
+
345
452
  > Requires **Power Platform Admin**, **Dynamics 365 Admin**, or **Global Admin** role.
346
453
 
347
454
  | Tool | Description |
348
455
  |------|-------------|
349
- | `enable_managed_environment` | Enable managed environment |
350
- | `disable_managed_environment` | Disable managed environment |
351
- | `get_governance_settings` | Get governance configuration |
352
- | `get_tenant_capacity` | Get tenant-level capacity |
353
- | `get_capacity_alerts` | Get capacity alert notifications |
456
+ | `enable_managed_environment` | Enable managed environment features |
457
+ | `disable_managed_environment` | Disable managed environment features |
458
+ | `get_managed_environment_settings` | Get the governance configuration for a managed environment |
459
+ | `update_managed_environment_settings` | Update governance settings for a managed environment |
460
+ | `get_tenant_capacity` | Get storage and API capacity usage for the tenant |
461
+ | `get_api_request_summary` | Get API request consumption summary for the tenant |
462
+
463
+ </details>
464
+
465
+ <details>
466
+ <summary><strong>Desktop Flows / RPA</strong> (3 tools)</summary>
467
+
468
+ | Tool | Description |
469
+ |------|-------------|
470
+ | `list_desktop_flows` | List desktop flows (UI flows) in the environment |
471
+ | `list_machines` | List registered machines for desktop flows (RPA) |
472
+ | `list_machine_groups` | List machine groups for desktop flows |
473
+
474
+ </details>
475
+
476
+ <details>
477
+ <summary><strong>Billing & AI Builder</strong> (3 tools)</summary>
478
+
479
+ | Tool | Description |
480
+ |------|-------------|
481
+ | `list_billing_policies` | List pay-as-you-go billing policies for the tenant |
482
+ | `get_billing_policy` | Get details of a specific billing policy |
483
+ | `list_ai_models` | List AI Builder models in the environment |
484
+
485
+ </details>
486
+
487
+ <p align="right"><a href="#power-automate-mcp-server">↑ Back to top</a></p>
488
+
354
489
 
355
490
  ## Security
356
491