Part 3: I skipped Power Automate and connected LDX hub directly via MCP. It worked in 2 hours.
Source: Dev.to
This is Part 3 of a series documenting a non-engineer CEO’s attempts to connect Copilot Studio to LDX hub’s StructFlow API. Part 1 — It didn’t work yet. Part 2 — REST API, 8 errors, 3 hours, finally working. In Part 2, I got the REST API route working through Power Automate. It took 3 hours and 8 errors. The moment it worked, I immediately wondered: is there a simpler path? There is. It’s called MCP. Instead of building a Power Automate flow, configuring polling loops, and debugging HTTP connectors — I connected LDX hub’s MCP server directly to the Copilot Studio agent. The whole thing took about 2 hours, and most of that was figuring out two non-obvious settings. Here’s the full account. Environment Microsoft Copilot Studio (Kawamura International tenant) LDX hub MCP Server (https://gw.ldxhub.io/mcp) Existing agent: Minutes Assistant (議事録アシスタント) Time required: ~2 hours The REST API route in Part 2 works. But it required: Building a Do Until polling loop Debugging HTTP connector confusion (white vs green) Dealing with triggerBody() reference errors Managing variable types for async results MCP eliminates all of that. The agent calls the tool directly — no middleware, no flow to maintain. If the tradeoff is acceptable for your use case, it’s a significantly faster path to get running. The tradeoff: MCP is better suited for interactive, single-record use cases. For batch processing 20 files, Power Automate is still the right answer. More on that in Part 4. At Kawamura International, we’re building generative AI-driven business processes across the company. This verification focused on integrating LDX hub’s StructFlow (structured data extraction) into our “Minutes Assistant” Copilot Studio agent — automatically extracting the following from meeting transcripts: Tasks & action items (with assignee and due date) Decisions made Per-speaker summaries Next meeting agenda candidates User (pastes meeting transcript) ↓ Copilot Studio “Minutes Assistant” ↓ MCP tools/call (Streamable HTTP) LDX hub MCP Server (https://gw.ldxhub.io/mcp) ↓ createStructFlowJob StructFlow Engine (async job) ↓ getStructFlowJob (polling) Structured JSON result ↓ Copilot Studio formats and responds
Before touching Copilot Studio, verify that the LDX hub MCP endpoint meets the requirements. ⚠️ Important: SSE transport is deprecated after August 2025 Streamable HTTP only. Always verify the protocol before attempting a connection. Run this in PowerShell to check: $headers = @{ “Content-Type” = “application/json” “Accept” = “application/json, text/event-stream” “Authorization” = “Bearer YOUR_API_KEY” } $body = ’{“jsonrpc”:“2.0”,“id”:1,“method”:“initialize”,“params”:{“protocolVersion”:“2025-03-26”,“capabilities”:{},“clientInfo”:{“name”:“test”,“version”:“1.0”}}}’
$r = Invoke-WebRequest -UseBasicParsing -Uri "https://gw.ldxhub.io/mcp"
-Method POST -Headers $headers -Body $body
Write-Host “Status:” $r.StatusCode # → 200 Write-Host “Content-Type:” $r.Headers[“Content-Type”] # → application/json Write-Host “Body:” $r.Content # → protocolVersion: 2025-03-26, 26 tools
What to look for:
Check Expected Meaning
HTTP Status 200 Endpoint reachable
Content-Type application/json ✅ Streamable HTTP
protocolVersion 2025-03-26 ✅ Latest protocol
tools count 26 createStructFlowJob, getStructFlowJob, etc.
If you get HTTP 405 or 404, the server may only support the old SSE transport — which Copilot Studio no longer accepts. Agent settings → Generative AI → Select “Yes, use available tools and knowledge dynamically”. Without this, MCP tools will never be called — no matter what you configure. Agent → Tools tab → Add a tool → New MCP tool → Fill in the wizard:
Field Value
Server URL https://gw.ldxhub.io/mcp
Authentication API Key
API Key value
Bearer {your_api_key} ← include the prefix
Header name Authorization
Click “Not connected” dropdown → “Create new connection” → Enter the API key → “Create”. A green dot confirms a successful connection. ⚠️ The #1 gotcha: Bearer prefix Bearer, LDX hub returns a 403 error. Always enter Bearer {key}. In the agent’s overview tab, paste this into the Instructions field: You are an assistant that structures meeting minutes.
When the user provides meeting transcript text, always call the createStructFlowJob tool from LDX hub MCP test to extract:
- Tasks and action items (with assignee and due date)
- Decisions made
- Per-speaker summaries
- Next meeting agenda candidates
After creating the job, poll using getStructFlowJob until status is “completed”, then format and display the results.
Respond in Japanese using tables and lists for readability.
Note: You don’t need to manually specify system_prompt or example_output for StructFlow here — the agent’s LLM generates those automatically at runtime. We fed in a real sales team monthly review transcript (5 participants, ~600 characters in Japanese). Here’s what came back:
Category Count Quality
Tasks & action items 3 ✅ Assignees and deadlines accurate
Decisions 3 ✅ All correct
Per-speaker summaries 5 ✅ Roles and contributions reflected
Next agenda candidates 4 ✅ Inferred implicit items too
Confirmed MCP execution via activity log: createStructFlowJob and getStructFlowJob call records — confirming that StructFlow was actually invoked via MCP, not just processed by Copilot Studio’s internal LLM.
- Verify SSE vs Streamable HTTP before connecting initialize request first and confirm protocolVersion: 2025-03-26 in the response.
- API Key needs the Bearer prefix Bearer causes a 403 on the LDX hub side.
- Generative Orchestration must be on
- Verify actual MCP calls via the activity log
MCP REST API (Power Automate)
Setup time ~2 hours ~3 hours
Errors encountered 2 8
Middleware required None Power Automate flow
Best for Interactive, single-record Batch processing
20-file batch processing ❌ Not practical ✅ Right tool
For a single record in a chat interface, MCP is the simpler path. For batch processing 20 meeting minutes files from SharePoint — that’s Part 4. Part 4: Batch processing 20 meeting minutes files from SharePoint via Power Automate — building a cross-departmental management dashboard as the output. The MCP route works well for one record at a time. But when you need to process 20 Word files, extract structured data from each, and synthesize them into a single company-wide view, Power Automate is the right tool. That’s what we’re building next. Kawamura International LDX Lab — 2026.05.08