Power Automate MCP Server by Flow Studio

io.github.ninihen1由 GitHub 帳號 ninihen1 發布v1.0.0更新於 Oct 25, 2026

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

已驗證Streamable HTTP可網頁執行效率與工作流雲端與基礎設施資料與分析

概覽

AI 產生的概覽

一個遠端 MCP 伺服器,讓 AI 助理檢查、偵錯、建置與治理 Microsoft Power Automate 雲端流程,包含動作層級的執行資料。

可以做什麼
搜尋與瀏覽伺服器自身的工具與技能包,並向提供者提交缺陷或功能請求。從 Power Clarity 快取快照列出、讀取與更新流程、環境、製作者、Power Apps 與連線(需 Pro+ 方案)。取得即時流程定義、執行歷史、單次執行錯誤與動作輸入輸出,包含迴圈迭代資料。觸發、取消、重新提交、啟動或停止流程,並建立或更新流程定義,支援試執行與精細編輯。描述連接器、解析連接器動作參數、測試或建立連線,以及將流程加入解決方案。
適用情境
當助理需要診斷 Power Automate 流程失敗原因、查看 Graph API 未提供的動作層級輸入輸出,或建置與編輯流程定義時使用。也適合在不安裝 CoE Starter Kit 的情況下進行租用戶層級的流程健康、製作者與連接器清冊及治理工作。
執行需求
透過 streamable HTTP 連線至 mcp.flowstudio.app 遠端端點,無需本機執行環境。需要 Flow Studio MCP API 金鑰,放在 x-api-key 標頭中,或透過 OAuth 連接器使用 Microsoft 登入。即時工具需要付費 Flow Studio MCP 訂閱,快取儲存工具需要 Teams 或 MCP Pro+ 方案。需要可連線至 Power Automate 的網路。
安裝前請注意
API 金鑰是機密,可存取你的 Power Automate 租用戶資料,請勿放入共用設定。多個工具會寫入或操作即時系統:update_live_flow 建立或修改流程,trigger_live_flow 執行流程,取消與重新提交會影響執行,set_live_flow_state 啟動或停止流程,create_live_connection 建立連線。流程定義、執行資料與連線詳情會傳送至 Flow Studio 服務。提交缺陷報告時不要包含密碼、權杖或完整流程定義。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Power Automate MCP Server by Flow Studio,將其新增到工作區。
  2. 連接 x-api-key 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
  3. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.ninihen1%2Fflowstudio-mcp/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "power-automate-by-flow-studio": {
      "type": "http",
      "url": "https://mcp.flowstudio.app/mcp",
      "headers": {
        "x-api-key": "<YOUR_API_KEY>"
      }
    }
  }
}

README

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. FlowStudio MCP exposes all of it.

[Agent debugging a Power Automate flow via MCP]

You can click through the portal and find the root cause. Your agent can't — unless it has MCP.

[The portal shows everything to a human — but agents only see the top-level error via Graph API]

[With FlowStudio MCP, the agent sees what you see]

When you need this

  • 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

Graph API vs FlowStudio MCP

The core difference: Graph API gives your agent run status. MCP gives your agent the inputs and outputs of every action.

What the agent seesGraph APIFlowStudio MCP
Run passed or failedYesYes
Action inputs and outputsNoYes
Error details beyond status codeNoYes
Child flow run detailsNoYes
Loop iteration dataNoYes
Flow definition (read + write)LimitedFull JSON
Resubmit / cancel runsLimitedYes
Cached flow health & failure ratesNoYes
Maker / Power Apps / connection inventoryNoYes
Governance metadata (tags, impact, owner)NoYes

Skills

SkillDescription
power-automate-mcpConnect to and operate Power Automate cloud flows — list flows, read definitions, check runs, resubmit, cancel
power-automate-debugStep-by-step diagnostic process for investigating failing flows
power-automate-buildBuild, scaffold, and deploy Power Automate flow definitions from scratch
power-automate-monitoringFlow health, failure rates, maker inventory, Power Apps, environment and connection counts
power-automate-governanceClassify flows by impact, detect orphans, audit connectors, manage notifications, compute archive scores

