使用说明
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中加载该文件夹:
- 打开
chrome://extensions或edge://extensions. - 启用开发人员模式。
- 选择
Load unpacked. - 选择打印的文件夹
extension-path.
然后打开或聚焦Power Automation流程页面。该扩展自动捕获会话和目标上下文。
检查准备情况:
npx -y @kaael1/mcp-power-automate doctor
推荐代理循环
对于监督编辑,请您的MCP客户端遵循以下循环:
doctorget_contextconnect_flowget_flowpreview_flow_updatevalidate_flowapply_flow_updateget_last_updatevalidate_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。看 许可证.