power-automate-mcp-server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@power-automate-mcp-serverlist my recent flow runs"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 Power Platform environments and their |
| List cloud flows the caller can see in an environment. |
| Full flow JSON — trigger/action definition and connection references. |
| Recent runs of a flow, newest first, with status/error; pages via |
| Full detail for one run, including per-action status and error payloads. |
Write (PA_MCP_MODE=write)
Tool | Purpose |
| Trigger an on-demand run of a manually-triggered flow. |
| Start a flow so its triggers fire. |
| 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 |
| 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 installRegister 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, orcli. 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.
This server cannot be installed
Maintenance
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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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