# Power Automate MCP Server by Flow Studio (remote · mcp.flowstudio.app)

Debug, build, and manage Power Automate cloud flows with AI agents

- Trust score: 71/100 (medium)
- Change this week: +7
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `mcp.flowstudio.app`: 71/100 (this document), [markdown](https://verifymcp.io/servers/ninihen1-flowstudio-mcp/mcp.md), [page](https://verifymcp.io/servers/ninihen1-flowstudio-mcp/mcp)

## Channel facts

- Endpoint: `https://mcp.flowstudio.app/mcp`
- Transports: `streamable-http`
- Auth: `required`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 86/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation is enforced on tool calls, but the challenge carries no valid RFC 9728 metadata, so a client cannot discover where to get a token.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC is configured correctly; the domain's records validate against the full chain to the root.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 55/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 5579 tokens (~169/item across 33 items; 33 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 97/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 90% of tool parameters carry a description.
- **Capabilities**: 40/100
  - Spec-recency check failed: implements MCP spec 2025-03-26; the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http ninihen1-flowstudio-mcp https://mcp.flowstudio.app/mcp
```

### Codex

```toml
[mcp_servers.ninihen1-flowstudio-mcp]
url = "https://mcp.flowstudio.app/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "ninihen1-flowstudio-mcp": {
      "type": "remote",
      "url": "https://mcp.flowstudio.app/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add ninihen1-flowstudio-mcp --url https://mcp.flowstudio.app/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  ninihen1-flowstudio-mcp:
    url: "https://mcp.flowstudio.app/mcp"
```

### Other

```json
{
  "mcpServers": {
    "ninihen1-flowstudio-mcp": {
      "type": "http",
      "url": "https://mcp.flowstudio.app/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-02 (score 71, +1)

No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-31 (score 70, +4)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 66, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-29 (score 66, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-28 (score 65, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-27 (score 64, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-26 (score 64)

First indexed and scored.

## MCP tools (33)

### `tool_search` (~225 tokens)

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.

Input parameters:

- `max_results` (integer): Max tools to return for keyword queries (default 5). Ignored for select: and skill: queries.
- `query` (string, required): Search query. Forms: "select:name1,name2", "skill:<name>", or free-text keywords.

### `list_skills` (~89 tokens)

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.

### `list_store_flows` (~134 tokens)

[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.

Input parameters:

- `monitor` (boolean): If set, only return flows where monitor equals this value.
- `rule_notify_onfail` (boolean): If set, filter flows by whether on-fail notifications are enabled.
- `rule_notify_onmissingdays` (boolean): If set, filter flows by whether missing-days notifications are enabled.

### `get_store_flow` (~92 tokens)

[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.

Input parameters:

- `environmentName` (string, required): Name of the Power Platform environment.
- `flowName` (string, required): Name (ID) of the flow.

### `get_store_flow_trigger_url` (~105 tokens)

[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.

Input parameters:

- `environmentName` (string, required): Name of the Power Platform environment.
- `flowName` (string, required): Name (ID) of the flow.

### `get_store_flow_runs` (~187 tokens)

[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.

Input parameters:

- `endTime` (string): ISO 8601 end of the time window.
- `environmentName` (string, required): Name of the Power Platform environment.
- `flowName` (string, required): Name (ID) of the flow.
- `startTime` (string): ISO 8601 start of the time window (default: 7 days ago).
- `status` (array): Filter by status. Only the first value is used in the OData filter.
- `top` (number): Maximum number of run rows to return (default 5000).

### `get_store_flow_errors` (~148 tokens)

[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.

Input parameters:

- `environmentName` (string, required): Name of the Power Platform environment.
- `flowName` (string, required): Name (ID) of the flow.
- `startTime` (string): ISO 8601 start of the time window (default: 7 days ago).

### `get_store_flow_summary` (~140 tokens)

[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.

Input parameters:

- `endTime` (string): ISO 8601 end of the time window.
- `environmentName` (string, required): Name of the Power Platform environment.
- `flowName` (string, required): Name (ID) of the flow.
- `startTime` (string): ISO 8601 start of the time window (default: 7 days ago).

### `set_store_flow_state` (~127 tokens)

[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.

Input parameters:

- `environmentName` (string, required): Name of the Power Platform environment.
- `flowName` (string, required): Name (ID) of the flow.
- `state` (string, required): Desired state for the flow.

### `update_store_flow` (~266 tokens)

[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.

Input parameters:

- `businessImpact` (string)
- `businessJustification` (string)
- `businessValue` (string)
- `critical` (boolean)
- `description` (string)
- `environmentName` (string, required): Name of the Power Platform environment.
- `flowName` (string, required): Name (ID) of the flow.
- `monitor` (boolean): Enable/disable monitoring for this flow.
- `ownerBusinessUnit` (string)
- `ownerTeam` (string)
- `rule_notify_email` (string): Comma-separated email addresses for notifications.
- `rule_notify_onfail` (boolean): Send notification when the flow fails.
- `rule_notify_onmissingdays` (number): Send notification when flow has not run for this many days (0 = disabled).
- `security` (string)
- `supportEmail` (string)
- `supportGroup` (string)
- `tags` (string)
- `tier` (string)

### `list_store_environments` (~28 tokens)

[Requires Pro+ plan] List all Power Platform environments from the Power Clarity cache.

### `list_store_makers` (~35 tokens)

[Requires Pro+ plan] List all makers (citizen developers / AAD users) from the Power Clarity cache.

### `get_store_maker` (~69 tokens)

[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.

Input parameters:

- `makerKey` (string, required): Maker RowKey (AAD object ID of the user).

### `list_store_power_apps` (~29 tokens)

[Requires Pro+ plan] List all Power Apps canvas apps from the Power Clarity cache.

### `list_store_connections` (~27 tokens)

[Requires Pro+ plan] List all Power Platform connections from the Power Clarity cache.

### `get_live_flow_trigger_url` (~125 tokens)

[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.

Input parameters:

- `environmentName` (string, required): Name of the Power Platform environment.
- `flowName` (string, required): Name (ID) of the flow.

### `get_live_flow_runs` (~104 tokens)

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.

Input parameters:

- `environmentName` (string, required): Name of the Power Platform environment.
- `flowName` (string, required): Name (ID) of the flow.
- `top` (number): Max runs to return. Paginates automatically. Default 30.

### `get_live_flow_run_error` (~112 tokens)

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.

Input parameters:

- `environmentName` (string, required): Name of the Power Platform environment.
- `flowName` (string, required): Name (ID) of the flow.
- `runName` (string, required): Run identifier (name field from get_live_flow_runs).
- `top` (number): Max actions to return. Paginates automatically. Omit for all.

### `get_live_flow_run_action_outputs` (~283 tokens)

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.

Input parameters:

- `actionName` (string): Action name. Without iterationIndex: returns all repetitions of this action across every foreach iteration. With iterationIndex: returns the single repetition matching that iteration. Omit entirely f…
- `environmentName` (string, required): Name of the Power Platform environment.
- `flowName` (string, required): Name (ID) of the flow.
- `iterationIndex` (number): Zero-based foreach iteration index. Matched against the innermost repetitionIndexes[].itemIndex in the PA repetition record. Only meaningful when actionName is also set.
- `runName` (string, required): Run identifier (name field from get_live_flow_runs).
- `top` (number): Max actions or repetitions to return. Paginates automatically. Omit for all.

### `trigger_live_flow` (~160 tokens)

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.

Input parameters:

- `body` (object): JSON body to POST to the trigger URL. Omit for flows that expect an empty body.
- `environmentName` (string, required): Name of the Power Platform environment.
- `flowName` (string, required): Name (ID) of the flow.

### `cancel_live_flow_run` (~95 tokens)

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.

Input parameters:

- `environmentName` (string, required): Name of the Power Platform environment.
- `flowName` (string, required): Name (ID) of the flow.
- `runName` (string, required): Run identifier (name field from get_live_flow_runs).

### `resubmit_live_flow_run` (~100 tokens)

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.

Input parameters:

- `environmentName` (string, required): Name of the Power Platform environment.
- `flowName` (string, required): Name (ID) of the flow.
- `runName` (string, required): Run identifier (name field from get_live_flow_runs).

### `set_live_flow_state` (~138 tokens)

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.

Input parameters:

- `environmentName` (string, required): Name of the Power Platform environment.
- `flowName` (string, required): Name (ID) of the flow.
- `state` (string, required): Desired state for the flow.

### `get_live_flow` (~97 tokens)

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.

Input parameters:

- `environmentName` (string, required): Name of the Power Platform environment.
- `flowName` (string, required): Name (ID) of the flow.

### `update_live_flow` (~614 tokens)

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.

Input parameters:

- `connectionReferences` (object): Connection references map — keyed by logical name (e.g. shared_sharepointonline), each value is { connectionName, id }. Goes into properties.connectionReferences on the PA API call.
- `definition` (object): Full flow definition as a JSON object (triggers + actions + parameters + outputs + description). MUST be a JSON object — strings are rejected. Do not JSON.stringify the definition; pass the parsed ob…
- `displayName` (string): Display name for the flow. Required when creating.
- `dryRun` (boolean): Preview only: apply the change to the live definition and return the result + what changed, WITHOUT writing.
- `environmentName` (string, required): Name of the Power Platform environment.
- `flowName` (string): Name (ID) of the flow to update. Omit or leave blank to create a new flow.
- `operations` (array): SURGICAL EDIT of an existing flow (requires flowName; do not combine with definition). An ordered list applied to the LIVE definition. Each item = { op, path, value? }. path is an ARRAY of literal ke…

### `get_live_flow_http_schema` (~138 tokens)

[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.

Input parameters:

- `environmentName` (string, required): Name of the Power Platform environment.
- `flowName` (string, required): Name (ID) of the flow.

### `list_live_environments` (~72 tokens)

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.

Input parameters:

- `top` (number): Max environments to return. Paginates automatically. Omit for all.

### `list_live_flows` (~282 tokens)

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.

Input parameters:

- `continuationUrl` (string): nextLink value returned by a previous call. Pass to resume pagination from where the last call stopped. Must match the same mode as the original call.
- `environmentName` (string, required): Name of the Power Platform environment.
- `mode` (string): owner (default): user-scoped — owned + shared-with-me flows (personal + team), with full definitions. admin: admin-scoped endpoint, all flows.
- `search` (string): Optional case-insensitive filter applied to flow displayName.
- `timeoutSeconds` (number): Stop collecting pages after this many seconds and return a nextLink for the next batch. Default 25. Max 55.
- `top` (number): Max flows to return. Paginates automatically. Omit for all.

### `list_live_connections` (~190 tokens)

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.

Input parameters:

- `environmentName` (string): Name of the Power Platform environment. Omit to list connections across all environments.
- `search` (string): Optional case-insensitive substring filter applied to id, displayName, connectorName, and accountName. Adds connectionReferenceTemplate + hostTemplate to each returned connection.
- `top` (number): Max connections to return. Paginates automatically. Omit for all.

### `describe_live_connector` (~374 tokens)

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.

Input parameters:

- `apiName` (string): Alias for connectorName, matching Canvas MCP describe_api naming.
- `connectorName` (string): Connector logical name, for example shared_teams. Either connectorName/apiName is required, unless search is provided for cross-connector operation search.
- `environmentName` (string, required): Name of the Power Platform environment.
- `mode` (string): summary (default): compact operation catalog. full: raw OpenAPI metadata.
- `operationId` (string): Optional operation ID to describe with expanded inputs and outputs.
- `search` (string): Optional operation search text. With connectorName, filters that connector summary. Without connectorName, searches operations across connectors.
- `top` (number): Max operations to return in connector summary mode, or max top search results to show in cross-connector search. Default 250 for summary, 10 for search display.
- `type` (string): Operation usage to include in summary mode. Default Action.
- `variant` (string): When an operation has multiple authored variants (e.g. shared_teams/PostMessageToConversation has channel/groupchat/flowbot_chat), pass a specific variantKey to get that variant's hint and exampleDef…

### `get_live_dynamic_options` (~241 tokens)

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.

Input parameters:

- `apiName` (string): Alias for connectorName.
- `connectionName` (string, required): Required connector connection name/id, for example shared-teams-{guid}. Choose the connection that the flow action should run as. Use list_live_connections to find candidates.
- `connectorName` (string): Connector logical name, for example shared_teams.
- `dynamicMetadata` (object, required): x-ms-dynamic-list or x-ms-dynamic-values metadata from describe_live_connector.
- `environmentName` (string, required): Name of the Power Platform environment.
- `operationId` (string): Operation ID that owns the dynamic parameter.
- `parameterName` (string, required): Dynamic parameter name, for example groupId or channelId.
- `parameters` (object): Resolved dependent parameter values, for example { "groupId": "<team id>" }.

### `get_live_dynamic_properties` (~339 tokens)

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.

Input parameters:

- `apiName` (string): Alias for connectorName.
- `connectionName` (string, required): Required connector connection name/id. Use list_live_connections to find candidates.
- `connectorName` (string): Connector logical name, for example shared_sharepointonline.
- `contextParameterAlias` (string): Alias for returned property paths. Defaults to the parameter alias from metadata, or parameterName.
- `dynamicMetadata` (object, required): x-ms-dynamic-properties or x-ms-dynamic-schema metadata from describe_live_connector.
- `environmentName` (string, required): Name of the Power Platform environment.
- `includeRaw` (boolean): Include raw schema/property definitions. With propertyName, includes raw only for the matched property. Without propertyName, includes the full raw schema. Default false.
- `location` (string): Whether to resolve input or output dynamic properties. Default input.
- `operationId` (string): Operation ID that owns the dynamic parameter.
- `parameterName` (string, required): Dynamic properties parameter name, for example item or body.
- `parameters` (object): Resolved dependent parameter values, for example { "dataset": "<site url>", "table": "<list id>" }.
- `propertyName` (string): Optional property name/title/alias to return just one property. Useful for a progressive follow-up with includeRaw=true after inspecting the compact schema.

### `add_live_flow_to_solution` (~163 tokens)

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.

Input parameters:

- `environmentName` (string, required): Name of the Power Platform environment.
- `flowName` (string, required): Name (ID) of the flow to migrate into the solution.
- `solutionId` (string): Target solution ID (Dataverse solutionid GUID). Omit for the default solution. Discover IDs via get_live_dynamic_options on shared_commondataserviceforapps/ListRecords with entityName "solutions" (va…

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/ninihen1-flowstudio-mcp/mcp#diagnostics

## Score history

- 2026-08-03: 71
- 2026-08-02: 71
- 2026-08-01: 70
- 2026-07-31: 70
- 2026-07-30: 66
- 2026-07-29: 66
- 2026-07-28: 65
- 2026-07-27: 64
- 2026-07-26: 64

## Links

- Remote endpoint: https://mcp.flowstudio.app/mcp
- Authorisation metadata: https://mcp.flowstudio.app/.well-known/oauth-protected-resource/mcp
- Repository: https://github.com/ninihen1/power-automate-mcp-skills
- Website: https://mcp.flowstudio.app/
- Changelog RSS feed: https://verifymcp.io/servers/ninihen1-flowstudio-mcp/mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/ninihen1-flowstudio-mcp/mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/ninihen1-flowstudio-mcp/mcp
