fix(MCP): Fix ManagedServiceIdentity auth for Consumption MCP connections (v5.961)#9209
fix(MCP): Fix ManagedServiceIdentity auth for Consumption MCP connections (v5.961)#9209rllyy97 wants to merge 1 commit into
Conversation
…9205) Align Consumption connector with Standard for MCP connections: - Managed MCP path: build connectionProperties with MSI auth and user-assigned identity from WorkflowService().getAppIdentity() - Built-in MCP _buildMcpAuthentication: add WorkflowService fallback for identity when not in parameterValues - Remove debug console.log statements - Update tests with WorkflowService mock initialization
🤖 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
✅ Test Plan
|
| Section | Status | Recommendation |
|---|---|---|
| Title | ✅ | No change needed |
| Commit Type | ✅ | No change needed |
| Risk Level | ✅ | No change needed |
| What & Why | ✅ | No change needed |
| Impact of Change | ✅ | No change needed |
| Test Plan | ✅ | No change needed |
| Contributors | Optional: add contributors if applicable | |
| Screenshots/Videos | ✅ | No change needed |
Overall: this PR passes review for title/body compliance. The advised risk level is Medium and matches the submitter's selection.
Last updated: Fri, 22 May 2026 02:46:25 GMT
🤖 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
|
| Section | Status | Recommendation |
|---|---|---|
| Title | ✅ | |
| Commit Type | ✅ | |
| Risk Level | ✅ | |
| What & Why | ✅ | |
| Impact of Change | ✅ | |
| Test Plan | ✅ | Mention the specific unit-test coverage if desired |
| Contributors | Optional; add only if you want to credit collaborators | |
| Screenshots/Videos | ✅ |
Overall: this PR passes. The body is compliant, the selected risk level matches the scope of the diff, and the unit test updates back the test-plan checkbox. The advised risk level remains medium, which matches the submitter's estimate.
Last updated: Fri, 22 May 2026 02:42:43 GMT
📊 Coverage CheckThe following changed files need attention:
Please add tests for the uncovered files before merging. |
There was a problem hiding this comment.
Pull request overview
Fixes Consumption-SKU MCP listMcpTools requests for Managed Service Identity (MSI) authentication by ensuring the user-assigned managed identity (UAMI) resource ID is included when required (aligning behavior with the Standard connector’s approach of deriving identity from WorkflowService().getAppIdentity()).
Changes:
- Consumption MCP
listMcpToolsrequest building now derives UAMI fromWorkflowService().getAppIdentity()and includes it in MSI authentication payloads. - Managed MCP connection path now adds
connectionProperties.authenticationin the request (previously only referenced{ connection: { id } }). - Consumption connector unit tests updated to initialize
WorkflowServiceto support the new identity-derivation behavior.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| libs/logic-apps-shared/src/designer-client-services/lib/consumption/connector.ts | Adds workflow-identity-derived UAMI support for MSI in Consumption MCP listMcpTools payload construction. |
| libs/logic-apps-shared/src/designer-client-services/lib/consumption/tests/connector.spec.ts | Updates Consumption connector tests to initialize WorkflowService for MCP scenarios and validates managed MCP request shape. |
Commit Type
Risk Level
What & Why
Fixes #9205 — MCP connections using ManagedServiceIdentity auth in Consumption SKU are missing the
identityfield in thelistMcpToolsAPI request, causing failures for user-assigned managed identity scenarios.The Consumption connector's MCP handling had two gaps compared to the Standard connector:
{ connection: { id } }withoutconnectionPropertiesor authentication info, so the backend had no identity context._buildMcpAuthenticationonly read identity fromconnectionProperties['identity'](which is never populated by the MCP manifest), with no fallback to the workflow's managed identity configuration.This PR aligns Consumption with Standard by calling
WorkflowService().getAppIdentity()to derive the user-assigned identity resource ID in both paths.Impact of Change
listMcpToolsrequest, unblocking tool discovery.WorkflowServiceandResourceIdentityTypeare now imported in the Consumption connector service.WorkflowService().getAppIdentity()which is already available in all host environments.Test Plan
Updated
connector.spec.tswithInitWorkflowServicemock for managed MCP and_buildMcpAuthenticationMSI test blocks. All 68 tests pass (38 Consumption + 30 Standard).Contributors
Screenshots/Videos
N/A — no visual changes.