Mcp Power Automate

io.github.kaael1Published by GitHub account kaael1v0.4.1Updated Nov 3, 2026

Local MCP for Power Automate with browser-backed auth, target locking, review diff, and rollback.

Overview

AI-generated overview

Local MCP server plus Chromium extension that lets an assistant inspect, edit, validate, run and revert Microsoft Power Automate cloud flows using your…

What you can do
  • Detect and lock onto flows, list flows and read flow definitions
  • Preview, validate, save, review the diff of and revert flow updates
  • Inspect recent runs, latest run details and action-level failures, and wait for runs
  • Invoke safe manual or request trigger flows and fetch trigger callback URLs
  • List unmanaged Dataverse solutions, their components and environment variables, add existing flows to solutions and create blank flows in solutions
  • Create and clone flows
When to use it
Useful when you want an AI client to help with real Power Automate cloud flows — reading them, making small reviewed edits, debugging failed runs, testing triggers, or organising flows into Dataverse solutions — without setting up a Microsoft Entra app registration.
Requirements
Runs locally via npx from the npm package, so Node.js is needed. A Chromium-based browser (Chrome or Edge) with the packaged extension loaded in developer mode, and an already logged-in Power Automate session. The local bridge listens on 127.0.0.1:17373, configurable via POWER_AUTOMATE_BRIDGE_PORT.
Before you install
The extension captures Power Automate, Power Platform/BAP and Dataverse tokens from your browser session, so that session is the live authority and tokens stay on your machine. Write tools can save flow changes, create or clone flows, add flows to solutions and invoke triggers, which may start real runs; preview, validate and review diffs first, and prefer test or staging flows. Solution writes are limited to adding flows to unmanaged solutions.

Installation

In SourceWeft

  1. Open Mcp Power Automate in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

[MCP Power Automate cover: inspect, validate, edit, and revert Power Automate flows with an MCP agent]

MCP Power Automate

Local-first MCP server and Chromium extension for AI-assisted Microsoft Power Automate work.

Use your existing logged-in browser session to let an MCP client inspect, validate, edit, run, review, and revert Power Automate cloud flows. No Microsoft Entra ID app registration, admin consent flow, or custom enterprise application setup is required to get started.

Early public signal: 15,000+ LinkedIn post views and 14 GitHub stars while the project is still small, practical, and moving fast.

Why It Exists

Power Automate is powerful, but AI agents need more than raw convenience before they should touch real flows. This project keeps the workflow visible and reversible:

  • The browser extension captures the active Power Automate context and compatible tokens from your own Chromium session.
  • The MCP server exposes a v1 command surface for targeting, reading, previewing, validating, saving, run inspection, and rollback.
  • The extension stays mostly passive: status, diagnostics, and review surfaces instead of mystery buttons that hide what changed.
  • Local state, snapshots, and backups stay on your machine.

What It Can Do

AreaCapabilities
ContextDetect browser-captured flows, list flows, and explicitly lock onto a target flow.
Safe editingRead the flow, preview the smallest candidate update, validate, save, review the diff, and revert.
DebuggingInspect recent runs, latest run details, and action-level failures.
TestingInvoke safe manual/request trigger flows and wait for the resulting run.
SolutionsList unmanaged Dataverse solutions, inspect solution components and environment variables, add existing flows, and create blank flows inside solutions.

Write operations are deliberately scoped. The MCP does not expose solution deletion, component deletion, managed-solution modification, environment-variable writes, or blind production edits as the default path.

Quickstart

Register the MCP in Codex:

powershell
codex mcp add power-automate-local -- npx -y @kaael1/mcp-power-automate

Find the packaged extension path:

powershell
npx -y @kaael1/mcp-power-automate extension-path

Load that folder in Chromium:

  1. Open chrome://extensions or edge://extensions.
  2. Enable Developer Mode.
  3. Choose Load unpacked.
  4. Select the folder printed by extension-path.

Then open or focus a Power Automate flow page. The extension captures the session and target context automatically.

Check readiness:

powershell
npx -y @kaael1/mcp-power-automate doctor

Recommended Agent Loop

For a supervised edit, ask your MCP client to follow this loop:

  1. doctor
  2. get_context
  3. connect_flow
  4. get_flow
  5. preview_flow_update
  6. validate_flow
  7. apply_flow_update
  8. get_last_update
  9. validate_flow again when available

For run inspection and manual/request trigger tests, use list_runs, get_latest_run, get_run, get_run_actions, wait_for_run, get_trigger_callback_url, and invoke_trigger.

For Dataverse solution work, use list_solutions, list_solution_components, list_environment_variables, add_flow_to_solution, and create_flow_in_solution. Solution writes are intentionally limited to adding cloud flows to unmanaged solutions.

Public v1 Tools

text
get_contextdoctorconnect_flowlist_flowslist_solutionslist_solution_componentslist_environment_variablesadd_flow_to_solutionget_flowpreview_flow_updatevalidate_flowapply_flow_updateget_last_updaterevert_last_updatelist_runsget_latest_runget_runget_run_actionswait_for_runget_trigger_callback_urlinvoke_triggercreate_flowcreate_flow_in_solutionclone_flow

Safety Model

  • Inspect with get_context, connect_flow, and get_flow before any write.
  • Preview with preview_flow_update before saving.
  • Validate before and after meaningful edits when Power Automate accepts validation.
  • Review get_last_update after save so the diff is visible.
  • Use revert_last_update when the saved result is wrong.
  • Prefer test or staging flows before production flows.

If Power Automate rejects a save because of a connection permission problem, the MCP reports CONNECTION_AUTHORIZATION_FAILED and waits for the user to fix that connection in Power Automate. If the service rejects a field such as retryPolicy, the MCP reports SCHEMA_VALIDATION_FAILED with the rejected member so the agent can correct the candidate flow instead of guessing.

Browser-Backed Auth

The extension can capture Power Automate, Power Platform/BAP, and Dataverse-audience tokens from your logged-in browser session. When those tokens are present, get_context and /health expose readiness details such as canManageSolutions.

This means the MCP can work without a new Microsoft Entra app registration, but it also means the browser session remains the live authority. If a token expires or a permission is missing, reopen or focus the relevant Power Automate, Power Apps, or Dataverse page and retry after capture.

HTTP Bridge

The local bridge listens on 127.0.0.1:17373.

  • GET /health is kept for simple probes.
  • GET /v1/health returns bridge identity and readiness.
  • GET /v1/context returns the same context used by the MCP.
  • GET /v1/commands lists the public v1 command surface.
  • POST /v1/commands/:name runs any public v1 command with a JSON body.

Only the process that owns the bridge port executes stateful work. If another process already owns the port, new MCP instances refuse to reuse it; stop the existing bridge process or choose a different POWER_AUTOMATE_BRIDGE_PORT.

Development

powershell
npm installnpm run typechecknpm run lintnpm run testnpm run buildnpm run pack:dry-run

For a local clone, prefer registering Codex against the built server from this checkout:

powershell
npm run build$nodePath = (Get-Command node).Source$serverPath = Join-Path (Get-Location) "dist/server/index.js"codex mcp add power-automate-local -- $nodePath $serverPath

If an older local entry exists, remove it first:

powershell
codex mcp remove power-automate-local

Load the browser extension from dist/extension after rebuilding. Runtime state lives in data/ and must not be committed.

Docs

Package Links

License

MIT. See LICENSE.

Source: README.md at commit 841ec1f

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.4.1LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts