(fix): Show managed identity picker for custom MCP connector connection creation#9199
(fix): Show managed identity picker for custom MCP connector connection creation#9199Bhavd13 wants to merge 5 commits into
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
✅ Test Plan
✅ Contributors
✅ Screenshots/Videos
Summary Table
This PR passes review for title/body compliance. The advised risk level matches the submitter’s assessment, so no escalation is needed.Last updated: Fri, 22 May 2026 19:02:43 GMT |
There was a problem hiding this comment.
Pull request overview
This PR fixes connection creation UX for managed (custom) MCP connectors by ensuring authentication options appear—especially Managed Identity—when the connector metadata either hides MI parameters or omits connectionParameterSets.
Changes:
- Add fallback MCP
connectionParameterSets(None/Basic/Key/Managed Identity) for managed MCP servers when the connector response doesn’t provide auth parameter sets. - Introduce
connectionParameterSetsOverrideonCreateConnectionInternalto allow callers to supply fallback auth options. - Update
CreateConnectionto detect multi-auth parameter sets that include amanagedIdentity-typed parameter and render a Managed Identity picker for that case.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 6 comments.
| File | Description |
|---|---|
| libs/designer-v2/src/lib/ui/panel/recommendation/browse/mcpToolWizard.tsx | Adds fallback MCP auth parameter sets and passes them into connection creation for managed MCP servers. |
| libs/designer-v2/src/lib/ui/panel/connectionsPanel/createConnection/createConnectionInternal.tsx | Adds an optional override prop and uses it when connector auth parameter sets are missing. |
| libs/designer-v2/src/lib/ui/panel/connectionsPanel/createConnection/createConnection.tsx | Detects MI multi-auth sets and renders the MI picker + passes selected identity through on submit. |
📊 Coverage CheckThe following changed files need attention:
Please add tests for the uncovered files before merging. |
|
@preetriti1 Mind reviewing this when you get a chance please? |
❌ PR Validation ErrorAn error occurred while validating your PR. Please try again later or contact the maintainers. Error: Unexpected token '`', "```json |
|
The Authentication Type input is getting removed from UI after Managed Identity is selected, why is that? Shouldn't we allow user to change the auth type? |
preetriti1
left a comment
There was a problem hiding this comment.
Can you please check why the auth dropdown is missing after selecting MI
@preetriti1
|
So the way I have made changes is that, if a custom template is not deployed in the mcp custom connector, then it will ask users to connect and will provide all the auth options as shown. This will be a fallback method. Incase they have a template defined and auth selected (which is the use case for ICM team) then they dont need to select auth type here again and fill in the params. The schema is shared by Rama so if you have any questions related to that, I can add you to the group too. |
| const isMultiAuthManagedIdentitySet = useMemo(() => { | ||
| if (!isMultiAuth) { | ||
| return false; | ||
| } | ||
| return Object.values(multiAuthParams).some( | ||
| (param) => | ||
| param.type === ConnectionParameterTypes.managedIdentity || | ||
| equals(param.uiDefinition?.constraints?.default, 'managedserviceidentity') | ||
| ); | ||
| }, [isMultiAuth, multiAuthParams]); | ||
|
|
There was a problem hiding this comment.
See, you are no where checking anything specific to mcp custom template scenario but a generic check if the parameter managedIdentity is set...
Are you sure this is not true in other cases like legacyMultiAuth and also other connectors like serviceProviders/managed apis where user has selected managed identity.? because then you might be breaking those scnearios to show the extra input in connection creation.
preetriti1
left a comment
There was a problem hiding this comment.
I do have some concerns but dont want to block this PR
Commit Type
Risk Level
What & Why
Custom MCP connectors with managed identity auth show no authentication options when creating a connection. Users only see a connection name field with no identity picker.
Root cause:
CreateConnectioncomponent explicitly hides parameters of typemanagedIdentity. When the connector's only parameter set (e.g., oauthMI) uses this type, all parameters are hidden — leaving an empty form.Fix:
Detect when the selected multi-auth parameter set contains a
managedIdentitytype parameterRender the managed identity picker for that case
Add fallback MCP auth parameter sets (None, Basic, Key, MI) for custom connectors missing
connectionParameterSetsImpact of Change
connectionParameterSetsOverrideprop onCreateConnectionInternal(designer-v2)Test Plan
oauthMImanaged identity parameter set.The fix adds conditional rendering of an existing component based on a new boolean flag; the component itself is already tested, and the behavior is validated through manual E2E testing with a real custom MCP connector.
Contributors
@Bhavd13
Screenshots/Videos
This is the default behaviour which will appear when user will select a custom mcp server. They will have to select the auth type and fill in the details
This is the behaviour when a custom deployed MCP with auth defined as MI is used. This is the use case for ICM team