The first three skills use live Power Automate API calls. The monitoring and governance skills use the cached 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 the Agent Skills specification and works with any compatible agent.

Supported agents

Copilot, Claude Code, ChatGPT, Codex, OpenClaw, Gemini CLI, Cursor, Goose, Amp, OpenHands

Guides

Full walkthroughs on learn.flowstudio.app:

Quick Start

Connect from ChatGPT or claude.ai

Sign in with your Microsoft account instead of pasting a key. Add https://mcp.flowstudio.app/mcp/oauth as a connector in ChatGPT (Developer mode on) or at claude.ai, then follow the sign-in prompt. Walkthrough: ChatGPT for Power Automate.

Install as Claude Code plugin

Available through the Claude plugin marketplace after approval. To test locally:

bash
git clone https://github.com/ninihen1/power-automate-mcp-skills.gitclaude --plugin-dir ./power-automate-mcp-skills

Then connect the MCP server:

bash
claude mcp add --transport http flowstudio https://mcp.flowstudio.app/mcp \  --header "x-api-key: <YOUR_TOKEN>"

Get your token at mcp.flowstudio.app.

Install in Codex

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:

toml
[mcp_servers.flowstudio]url = "https://mcp.flowstudio.app/mcp"
[mcp_servers.flowstudio.http_headers]x-api-key = "<YOUR_TOKEN>"

Install via skills.sh

Search for flowstudio on skills.sh, or:

bash
npx skills add github/awesome-copilot -s flowstudio-power-automate-mcpnpx skills add github/awesome-copilot -s flowstudio-power-automate-debugnpx skills add github/awesome-copilot -s flowstudio-power-automate-buildnpx skills add github/awesome-copilot -s flowstudio-power-automate-monitoringnpx skills add github/awesome-copilot -s flowstudio-power-automate-governance

Install via ClawHub

bash
npx clawhub@latest install power-automate-mcp

Install via Smithery

bash
npx smithery skill add flowstudio/power-automate-mcp

Manual install

Copy the skill folder(s) into your project's .github/skills/ directory (or wherever your agent discovers skills).

Connect the MCP server

Claude Code:

bash
claude mcp add --transport http flowstudio https://mcp.flowstudio.app/mcp \  --header "x-api-key: <YOUR_TOKEN>"

Codex (~/.codex/config.toml):

toml
[mcp_servers.flowstudio]url = "https://mcp.flowstudio.app/mcp"
[mcp_servers.flowstudio.http_headers]x-api-key = "<YOUR_TOKEN>"

Copilot / VS Code (.vscode/mcp.json):

json
{  "servers": {    "flowstudio": {      "type": "http",      "url": "https://mcp.flowstudio.app/mcp",      "headers": { "x-api-key": "<YOUR_TOKEN>" }    }  }}

Get your token at mcp.flowstudio.app.

Real debugging examples

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 via update_live_flow.

Prerequisites

  • A FlowStudio MCP subscription (all live tools)
  • For store tools (monitoring, governance): FlowStudio for Teams or MCP Pro+
  • MCP endpoint: https://mcp.flowstudio.app/mcp
  • API key / JWT token (passed as x-api-key header)

Repository structure

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 skillexamples/                      real debugging walkthroughsREADME.mdLICENSE                        MIT

Available on GitHub

Works with Copilot, Claude, ChatGPT, and any MCP-compatible agent.

Contributing

Contributions welcome. Each skill folder must contain a SKILL.md with the required frontmatter. See the existing skills for the format.

License

MIT


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

來源:README.md,提交 fc316ef

工具

30

list_skills

List skill bundles

