Add MCP server support for Consumption Logic Apps#8901
Add MCP server support for Consumption Logic Apps#8901
Conversation
🤖 AI PR Validation ReportPR Review ResultsThank you for your submission! Here's detailed feedback on your PR title and body compliance:✅ PR Title
✅ Commit Type
✅ Risk Level
✅ What & Why
✅ Impact of Change
|
| Section | Status | Recommendation |
|---|---|---|
| Title | ✅ | Title is clear; optionally append "(frontend-only)" or SKU to highlight scope. |
| Commit Type | ✅ | feature selected — good. |
| Risk Level | ✅ | risk:medium selected and label present — OK. |
| What & Why | ✅ | Good concise explanation. |
| Impact of Change | ✅ | Good; consider adding a brief note on failure modes. |
| Test Plan | ✅ | Unit tests present. Add integration/E2E or a brief manual test plan for end-to-end validation. |
| Contributors | ✅ | Contributor listed. Consider adding any other contributors if applicable. |
| Screenshots/Videos | Optional for this change; add screenshots if UI changed significantly. |
Final notes / Actionable Recommendations
- Tests
- Good: Unit tests were added and appear to exercise the new ConsumptionConnectionService and ConsumptionConnectorService behaviors.
- Please add at least one integration/E2E test (or a short manual test checklist) that verifies an end-to-end scenario: add built-in MCP connection, call listMcpTools, and exercise an MCP tool action. This is important because the frontend is now composing requests to the backend with new shapes (AgentMcpConnection vs managed connection shapes) and authentication payloads.
- UI changes
- You modified CreateConnection to hide the name field for built-in MCP connections using
instanceof ConsumptionConnectionService. Consider adding a unit test for the CreateConnection component that validates the hide/show behavior for MCP connections, and ensure the instance check works in all runtime contexts (SSR/builds). Ifinstanceofproves brittle across bundles, prefer a capability check or a flag from the ConnectionService.
- You modified CreateConnection to hide the name field for built-in MCP connections using
- Security / auth handling
- You added logic to build authentication payloads for multiple auth types (ApiKey, Basic, ActiveDirectoryOAuth, ClientCertificate). Please ensure secrets/securestrings are handled consistent with current secure storage UX, and mention any new telemetry or logging that might accidentally surface secrets (I saw logs/traces used — confirm no secrets are logged).
- Documentation / changelog
- Consider adding a short CHANGELOG entry or docs note for visibility: how to configure MCP connections, supported auth types, and any UX differences from Standard SKU.
- Backwards compatibility
- Because you add new connector IDs and built-in connector manifests, verify any registration or gating logic that maps connector ids in lower case vs mixed case. Your code uses .toLowerCase() in some places — good for normalization; just be consistent.
- Labels
- The PR includes
risk:mediumandpr-validatedlabels — matches your body.
- The PR includes
Please update the PR with an integration/E2E test or a short manual test plan and consider the minor recommendations above. Once done, I expect this PR to be ready to merge.
Status: Passed. Advised risk level: risk:medium (matches the PR). Thank you for the thorough unit tests and clear PR body — nice work!
Last updated: Thu, 12 Mar 2026 09:35:51 GMT
There was a problem hiding this comment.
Pull request overview
Adds Consumption SKU support for MCP (Model Context Protocol) by introducing a consumption MCP connector + built-in operation manifest wiring, and updating the connection creation UI/service to recognize MCP connections.
Changes:
- Add consumption MCP connector + built-in MCP Client operation manifest and wire them into the consumption operation manifest service.
- Extend
ConsumptionConnectionServiceto recognize MCP connectors and create MCP connections. - Update Designer V2 create-connection panel behavior for consumption MCP connections and add unit tests for the new connection logic.
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| package.json | Tweaks lint-staged ESLint invocation to reduce ignored-file warnings. |
| libs/logic-apps-shared/src/designer-client-services/lib/consumption/operationmanifest.ts | Adds MCP built-in operation support (mcpclienttool → nativemcpclient) and returns the MCP operation manifest/operation metadata. |
| libs/logic-apps-shared/src/designer-client-services/lib/consumption/manifests/mcpclientconnector.ts | Introduces the consumption MCP connector manifest (auth parameter sets, metadata). |
| libs/logic-apps-shared/src/designer-client-services/lib/consumption/manifests/builtinmcpclient.ts | Adds the built-in MCP Client operation manifest including listMcpTools dynamic list for tool selection. |
| libs/logic-apps-shared/src/designer-client-services/lib/consumption/connection.ts | Adds MCP connector lookup and MCP-specific connection creation paths (built-in vs managed). |
| libs/logic-apps-shared/src/designer-client-services/lib/consumption/tests/connection.spec.ts | Adds unit tests for MCP connection creation helpers/paths. |
| libs/designer-v2/src/lib/ui/panel/connectionsPanel/createConnection/createConnection.tsx | Hides the “name” input for Consumption MCP connections via a runtime service check. |
libs/logic-apps-shared/src/designer-client-services/lib/consumption/connection.ts
Show resolved
Hide resolved
libs/logic-apps-shared/src/designer-client-services/lib/consumption/connection.ts
Outdated
Show resolved
Hide resolved
...logic-apps-shared/src/designer-client-services/lib/consumption/manifests/builtinmcpclient.ts
Show resolved
Hide resolved
libs/designer-v2/src/lib/ui/panel/connectionsPanel/createConnection/createConnection.tsx
Show resolved
Hide resolved
libs/logic-apps-shared/src/designer-client-services/lib/consumption/operationmanifest.ts
Show resolved
Hide resolved
📊 Coverage CheckThe following changed files need attention:
Please add tests for the uncovered files before merging. |
…cAppsUX into bhavya/mcpconsumption
Commit Type
Risk Level
What & Why
Adds MCP (Model Context Protocol) server support for Consumption Logic Apps. This enables consumption SKU workflows to connect to custom MCP servers and use MCP tools as actions, bringing feature parity with the Standard SKU's existing MCP support.
Impact of Change
Test Plan
Contributors
@Bhavd13
Screenshots/Videos
mcp.recording.mp4