Mcp Power Automate

io.github.kaael1由 GitHub 账号 kaael1 发布v0.4.1更新于 Nov 3, 2026

Local MCP for Power Automate with browser-backed auth, target locking, review diff, and rollback.

概览

AI 生成的概览

本地 MCP 服务器加 Chromium 扩展,借助已登录的浏览器会话,让助手查看、编辑、校验、运行并回滚 Microsoft Power Automate 云端流。

可以做什么
  • 检测并锁定目标流,列出流并读取流定义
  • 预览、校验、保存、查看差异并回滚流更新
  • 查看近期运行、最新运行详情和具体操作失败,并等待运行结束
  • 调用安全的手动或请求触发器流,并获取触发器回调地址
  • 列出非托管 Dataverse 解决方案、其组件和环境变量,将现有流加入解决方案并在解决方案中新建空白流
  • 创建和克隆流
适用场景
适合希望让 AI 客户端参与真实 Power Automate 云端流工作的场景:读取流、做小范围可审阅的修改、排查失败运行、测试触发器,或把流整理进 Dataverse 解决方案,且不想配置 Microsoft Entra 应用注册。
运行要求
通过 npx 从 npm 包本地运行,需要 Node.js。需要 Chrome 或 Edge 等 Chromium 浏览器,并在开发者模式下加载随包提供的扩展,同时已登录 Power Automate。本地桥接服务监听 127.0.0.1:17373,可用 POWER_AUTOMATE_BRIDGE_PORT 更改。
安装前请注意
扩展会从浏览器会话中捕获 Power Automate、Power Platform/BAP 和 Dataverse 令牌,浏览器会话即实时授权来源,令牌保留在本机。写入类工具可保存流修改、创建或克隆流、把流加入解决方案并调用触发器,可能触发真实运行;请先预览、校验并查看差异,优先在测试或预发布流上操作。解决方案写入仅限把流加入非托管解决方案。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Mcp Power Automate,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

[MCP Power Automate cover: inspect, validate, edit, and revert Power Automate flows with an MCP agent]

MCP Power Automate

Local-first MCP server and Chromium extension for AI-assisted Microsoft Power Automate work.

Use your existing logged-in browser session to let an MCP client inspect, validate, edit, run, review, and revert Power Automate cloud flows. No Microsoft Entra ID app registration, admin consent flow, or custom enterprise application setup is required to get started.

Early public signal: 15,000+ LinkedIn post views and 14 GitHub stars while the project is still small, practical, and moving fast.

Why It Exists

Power Automate is powerful, but AI agents need more than raw convenience before they should touch real flows. This project keeps the workflow visible and reversible:

  • The browser extension captures the active Power Automate context and compatible tokens from your own Chromium session.
  • The MCP server exposes a v1 command surface for targeting, reading, previewing, validating, saving, run inspection, and rollback.
  • The extension stays mostly passive: status, diagnostics, and review surfaces instead of mystery buttons that hide what changed.
  • Local state, snapshots, and backups stay on your machine.

What It Can Do

AreaCapabilities
ContextDetect browser-captured flows, list flows, and explicitly lock onto a target flow.
Safe editingRead the flow, preview the smallest candidate update, validate, save, review the diff, and revert.
DebuggingInspect recent runs, latest run details, and action-level failures.
TestingInvoke safe manual/request trigger flows and wait for the resulting run.
SolutionsList unmanaged Dataverse solutions, inspect solution components and environment variables, add existing flows, and create blank flows inside solutions.

Write operations are deliberately scoped. The MCP does not expose solution deletion, component deletion, managed-solution modification, environment-variable writes, or blind production edits as the default path.

Quickstart

Register the MCP in Codex:

powershell
codex mcp add power-automate-local -- npx -y @kaael1/mcp-power-automate

Find the packaged extension path:

powershell
npx -y @kaael1/mcp-power-automate extension-path

Load that folder in Chromium:

  1. Open chrome://extensions or edge://extensions.
  2. Enable Developer Mode.
  3. Choose Load unpacked.
  4. Select the folder printed by extension-path.

Then open or focus a Power Automate flow page. The extension captures the session and target context automatically.

Check readiness:

powershell
npx -y @kaael1/mcp-power-automate doctor

Recommended Agent Loop

For a supervised edit, ask your MCP client to follow this loop:

  1. doctor
  2. get_context
  3. connect_flow
  4. get_flow
  5. preview_flow_update
  6. validate_flow
  7. apply_flow_update
  8. get_last_update
  9. validate_flow again when available

For run inspection and manual/request trigger tests, use list_runs, get_latest_run, get_run, get_run_actions, wait_for_run, get_trigger_callback_url, and invoke_trigger.

For Dataverse solution work, use list_solutions, list_solution_components, list_environment_variables, add_flow_to_solution, and create_flow_in_solution. Solution writes are intentionally limited to adding cloud flows to unmanaged solutions.

Public v1 Tools

text
get_contextdoctorconnect_flowlist_flowslist_solutionslist_solution_componentslist_environment_variablesadd_flow_to_solutionget_flowpreview_flow_updatevalidate_flowapply_flow_updateget_last_updaterevert_last_updatelist_runsget_latest_runget_runget_run_actionswait_for_runget_trigger_callback_urlinvoke_triggercreate_flowcreate_flow_in_solutionclone_flow

Safety Model

  • Inspect with get_context, connect_flow, and get_flow before any write.
  • Preview with preview_flow_update before saving.
  • Validate before and after meaningful edits when Power Automate accepts validation.
  • Review get_last_update after save so the diff is visible.
  • Use revert_last_update when the saved result is wrong.
  • Prefer test or staging flows before production flows.

If Power Automate rejects a save because of a connection permission problem, the MCP reports CONNECTION_AUTHORIZATION_FAILED and waits for the user to fix that connection in Power Automate. If the service rejects a field such as retryPolicy, the MCP reports SCHEMA_VALIDATION_FAILED with the rejected member so the agent can correct the candidate flow instead of guessing.

Browser-Backed Auth

The extension can capture Power Automate, Power Platform/BAP, and Dataverse-audience tokens from your logged-in browser session. When those tokens are present, get_context and /health expose readiness details such as canManageSolutions.

This means the MCP can work without a new Microsoft Entra app registration, but it also means the browser session remains the live authority. If a token expires or a permission is missing, reopen or focus the relevant Power Automate, Power Apps, or Dataverse page and retry after capture.

HTTP Bridge

The local bridge listens on 127.0.0.1:17373.

  • GET /health is kept for simple probes.
  • GET /v1/health returns bridge identity and readiness.
  • GET /v1/context returns the same context used by the MCP.
  • GET /v1/commands lists the public v1 command surface.
  • POST /v1/commands/:name runs any public v1 command with a JSON body.

Only the process that owns the bridge port executes stateful work. If another process already owns the port, new MCP instances refuse to reuse it; stop the existing bridge process or choose a different POWER_AUTOMATE_BRIDGE_PORT.

Development

powershell
npm installnpm run typechecknpm run lintnpm run testnpm run buildnpm run pack:dry-run

For a local clone, prefer registering Codex against the built server from this checkout:

powershell
npm run build$nodePath = (Get-Command node).Source$serverPath = Join-Path (Get-Location) "dist/server/index.js"codex mcp add power-automate-local -- $nodePath $serverPath

If an older local entry exists, remove it first:

powershell
codex mcp remove power-automate-local

Load the browser extension from dist/extension after rebuilding. Runtime state lives in data/ and must not be committed.

Docs

Package Links

License

MIT. See LICENSE.

来源:README.md,提交 841ec1f

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.4.1最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分