Skill bundles: groups of the tools listed here that are used together for one task (diagnose-connection-references, build-flow, debug-flow, monitor-flow, discover, governance). Returns each bundle's name and one-line description. Use it when unsure which tools fit a request; tool_search "skill:<name>" returns the bundle's full guidance and definitions. Non-billable.

無需輸入參數。

report_bug

Report a 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.

輸入參數chunkaction必填notifyticketcontentdetailssummarycategoryseverityfile_nameflow_nametool_name另有 6 個

list_store_flows

List cached 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.

輸入參數monitorrule_notify_onfailrule_notify_onmissingdays

get_store_flow

Get cached 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.

輸入參數flowName必填environmentName必填

get_store_flow_runs

Get cached run history

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

輸入參數topstatusendTimeflowName必填startTimeenvironmentName必填

get_store_flow_summary

Get cached run 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.

輸入參數endTimeflowName必填startTimeenvironmentName必填

update_store_flow

Update flow governance fields

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

輸入參數tagstiermonitorcriticalflowName必填securityownerTeamdescriptionsupportEmailsupportGroupbusinessValuebusinessImpact另有 6 個

list_store_environments

List cached environments

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

無需輸入參數。

list_store_makers

List makers

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

無需輸入參數。

get_store_maker

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

輸入參數makerKey必填

list_store_power_apps

List cached apps

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

無需輸入參數。

list_store_connections

List cached connections

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

無需輸入參數。

get_live_flow_runs

List flow runs

Fetch run history for a flow directly from Power Automate. Returns { runs, runCount, triggerChecks }: each run has name, status, startTime, endTime, trigger name/code, and any top-level error. IMPORTANT — no runs does NOT mean the flow is healthy. A trigger that fires and evaluates to nothing, or fails to evaluate, records a TRIGGER CHECK and never becomes a run. When there are no runs (or when includeTriggerChecks is set) this tool also reports the trigger check history, so "nothing ran" can be told apart from "the trigger has been failing". Read triggerChecks.byStatus before concluding a flow is fine.

輸入參數topstatusflowName必填startedAfterstartedBeforeenvironmentName必填triggerCheckStatusincludeTriggerChecks

get_live_flow_run_error

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

輸入參數toprunName必填flowName必填environmentName必填

get_live_flow_run_action_outputs

Get run action inputs and outputs

Read the recorded inputs and outputs of actions in one flow run. Without actionName: the top-level actions (optionally filtered by name). With actionName: every execution of that action across foreach iterations, each with repetitionIndexes, status, error, and resolved inputs/outputs. Use iterationIndex to pin one iteration; omit it for all. TRIGGER PAYLOADS: set trigger=true with a runName to get that run's trigger inputs and outputs. No Compose workaround is needed. TRIGGER CHECKS: pass checkId (from get_live_flow_runs -> triggerChecks.recent[].checkId) to read a trigger evaluation that never became a run — that is how you see WHY a trigger is failing. Do not supply runName with a checkId.

輸入參數topcheckIdrunNametriggerflowName必填actionNameiterationIndexenvironmentName必填

trigger_live_flow

Run flow

Run a flow on demand — the same as the maker portal's "Run flow" button. Works with Request triggers (HTTP request, manual Button, PowerApps) and with scheduled RECURRENCE flows, which run immediately; a scheduled flow takes no inputs, so passing `body` to one is refused. Pass trigger inputs as `body`. Automated connector triggers only fire from their source event.

輸入參數bodyflowName必填connectionsenvironmentName必填

cancel_live_flow_run

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

輸入參數runName必填flowName必填environmentName必填

resubmit_live_flow_run

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

輸入參數runName必填flowName必填environmentName必填

set_live_flow_state

Turn flow on or off

Start or stop the flow you name. Reads the current state first and only calls Power Automate if a change is actually needed.

輸入參數state必填flowName必填environmentName必填

get_live_flow

Get flow definition

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.

輸入參數depthactionsflowName必填environmentName必填includeTriggerUrl

