Flow Studio Power Automate Mcp Server
About
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. 15 tools covering flow management, run diagnostics, and deployment. Req
Details
- Author
- ninihen1
- Downloads
- 192
- Categories
- Cloud Service, Automation, Infrastructure, Developer Tools, Productivity, Other
Jump to
- 15 tools for flow management, diagnostics, and deployment.
- Build flows from natural language descriptions.
- Get action‑level error details for debugging.
- Trigger and resubmit flow runs.
- Operate across multiple tenants.
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Flow Studio Power Automate Mcp ServerCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Obtain an API key from https://mcp.flowstudio.app (requires a Flow Studio MCP subscription). Configure the server with your key, then invoke any of its 15 tools from your AI agent to manage Power Automate flows.
tool_search
PREFER THIS over guessing tool names when picking from this server. Searches Flow Studio MCP tools by keyword, skill bundle, or explicit selector and returns full JSON schemas for matched tools so they can be called immediately. Call this whenever the user request maps to functionality you are not 100% sure about, OR when you want to load a whole skill bundle (build-flow, debug-flow, monitor-flow, discover, governance) at once. Query forms: (1) "skill:<name>" — fetch the full bundle (use list_skills first to see options); (2) "select:name1,name2" — fetch exact tools by name; (3) free-text keywords like "cancel run" or "trigger url" — ranked match against tool name + description. Non-billable.
list_skills
List all skill bundles — named groups of tools the agent typically uses together for a single user intent (build-flow, debug-flow, monitor-flow, discover, governance). Returns each skill's description and member tool names. Call this first when you are unsure which tools apply to a request; then call tool_search with query: "skill:<name>" to load the full bundle. Non-billable.
report_bug
Report a Flow Studio MCP bug or missing capability, append text evidence, or check your reports. Free and available even after quota is reached. Do not include passwords, access tokens, secrets, or full flow definitions unless necessary.
list_store_flows
[Requires Pro+ plan] List Power Automate flows from the Power Clarity cache. Optionally filter by governance flags (monitor, notification rules). Returns key fields including trigger URL, state, and run failure rate. Data is from the stored snapshot — not live from the Power Automate API.
get_store_flow
[Requires Pro+ plan] Get full details for a single Power Automate flow from the Power Clarity cache. Includes trigger URL, owners, state, run statistics, and governance metadata. Data is from the stored snapshot — not live from the Power Automate API.
get_store_flow_trigger_url
[Requires Pro+ plan] [DEPRECATED — scheduled for removal] Get the trigger URL and trigger type for an HTTP-triggered flow from the Power Clarity cache. Read directly from the stored flow record — no live Power Automate API call is made. Use get_live_flow_trigger_url for a guaranteed-fresh URL.
get_store_flow_runs
[Requires Pro+ plan] Get cached run history for a flow from the Power Clarity store. Defaults to the last 7 days. Returns startTime, endTime, status, duration (seconds), failedActions, and remediation hint per run. Data is from the stored snapshot — not live from the Power Automate API.
get_store_flow_errors
[Requires Pro+ plan] [DEPRECATED — scheduled for removal] Get cached failed run history for a flow from the Power Clarity store (convenience wrapper around get_store_flow_runs with status=Failed). Returns failedActions and remediation hint per run to help diagnose issues. Data is from the stored snapshot — not live from the Power Automate API. Use get_live_flow_runs and filter by status=Failed instead.
get_store_flow_summary
[Requires Pro+ plan] Get aggregated run statistics for a flow from the Power Clarity cache: total runs, success count, failure count, success rate, fail rate, and average/max duration over a time window. Data is from the stored snapshot — not live from the Power Automate API.
set_store_flow_state
[Requires Pro+ plan] [DEPRECATED — scheduled for removal] Start or stop a Power Automate flow via the live Power Automate API, then persists the updated state back to the Power Clarity store. Uses impersonation via a cached service account that is either a flow owner or an environment admin. Returns the updated stored flow record. Use set_live_flow_state instead.
update_store_flow
[Requires Pro+ plan] Update governance/metadata fields on a flow record in the Power Clarity store (description, business impact, owner team, tags, monitor flag, notification settings, etc.). Only fields provided are updated (merge semantics). Writes to the cache — does not call the Power Automate API.
list_store_environments
[Requires Pro+ plan] List all Power Platform environments from the Power Clarity cache.
list_store_makers
[Requires Pro+ plan] List all makers (citizen developers / AAD users) from the Power Clarity cache.
get_store_maker
[Requires Pro+ plan] Get details for a single maker from the Power Clarity cache by their key (usually the AAD object ID). Includes flow/app counts and whether the account has been deleted.
list_store_power_apps
[Requires Pro+ plan] List all Power Apps canvas apps from the Power Clarity cache.
list_store_connections
[Requires Pro+ plan] List all Power Platform connections from the Power Clarity cache.
get_live_flow_trigger_url
[DEPRECATED — scheduled for removal] Fetch the live trigger URL and method for an HTTP-triggered flow directly from the Power Automate API. Unlike get_flow_trigger_url this calls the PA listCallbackUrl endpoint so the URL is always current. Returns triggerName, triggerType, triggerKind, triggerMethod (e.g. POST) and triggerUrl. For non-HTTP triggers, triggerMethod and triggerUrl are null.
get_live_flow_runs
Fetch live run history for a flow directly from the Power Automate API using impersonation — not the cached store. Returns run name, status, startTime, endTime, trigger name/code, and any top-level error.
get_live_flow_run_error
Fetch error details for a specific flow run from the live Power Automate API. Lists every failed action with its error code and message to help diagnose what went wrong.
get_live_flow_run_action_outputs
Download inputs and outputs for actions in a flow run via SAS blob links from the live Power Automate API. Without actionName: returns top-level actions (optionally filtered by name). With actionName: calls the PA repetitions endpoint to return every execution of that action across all foreach iterations. Each repetition record includes repetitionIndexes (scope name + itemIndex per nesting level), status, error, and the resolved inputs/outputs blobs. Use iterationIndex to pin to a single iteration (matched against the innermost repetitionIndexes[].itemIndex); omit it to return all repetitions.
trigger_live_flow
Trigger an HTTP-triggered Power Automate flow by calling its live callback URL. Fetches the current signed trigger URL via the PA API (listCallbackUrl) then POSTs the provided body to it. If the flow trigger requires Azure Active Directory authentication, the impersonated Bearer token is automatically included — no extra configuration needed. Returns the HTTP status, response body, requiresAadAuth flag, and authType. Only works for flows with a Request (HTTP) trigger type.
cancel_live_flow_run
Cancel a currently running Power Automate flow run via the live PA API. Use after get_live_flow_runs to obtain the run name. Only runs with status "Running" can be cancelled.
resubmit_live_flow_run
Resubmit a failed or cancelled Power Automate flow run via the live PA API, re-using the original trigger payload. Discovers the trigger name from the flow definition automatically — no trigger name parameter needed.
set_live_flow_state
Start or stop a Power Automate flow via the live Power Automate API using an impersonated service account. Does not require a Power Clarity workspace — works for any flow the impersonated account can access. Reads the current flow state first and only issues the start/stop call if a state change is actually needed. Returns the flow name, environment, requested state, and the actual state reported by the PA API after the operation.
get_live_flow
Fetch the full native Power Automate flow JSON from the PA API, including the complete flow definition (triggers, actions, parameters, outputs). Returns the raw properties object exactly as the PA API returns it. Use this to inspect the full definition before calling update_live_flow with a modified definition.
update_live_flow
Update or create a Power Automate flow via the live PA API. If flowName is omitted or blank, a new flow is created (PUT with a generated GUID) using an environment admin account — definition and displayName are required in that case. If flowName is provided, the existing flow is PATCHed: displayName and/or definition and/or connectionReferences are updated. SURGICAL EDIT: instead of resending the whole definition, pass `operations` — an ordered list of set/add/remove/merge ops on array-of-keys paths — to change one action/parameter on a large flow cheaply and safely (fetches the live definition, applies the ops, PATCHes the result). Provide EITHER operations OR definition. Use `dryRun: true` to preview the result without writing. Mirrors displayName changes into the Power Clarity cache (gFlows). To modify a WHOLE definition: call get_live_flow, mutate properties.definition (including its description), pass it here. The flow description lives at definition.description and is required; we append " #flowstudio-mcp" to it for usage tracking.
get_live_flow_http_schema
[DEPRECATED — scheduled for removal] Inspect the HTTP interface of a Power Automate Request-triggered flow: returns the JSON schema the trigger URL expects as the POST body, any required headers, the HTTP method, and the JSON schema(s) defined on any Response action(s) in the flow. All information is read from the live flow definition via the PA API — no test call is made to the trigger URL. Use this before calling trigger_live_flow to understand what body to send.
list_live_environments
List all Power Platform environments directly from the Power Automate API — not the cached store. Returns id, displayName, sku, location, and state for each environment visible to the impersonated service account.
list_live_flows
List Power Automate flows in an environment. Returns id, displayName, state, triggerType, and lastModifiedTime for each flow. mode=owner (default): flows owned by AND shared with the impersonated account (personal + team), with full definitions. mode=admin: all flows in the environment (requires an admin account). If search is provided, results are filtered to flows whose displayName contains the search text. For large environments pagination is time-bounded — if nextLink is returned, pass it as continuationUrl to retrieve the next batch.
list_live_connections
List Power Platform connections in an environment directly from the Power Automate API — not the cached store. Returns id, displayName, connectorName, environment, createdBy (full object), authenticatedUser, statuses, overallStatus, createdTime, expirationTime, and connectionParameters for each connection. Pass search=<term> to narrow the list and receive a paste-ready connectionReferenceTemplate plus action-side hostTemplate per connection — drop these into update_live_flow's connectionReferences and inputs.host without further edits.
describe_live_connector
Describe a live Power Platform connector/API and its operations. Aligned with Canvas MCP describe_api. Use mode=summary (default) to get a compact operation catalog. Use operationId to describe one operation, including inputs, outputs, dynamic parameter metadata, nextTool hints to call get_live_dynamic_options, and an authored hint + canonical example shape (when one exists) to copy into update_live_flow. Use search without connectorName/apiName to search operations across connectors and get connection-aware suggestions. Use mode=full only when raw OpenAPI connector metadata is required.
get_live_dynamic_options
Resolve live dynamic dropdown/list options for a connector operation parameter. Use this when describe_live_connector returns a dynamic parameter with nextTool=get_live_dynamic_options. Works with x-ms-dynamic-list and x-ms-dynamic-values metadata, for example Teams team/channel IDs, SharePoint site/list IDs, or other connector-specific selectable values.
get_live_dynamic_properties
Resolve live dynamic schema/properties for a connector operation parameter. Use this when describe_live_connector returns a dynamicProperties entry with nextTool=get_live_dynamic_properties. Works with x-ms-dynamic-properties and x-ms-dynamic-schema metadata, for example SharePoint item fields after resolving site/list/view parameters.
add_live_flow_to_solution
Migrate a non-solution Power Automate flow into a solution via the admin migrateFlows API. If the flow is already part of a solution, returns an error message without attempting migration. solutionId is optional — omit to migrate into the default solution.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"flow studio power automate mcp server": {
"flowstudio": {
"url": "https://mcp.flowstudio.app/mcp",
"headers": {
"x-api-key": "<YOUR_API_KEY>"
}
}
}
}
}
McpServers
{
"flowstudio": {
"url": "https://mcp.flowstudio.app/mcp",
"headers": {
"x-api-key": "<YOUR_API_KEY>"
}
}
}
Debug, build, and manage Microsoft Power Automate cloud flows with AI agents. 15 tools for action-level error details, flow creation, run history, and multi-tenant operations.
FlowStudio MCP — Power Automate Skills for AI Agents
Give your AI agent the same visibility you have in the Power Automate portal — plus a bit more. The Graph API only returns top-level run status — agents can't see action inputs, loop iterations, or nested failures. Flow Studio MCP exposes all of it.
You can click through the portal and find the root cause. Your agent can't — unless it has MCP.
- Your agent can see that a flow failed, but not why — Graph API only returns status codes
- You want your agent to see action-level inputs and outputs, like you can in the portal
- A loop has hundreds of iterations and some produced bad output — in the portal you'd click through each one, but the agent can scan all iteration inputs and outputs at once
- You want to check flow health, failure rates, and maker activity across your tenant without opening the admin center
- You need to classify flows, detect orphaned resources, or audit connectors at scale — without installing the CoE Starter Kit
- You're tired of being the middle-man between your agent and the portal
The core difference:Graph API gives your agent run status. MCP gives your agent the inputs and outputs of every action.
The first three skills uselivePower Automate API calls. The monitoring and governance skills use thecached store— a daily snapshot with aggregated stats, remediation hints, and governance metadata. Requires a FlowStudio for Teams or MCP Pro+ subscription for store tools.
Each skill follows theAgent Skills specificationand works with any compatible agent.
Copilot, Claude Code, Codex, OpenClaw, Gemini CLI, Cursor, Goose, Amp, OpenHands
Available through the Claude plugin marketplace after approval. To test locally:
git clone https://github.com/ninihen1/power-automate-mcp-skills.git claude --plugin-dir ./power-automate-mcp-skills
claude mcp add --transport http flowstudio https://mcp.flowstudio.app/mcp \ --header "x-api-key: <YOUR_TOKEN>"
Inside a Codex session, install skills directly:
$skill-installer install https://github.com/ninihen1/power-automate-mcp-skills/tree/main/skills/power-automate-mcp $skill-installer install https://github.com/ninihen1/power-automate-mcp-skills/tree/main/skills/power-automate-debug $skill-installer install https://github.com/ninihen1/power-automate-mcp-skills/tree/main/skills/power-automate-build $skill-installer install https://github.com/ninihen1/power-automate-mcp-skills/tree/main/skills/power-automate-monitoring $skill-installer install https://github.com/ninihen1/power-automate-mcp-skills/tree/main/skills/power-automate-governance
Then connect the MCP server in~/.codex/config.toml:
[mcp_servers.flowstudio] url = "https://mcp.flowstudio.app/mcp" [mcp_servers.flowstudio.http_headers] x-api-key = "<YOUR_TOKEN>"
Search forflowstudio on skills.sh, or:
npx skills add github/awesome-copilot -s flowstudio-power-automate-mcp npx skills add github/awesome-copilot -s flowstudio-power-automate-debug npx skills add github/awesome-copilot -s flowstudio-power-automate-build npx skills add github/awesome-copilot -s flowstudio-power-automate-monitoring npx skills add github/awesome-copilot -s flowstudio-power-automate-governance
npx clawhub@latest install power-automate-mcp
npx smithery skill add flowstudio/power-automate-mcp
Copy the skill folder(s) into your project's.github/skills/directory (or wherever your agent discovers skills).
claude mcp add --transport http flowstudio https://mcp.flowstudio.app/mcp \ --header "x-api-key: <YOUR_TOKEN>"
[mcp_servers.flowstudio] url = "https://mcp.flowstudio.app/mcp" [mcp_servers.flowstudio.http_headers] x-api-key = "<YOUR_TOKEN>"
{ "servers": { "flowstudio": { "type": "http", "url": "https://mcp.flowstudio.app/mcp", "headers": { "x-api-key": "<YOUR_TOKEN>" } } } }
These are from real production investigations, not demos.
-
Expression error in child flow—contains(string(...))crashed on a nested property. Agent traced through parent flow, into child, through loop iterations, and found the failing input. Portal showed "ExpressionEvaluationFailed" with no context.
Data entry, not a flow bug— User reported two "bugs" back to back. Agent proved both were data entry errors (missing comma in email, single address in CC field). Flow was correct. Diagnosed in seconds.
Null value crashes child flow—split(Name, ', ')crashed when 38% of records had null Names. Agent traced parent to child to loop to action, found the root cause, and deployed a fix viaupdate_live_flow.
skills/ power-automate-mcp/ core connection & operation skill power-automate-debug/ debug workflow skill power-automate-build/ build & deploy skill power-automate-monitoring/ flow health & tenant inventory skill power-automate-governance/ compliance & governance skill examples/ real debugging walkthroughs README.md LICENSE MIT
Works with Copilot, Claude, and any MCP-compatible agent.
- awesome-copilot(merged)
- skills.sh(3K+ installs)
- Smithery(published)
- ClawHub(v1.1.0)
Contributions welcome. Each skill folder must contain aSKILL.mdwith the required frontmatter. See the existing skills for the format.
Keywords: Power Automate debugging, flow run history, expression evaluation failed, child flow failure, nested action errors, loop iteration output, agent automation MCP, Power Platform AI, flow definition deploy, resubmit failed run, flow monitoring, governance, CoE, orphan detection, connector audit, archive score, maker inventory
An MCP server for interacting with Cloudera Machine Learning (CML).
Search and run capsules, execute pipelines, and manage data assets on the Code Ocean platform.
Read-only MCP server for AI-powered Kubernetes debugging with support of code execution
Manage your SiteBay WordPress hosting platform. Handle sites, execute server commands, and manage staging environments via natural language.
Provides tools to interact with the Ansible Automation Platform API for automation tasks.
Clean and audit messy MCP setups: stale servers, unused tools, context-heavy MCPs, outdated packages, and safe repair plans.
An MCP server with built-in Feishu OAuth authentication, deployable on Cloudflare Workers.
Diagnose and fix GitHub Actions workflow failures using the GitHub API.
Remote runtimes for validation and offload jobs.
Declarative workflow orchestration for Temporal using the CNCF Serverless Workflow specification.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.


