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 分