update_live_flow

Create or update flow

Update or create a flow. Use `dryRun: true` to preview any change without writing. Omit flowName to create: definition and displayName are required. Give flowName to update: displayName and/or definition and/or connectionReferences. SURGICAL EDIT: pass `operations` — an ordered list of set/add/remove/merge ops on array-of-keys paths — to change one action or parameter without resending the whole definition. Provide EITHER operations OR definition; connectionReferences may accompany either and lands in the same save. WHOLE definition: call get_live_flow, mutate properties.definition, pass it here. RENAME: pass displayName alone. Power Automate rejects a PATCH carrying no flow content, so this re-saves the unchanged definition — the maker portal does the same. definition.description is required, and must be brief — we append " #flowstudio-mcp" to it.

輸入參數dryRunflowNamedefinitionoperationsdisplayNameenvironmentName必填connectionReferencesexpectedLastModifiedTime

list_live_environments

List environments

List all Power Platform environments you belong to, directly from Power Automate. Returns id, displayName, sku, location, and state for each environment. mode=all (default) and mode=member: every environment you are a member of. mode=admin: only those you administer; errors rather than guessing if admin access cannot be determined. isAdmin means you hold the ListAnyFlow permission there — the capability list_live_flows mode=admin needs. It is null, never false, when the platform did not tell us. isMember is true for every environment returned.

輸入參數topmode

list_live_flows

List flows

List Power Automate flows in an environment. Returns id, displayName, state, triggerType, and lastModifiedTime for each flow. mode=owner (default): flows you own plus flows shared with you (personal + team), with full definitions. mode=admin: all flows in the environment (requires an admin account). mode=admin with includeDeleted=true also returns soft-deleted flows (state=Deleted) — the only way to find a deleted flow. 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.

輸入參數topmodesearchincludeDeletedtimeoutSecondscontinuationUrlenvironmentName必填

list_live_connections

List connections

List Power Platform connections in an environment directly from Power Automate. 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.

輸入參數topsearchenvironmentName必填

describe_live_connector

Describe connector

Describe a live Power Platform connector/API and its operations. 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 resolve_live_parameters, 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.

輸入參數toptypedepthsearchapiNamevariantoperationIdconnectorNameenvironmentName必填

add_live_flow_to_solution

Add flow to solution

Move a flow into a solution. Refuses if the flow is already in one. solutionId is optional — omit for the default solution.

輸入參數flowName必填solutionIdenvironmentName必填

resolve_live_parameters

Resolve action inputs

Resolve a connector action's inputs the way the flow designer does: dropdown options, list and table columns, folder and file pickers — every input in one call, or one with parameterName. Reads only: it runs the lookups the designer runs, never an action. Pass values you have in parameters; pass a display name in match to get back the value to write into the flow. An input whose parent is not known yet has status "needs". Inputs inside an object are addressed by key (body/recipient/groupId). Omit connectionName and one is chosen.

輸入參數topskipmatchbrowsedetailsearchapiNameincludeflowNameactionNameparametersoperationId另有 4 個

test_live_connection

Test connection

Test a connection, or run one operation on it. Without operationId it runs the connector's own connection test. With operationId it runs that operation and returns the raw reply: a GET operation, or a lookup the connector itself declares for a dropdown, list, schema or folder picker. Anything else is refused before a call is made. connectionName comes from list_live_connections; operation ids from describe_live_connector.

輸入參數parametersoperationIdconnectorName必填connectionName必填continuationUrlenvironmentName必填

create_live_connection

Create connection

Create a connection, or sign an existing one in again (pass connectionName). Shows a sign-in card where the person signs in; you never sign in for them. Without the card, give the person signInLink to open. Connectors that use a key or account details instead of a sign-in are refused: create those in Power Automate.

輸入參數connectorName必填connectionNameenvironmentName必填

版本歷史

1
  1. v1.0.0最新Sep 16, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分