Skip to main content
Glama
power-automate-mcp

power-automate-mcp

power-automate-mcp

An MCP server for Microsoft Power Automate (cloud flows), driven entirely by the Azure CLI (az rest). It is the Power Automate sibling of microsoft-planner-mcp and uses the same azRest pattern.

Why az rest?

The Azure CLI can mint tokens for both because you authorize as yourself acting on your own flows. Every call goes through az rest, which is CAE (conditional-access aware), so the only prerequisite is a logged-in Azure CLI:

az login

Related MCP server: Flow Studio - Power Automate MCP Server

Build

npm install
npm run build      # tsc -> dist/index.js

Register with Claude Code

Either add a project-scoped .mcp.json:

{
  "mcpServers": {
    "power-automate": {
      "type": "stdio",
      "command": "node",
      "args": ["/path/to/power-automate-mcp/dist/index.js"],
      "env": { "POWER_AUTOMATE_ENV": "<your-default-environment-id>" }
    }
  }
}

…or globally with the CLI:

claude mcp add power-automate -s user -- node /path/to/power-automate-mcp/dist/index.js

POWER_AUTOMATE_ENV is optional: set it to a default environment id so the flow tools can be called without repeating it. Discover ids with list-environments.

Tools

Environments

  • list-environments — all environments you can access (use name as the environment arg)

Flows

  • list-flows — flows in an environment (name, display name, state)

  • get-flow — full flow record (definition + connectionReferences)

  • get-flow-definition — just the workflow definition (triggers + actions)

  • create-flow — create a flow from a definition (+ optional connectionReferences)

  • update-flow — PATCH a flow's full properties

  • enable-flow / disable-flow — start / stop a flow's triggers

  • delete-flow — delete a flow

Triggers / on-demand runs

  • list-flow-triggers — a flow's triggers (name + type)

  • run-flow — trigger a flow on demand (manual or Recurrence, etc.)

Run history / diagnostics

  • list-runs — recent runs (status, start/end, error) — a health probe

  • get-run — one run's full record

  • list-run-actions — per-action results + inputs/outputs SAS links

Connections

  • list-connections — connector connections (ids to build connectionReferences)

Notes

  • The flow internal name is a GUID (from list-flows), not the display name.

  • create-flow / update-flow take the definition / properties as JSON strings (the Logic Apps workflow JSON is too freeform for a strict schema). A typical edit is: get-flow → tweak properties → update-flow.

  • connectionReferences must bind to existing connector connections — the API will not mint OAuth connections for you. Connector-less flows (recurrence + HTTP) need none.

Available Tools

15 tools
create-flowA

Create a new cloud flow. definition is a Logic Apps workflow JSON (triggers + actions). connectionReferences must bind to EXISTING connector connections (the API will not mint OAuth connections for you -- see list-connections). Connector-less flows (recurrence + HTTP) need no references.

Inputs: displayName (required), definitionJson (required), state, environment, +1 more.

delete-flowA

Delete a flow permanently. This cannot be undone.

Inputs: flow (required), environment.

disable-flowB

Disable (stop) a flow so its triggers stop firing. Sets state to Stopped.

Inputs: flow (required), environment.

enable-flowA

Enable (start) a flow so its triggers fire. Sets state to Started.

Inputs: flow (required), environment.

get-flowA

Get the full record for one flow, including its workflow definition (triggers + actions) and connectionReferences. Use this before update-flow.

Inputs: flow (required), environment.

get-flow-definitionA

Get just the workflow definition (triggers + actions JSON) for one flow, for inspecting/editing logic without the surrounding metadata.

Inputs: flow (required), environment.

get-runA

Get the full record for one run, including status and any top-level error.

Inputs: run (required), flow (required), environment.

list-connectionsA

List the connector connections in an environment (id, connector, display name, status). Use these ids to build the connectionReferences for create-flow / update-flow -- e.g. the shared_office365 connection for mail/calendar Graph calls.

Inputs: environment.

list-environmentsA

List all Power Platform environments you can access (id, display name, isDefault). Use the returned name as the environment for flow tools.

Inputs: no named parameters.

list-flowsC

List cloud flows in an environment (internal name, display name, state, trigger summary). State 'Started' = enabled, 'Stopped' = disabled.

Inputs: environment.

list-flow-triggersA

List a flow's triggers (name + type). Use the trigger name with run-flow.

Inputs: flow (required), environment.

list-run-actionsA

List the per-action results of a run (status + inputsLink/outputsLink SAS URLs). This is the main way to debug a failed run: find the failed action and inspect its inputs/outputs via the SAS links.

Inputs: run (required), flow (required), environment.

list-runsA

List recent runs of a flow (status, start/end time, error). Use this as a health probe -- a latest Failed run or a stale newest startTime means the flow has silently died.

Inputs: flow (required), top, environment.

run-flowA

Trigger a flow on demand. The trigger name is usually 'manual' (button/instant flows) or 'Recurrence' (scheduled flows) -- use list-flow-triggers if unsure.

Inputs: flow (required), environment, triggerName.

update-flowA

Update a flow by PATCHing its properties. Provide the FULL desired properties object (displayName, state, connectionReferences, definition) as JSON -- a typical edit is get-flow, tweak properties, send them back here.

Inputs: flow (required), propertiesJson (required), environment.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.9/5.0

    Scored across 15 tools

    Disambiguation5/5

    Each tool targets a distinct operation: CRUD on flows, enable/disable, listing flows/runs/connections/environments, and triggering. No overlap; get-flow and get-flow-definition serve different granularity needs.

    Naming Consistency5/5

    All tools follow a consistent verb_noun pattern with hyphens (e.g., create-flow, list-connections, run-flow). No mixed conventions or irregular names.

    Tool Count5/5

    15 tools is well-scoped for a Power Automate server, covering flow lifecycle, run inspection, environment/connection queries, and on-demand triggering without unnecessary duplication.

    Completeness4/5

    Covers full CRUD, enable/disable, flow run management, and environment/connection listing. Missing only connection creation (by design) and potentially flow sharing or permissions, but core flow operations are complete.

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables interaction with Azure AI Foundry services through a unified interface for model exploration and deployment, knowledge indexing and search, AI evaluation, and fine-tuning operations. Supports both GitHub token-based model testing and full Azure deployment workflows.
      3
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Debug, build, and manage Microsoft Power Automate cloud flows with AI agents. Get action-level error details, build flows from natural language, trigger and resubmit runs, and operate across multiple tenants. Requires a Flow Studio MCP subscription — get an API key at https://mcp.flowstudio.app
      35
      MIT
    • A
      license
      C
      quality
      D
      maintenance
      Enables AI assistants to edit Power Automate cloud flows live, including reading/writing flow definitions, managing connectors, and syncing changes, with no admin rights or app registration required.
      18
      1
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables MCP clients to manage and troubleshoot Power Automate cloud flows, including listing environments, flows, and runs, with optional write capabilities for triggering, enabling, disabling, and deleting flows.
      55 npm
      2
      MIT