Power Automate流程管理工具

一个本地优先的MCP服务器和Chromium扩展,用于AI辅助的Microsoft Power Automate工作,提供流程检查、验证、编辑和回滚功能。

  • by kaael1
  • TypeScript
  • 本地部署
  • 27 星标
  • 更新于
在 GitHub 查看 kaael1/mcp-power-automate

使用说明

MCP电源自动化

本地第一台MCP服务器和Chromium扩展程序用于AI辅助Microsoft Power Automation工作。

使用您现有的登录浏览器会话,让MCP客户端检查、验证、编辑、运行、查看和恢复Power Automation云流。开始时不需要Microsoft Entra ID应用程序注册、管理员同意流程或自定义企业应用程序设置。

早期公开信号:15000多个领英帖子浏览量和14个GitHub之星,而该项目仍然很小,很实用,进展很快。

为什么它存在

Power Automation功能强大,但人工智能代理在接触真实流程之前需要的不仅仅是原始的便利性。此项目使工作流可见且可逆:

  • 浏览器扩展程序从您自己的Chromium会话中捕获活动的Power Automation上下文和兼容令牌。
  • MCP服务器公开了一个v1命令界面,用于定位、读取、预览、验证、保存、运行检查和回滚。
  • 该扩展主要保持被动:状态、诊断和查看界面,而不是隐藏更改内容的神秘按钮。
  • 本地状态、快照和备份保留在您的计算机上。

它能做什么

区域 能力
上下文 检测浏览器捕获的流,列出流,并显式锁定目标流。
安全编辑 读取流程,预览最小的候选更新,验证,保存,查看差异,然后还原。
调试 检查最近的运行、最新运行详细信息和操作级失败。
测试 调用安全的手动/请求触发流并等待结果运行。
解决方案 列出非托管的WAX解决方案,检查解决方案组件和环境变量,添加现有流,并在解决方案中创建空白流。

写操作的作用域是有意设定的。MCP不会将解决方案删除、组件删除、托管解决方案修改、环境变量写入或盲生产编辑作为默认路径。

快速入门

在Codex中注册MCP:

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

查找打包的扩展路径:

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

在Chromium中加载该文件夹:

  1. 打开 chrome://extensions 或 edge://extensions.
  2. 启用开发人员模式。
  3. 选择 Load unpacked.
  4. 选择打印的文件夹 extension-path.

然后打开或聚焦Power Automation流程页面。该扩展自动捕获会话和目标上下文。

检查准备情况:

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

推荐代理循环

对于监督编辑,请您的MCP客户端遵循以下循环:

  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 再次可用时

对于运行检查和手动/请求触发测试,请使用 list_runs, get_latest_run, get_run, get_run_actions, wait_for_run, get_trigger_callback_url,以及 invoke_trigger.

对于Webex解决方案工作,请使用 list_solutions, list_solution_components, list_environment_variables, add_flow_to_solution,以及 create_flow_in_solution。解决方案写入被有意限制为向非托管解决方案添加云流。

公共v1工具

get_context
doctor
connect_flow
list_flows
list_solutions
list_solution_components
list_environment_variables
add_flow_to_solution
get_flow
preview_flow_update
validate_flow
apply_flow_update
get_last_update
revert_last_update
list_runs
get_latest_run
get_run
get_run_actions
wait_for_run
get_trigger_callback_url
invoke_trigger
create_flow
create_flow_in_solution
clone_flow

安全模型

  • 检查 get_context, connect_flow,以及 get_flow 在任何写作之前。
  • 预览 preview_flow_update 在储蓄之前。
  • 当Power Automation接受验证时,在有意义的编辑前后进行验证。
  • 审查 get_last_update 保存后,差异可见。
  • 使用 revert_last_update 当保存的结果错误时。
  • 在生产流程之前,更喜欢测试或暂存流程。

如果Power Automation因连接权限问题而拒绝保存,MCP会报告 CONNECTION_AUTHORIZATION_FAILED 并等待用户在Power Automation中修复该连接。如果服务拒绝了以下字段 retryPolicy,MCP报告 SCHEMA_VALIDATION_FAILED 使用被拒绝的成员,这样代理就可以纠正候选流,而不是猜测。

浏览器支持的身份验证

该扩展可以从您登录的浏览器会话中捕获Power Automation、Power Platform/BAP和Webex受众令牌。当这些令牌存在时, get_context 和 /health 公开准备就绪的详细信息,例如 canManageSolutions.

这意味着MCP可以在没有新的Microsoft Entra应用程序注册的情况下工作,但这也意味着浏览器会话仍然是实时权限。如果令牌过期或权限丢失,请重新打开或聚焦相关的Power Automation、Power Apps或Webex页面,并在捕获后重试。

HTTP网桥

当地的桥在听 127.0.0.1:17373.

  • GET /health 用于简单探头。
  • GET /v1/health 返回网桥身份和准备状态。
  • GET /v1/context 返回MCP使用的相同上下文。
  • GET /v1/commands 列出了公共v1命令界面。
  • POST /v1/commands/:name 运行任何带有JSON正文的公共v1命令。

只有拥有网桥端口的进程执行有状态工作。如果另一个进程已经拥有该端口,则新的MCP实例拒绝重用它;停止现有的桥接进程或选择其他进程 POWER_AUTOMATE_BRIDGE_PORT.

发展

npm install
npm run typecheck
npm run lint
npm run test
npm run build
npm run pack:dry-run

对于本地克隆,更喜欢通过此签出在构建的服务器上注册Codex:

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

如果存在较旧的本地条目,请先将其删除:

codex mcp remove power-automate-local

从加载浏览器扩展 dist/extension 重建后。运行时状态存在于 data/ 不得承诺。

文档

套餐链接

  • github:https://github.com/kaael1/mcp-power-automate
  • npm:https://www.npmjs.com/package/@kaael1/mcp电力自动化
  • MCP注册表:https://registry.modelcontextprotocol.io/v0/servers?search=io.github.kaael1/mcp-电力自动化

许可证

MIT。看 许可证.