io.github.ninihen1/flowstudio-mcp
repo:https://github.com/ninihen1/power-automate-mcp-skills
Debug, build, and manage Power Automate cloud flows with AI agents
- transport:
- remote
- credential class:
- gated
Owner verification
Not yet verified. Verifying proves you control this server and is free, permanently — it never changes a published score.
Start verification →Tools
- add_live_flow_to_solutionshallow
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.
- cancel_live_flow_runshallow
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.
- describe_canvas_app_controlsshallow
[Preview] Control tree for one screen with per-property Power Fx (Rules[].InvariantScript). This is where you find the exact control and property names update_canvas_app needs.
- describe_canvas_control_typeshallow
[Preview] What a control TYPE supports: its properties with types, defaults and variants, plus the accessibility rules the type declares. This is the type catalogue (gallery, label, combobox …) — for the control INSTANCES in a screen and their formulas use describe_canvas_app_controls instead. Omit `controlType` to list the types this app uses. Read from the app package, so only types the app ALREADY uses are available — there is no catalogue of types it has never used.
- describe_live_connectorshallow
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.
- diff_canvas_appshallow
[Preview] Compare two states of a canvas app, per control and property. Give it two version ids, or "published"/"draft". Use it when a push is refused because the app moved: diff your session base against the new head to see what changed under you before deciding what to keep.
- discard_canvas_app_sessionshallow
[Preview] Throw away the current session and every unpushed edit. The app itself is untouched. Use after a push is refused because the app moved: discard, re-open with get_canvas_app, replay.
- get_canvas_appshallow
[Preview] Open a canvas app: downloads and unpacks it, and starts (or resumes) an edit session. Returns screens, data sources, sizes, App Checker findings — and `session`, which every canvas tool also returns. Staging alone is not a session; it becomes one on your first edit. Call this first.
- get_canvas_app_data_sourcesshallow
[Preview] The app's data sources WITH COLUMNS and types — read this before writing Power Fx that references a table, so you use real column names. Omit `dataSource` for the catalogue (every source, column counts, a column preview); pass it for one source in full, with key/permission/sortable/filterable detail. Also returns which connection feeds each source. Comes from the app package, so it reflects the last save. Dataverse tables are listed but carry NO columns — the package does not hold them.
- get_canvas_app_filesshallow
[Preview] List the files inside the app package, or read named ones. No `paths` lists everything (Assets included). With `paths` it returns content — text inline, binary as base64, with offset/length for large files. Use it for Src/App.pa.yaml (OnStart), Src/<Screen>.pa.yaml, References/*, and anything the higher-level tools do not surface.
- get_live_dynamic_optionsshallow
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_propertiesshallow
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.
- get_live_flowshallow
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.
- get_live_flow_http_schemashallow
[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.
- get_live_flow_run_action_outputsshallow
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.
- get_live_flow_run_errorshallow
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_runsshallow
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_trigger_urlshallow
[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_store_flowshallow
[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_errorsshallow
[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_runsshallow
[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_summaryshallow
[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.
- get_store_flow_trigger_urlshallow
[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_makershallow
[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_canvas_app_versionsshallow
[Preview] Version history. Each entry has a `version` id usable anywhere a version is accepted. DRAFTS are versioned too, not just publishes, and `isLive` marks the one users see.
- list_canvas_appsshallow
[Preview] List Power Apps canvas apps in an environment. Metadata only.
- list_live_connectionsshallow
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.
- list_live_environmentsshallow
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_flowsshallow
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_skillsshallow
List all skill bundles — named groups of tools the agent typically uses together for a single user intent (diagnose-connection-references, 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.
- list_store_connectionsshallow
[Requires Pro+ plan] List all Power Platform connections from the Power Clarity cache.
- list_store_environmentsshallow
[Requires Pro+ plan] List all Power Platform environments from the Power Clarity cache.
- list_store_flowsshallow
[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.
- list_store_makersshallow
[Requires Pro+ plan] List all makers (citizen developers / AAD users) from the Power Clarity cache.
- list_store_power_appsshallow
[Requires Pro+ plan] List all Power Apps canvas apps from the Power Clarity cache.
- publish_canvas_appshallow
[Preview] Publish the current draft, making it live for users. Asynchronous — the app may serve the previous version for a few seconds.
- report_bugshallow
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.
- resubmit_live_flow_runshallow
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_stateshallow
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.
- set_store_flow_stateshallow
[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.
- tool_searchshallow
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 (diagnose-connection-references, 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.
- trigger_live_flowshallow
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.
- update_canvas_appshallow
[Preview] Change control properties / Power Fx formulas. Edits go to your SESSION and are not live until pushed. `dryRun: true` previews from/to and catches edits that match nothing. `push: true` imports them — that lands a DRAFT and closes the session; publish_canvas_app then makes it live. Batch edits: one push is one import. A push has THREE outcomes: pushed, refused (see `refused`), or still importing (see `importing`) when the platform is slower than one request allows — then call push again with no new edits to resume that same import. `session.import` reports one in flight.
- update_canvas_app_filesshallow
[Preview] Create, update or delete files inside the app package — a new screen (Src/<Name>.pa.yaml + Controls/<n>.json), an image under Assets/, App.pa.yaml, References/*. Writes go to your session; push with update_canvas_app to import.
- update_live_flowshallow
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. RENAME: pass displayName alone, or alongside definition/operations. Power Automate rejects a PATCH that carries no flow content, so a displayName-only (or connectionReferences-only) save re-saves the flow's unchanged live definition and connectionReferences — the maker portal does the same full save on rename. The response `updated` list names only what you asked to change. 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.
- update_store_flowshallow
[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.
Embed this server’s score
Tool count and median score across every tool in this server’s corpus — honest in a way a single cherry-picked tool’s badge wouldn’t be.
[](https://vouch.tools/servers/ee4d4feb-7660-43e2-911b-ed8408e17b18)