Skip to main content
Glama
user-vik

power-automate-mcp-server

by user-vik

power-automate-mcp-server

An MCP server that exposes Power Automate cloud-flow management and run troubleshooting to an MCP client (Claude Code, Claude Desktop, etc.).

It talks to the Power Automate management plane (api.flow.microsoft.com, the Microsoft.ProcessSimple provider) using an Entra token for the service.flow.microsoft.com audience. With delegated auth (interactive / CLI) it needs no admin consent — it operates as the signed-in user and sees the flows that user owns or is shared on.

Tools

Read (always on)

Tool

Purpose

list_environments

List Power Platform environments and their name (used everywhere else).

list_flows

List cloud flows the caller can see in an environment.

get_flow

Full flow JSON — trigger/action definition and connection references.

list_flow_runs

Recent runs of a flow, newest first, with status/error; pages via nextLink.

get_flow_run

Full detail for one run, including per-action status and error payloads.

Write (PA_MCP_MODE=write)

Tool

Purpose

run_flow

Trigger an on-demand run of a manually-triggered flow.

enable_flow

Start a flow so its triggers fire.

disable_flow

Stop a flow so its triggers no longer fire.

Every write call is audit-logged to stderr with timestamp, tool, target, and caller identity.

Destructive (PA_MCP_MODE=write and PA_MCP_ALLOW_DELETE=true)

Tool

Purpose

delete_flow

Permanently delete a flow. Two-step dry_run → confirm_token → apply.

The destructive tier is off by default. When enabled, each call is a plan first: dry_run=true (the default) returns the flow that would be removed plus a single-use confirm_token; only a second call with dry_run=false and that token performs the delete, guarded by an If-Match ETag.

Related MCP server: Flow Studio - Power Automate MCP Server

Setup

cd power-automate-mcp-server
npm install

Register it with your MCP client. Example .claude.json entry (delegated auth, read-only):

{
  "mcpServers": {
    "power-automate": {
      "type": "stdio",
      "command": "node",
      "args": ["/absolute/path/to/power-automate-mcp-server/index.js"],
      "env": {
        "AZURE_TENANT_ID": "<your-entra-tenant-id>",
        "PA_AUTH_MODE": "interactive",
        "PA_MCP_MODE": "read"
      }
    }
  }
}

To allow triggering and enabling/disabling flows, set "PA_MCP_MODE": "write". To also allow deletion, add "PA_MCP_ALLOW_DELETE": "true".

Set PA_DEFAULT_ENVIRONMENT to a value from list_environments if you want to omit environment on every call.

See .env.example for the full list of environment variables, including all supported auth modes.

Auth notes

  • Delegated (recommended here): interactive, device-code, or cli. No admin consent, but the caller only sees flows they own or are shared on.

  • Service principal: non-interactive, but an SP must be granted Power Platform admin consent before it can enumerate flows — a tenant-admin action.

Requirements

  • Node.js >= 20

  • An Entra identity that can sign in to Power Automate in the target tenant.

License

MIT — see LICENSE.

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/user-vik/power-automate-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server