You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Browse filesBrowse the repository at this point in the historyBrowse files
authored
fix(power-automate): coerce JSON string args for large flow definitions (#298)
* fix(power-automate): coerce JSON string args for large flow definitions
The MCP transport may serialize large object arguments (definition,
connectionRefs, body) to JSON strings before they reach the Zod validator.
Previously, z.record(z.unknown()) rejected these with "Expected object,
received string". This adds a z.preprocess() wrapper (jsonRecord) that
parses JSON strings back to objects before validation.
Fixes: create_flow, update_flow, preview_update, validate_flow,
preflight_flow, run_flow, invoke_operation, run_desktop_flow,
pick_or_create_connection, and dynamic resolver tools.
Source: https://github.com/matow_microsoft/flow-agent (packages/core/src/mcp/server.ts)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* feat(power-automate): add Microsoft Learn MCP as companion knowledge source
Adds the Learn MCP server (https://learn.microsoft.com/api/mcp) to the
plugin's .mcp.json. Updates AGENTS.md with hybrid lookup guidance:
- Tier 1: local references/*.md (fast, offline, plugin-specific)
- Tier 2: Learn MCP (live, comprehensive, up-to-date)
No auth required, free, public endpoint. Tested and validated against
7 key scenarios (expressions, connectors, errors, child flows, ALM,
article fetch, code samples) — all return rich relevant results.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: Matt Townsend <matow+microsoft@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copy file name to clipboardExpand all lines: plugins/power-automate/.claude-plugin/plugin.json
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
{
2
2
"name": "power-automate",
3
-
"version": "2.1.0",
3
+
"version": "2.2.0",
4
4
"description": "Build, edit, run, and debug Power Automate cloud flows via the FlowAgent MCP server — connection lifecycle, surgical edits, copy across environments, run management, and validated expressions.",
Copy file name to clipboardExpand all lines: plugins/power-automate/.mcp.json
+4Lines changed: 4 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,10 @@
6
6
"-e",
7
7
"const p=require('node:path'),fs=require('node:fs');const r=process.env.PLUGIN_ROOT||process.env.CLAUDE_PLUGIN_ROOT||process.cwd();const src=process.env.PLUGIN_ROOT?'PLUGIN_ROOT':process.env.CLAUDE_PLUGIN_ROOT?'CLAUDE_PLUGIN_ROOT':'cwd';const mjs=p.resolve(r,'server','mcp.mjs');if(!fs.existsSync(mjs)){console.error('FlowAgent MCP not found at '+mjs+' (resolved via '+src+'='+r+'). Run /setup to fix.');process.exit(1);}(async()=>{try{await import(require('node:url').pathToFileURL(mjs).href)}catch(e){console.error(e);process.exit(1)}})();"
Copy file name to clipboardExpand all lines: plugins/power-automate/.plugin/plugin.json
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
{
2
2
"name": "power-automate",
3
-
"version": "2.1.0",
3
+
"version": "2.2.0",
4
4
"description": "Build, edit, run, and debug Power Automate cloud flows via the FlowAgent MCP server — connection lifecycle, surgical edits, copy across environments, run management, and validated expressions.",
0 commit comments