Skip to content

Hotfix/v0.2222#8919

Open
Bhavd13 wants to merge 10 commits intomainfrom
hotfix/v0.2222
Open

Hotfix/v0.2222#8919
Bhavd13 wants to merge 10 commits intomainfrom
hotfix/v0.2222

Conversation

@Bhavd13
Copy link
Contributor

@Bhavd13 Bhavd13 commented Mar 14, 2026

Commit Type

  • feature - New functionality
  • fix - Bug fix
  • refactor - Code restructuring without behavior change
  • perf - Performance improvement
  • docs - Documentation update
  • test - Test-related changes
  • chore - Maintenance/tooling

Risk Level

  • Low - Minor changes, limited scope
  • Medium - Moderate changes, some user impact
  • High - Major changes, significant user/system impact

What & Why

Impact of Change

  • Users:
  • Developers:
  • System:

Test Plan

  • Unit tests added/updated
  • E2E tests added/updated
  • Manual testing completed
  • Tested in:

Contributors

Screenshots/Videos

Copilot AI review requested due to automatic review settings March 14, 2026 09:40
@github-actions
Copy link

🤖 AI PR Validation Report

PR Review Results

Thank you for your submission! Here's detailed feedback on your PR title and body compliance:

PR Title

  • Current: Hotfix/v0.2222
  • Issue: The title is too generic and doesn't describe what changed. It also doesn't follow the repo's usual conventions (type/scope/short description). A title like this makes reviews and release notes harder to understand.
  • Recommendation: Use a concise, descriptive title describing the primary change. Examples:
    • feature(consumption): Add built-in MCP client connector and connection handling
    • fix(consumption): Hide name input for builtin MCP connections + add MCP connector manifests
    • Or, if this truly is a hotfix: hotfix(consumption): Fix MCP client connection creation for Consumption SKU

Commit Type

  • No commit type was selected in the PR body checklist.
  • Assessment: The diff adds new connector manifests, new connection creation logic (built-in & managed MCP connections), UI changes, and many unit tests — this reads as a feature/enhancement (or possibly a targeted fix depending on context). Please select exactly one commit type.
  • Recommendation: Choose one of the checklist options in the PR body. Based on the changes, I'd suggest:
    • feature — if you are adding MCP client support intentionally as new capability.
    • fix or hotfix — only if this is intended to correct a regression/bug.
      Example line to check: - [x] feature - New functionality

Risk Level

  • Assessment: No risk level was selected in the PR body and there are no risk labels on the PR. Every PR must have a risk label (risk:low / risk:medium / risk:high) and the selected checkbox in the PR body must match the label.
  • Recommendation: Based on the code diff (new connector manifest, connection creation code, UI changes, and new dynamic behavior), I advise: risk:medium.
    • Add the GitHub label risk:medium to this PR.
    • In the PR body check the corresponding box: - [x] Medium - Moderate changes, some user impact
      Note: If you believe this change has broad production impact (affecting many users or security-sensitive logic), consider risk:high instead and document justification.

What & Why

  • Current: (Missing)
  • Issue: The PR body does not include a description of what was changed and why. Reviewers need a brief context summary.
  • Recommendation: Add a short explanation (2–4 sentences) that maps to the code changes. Example you can paste:
    • What: Add built-in MCP client connector and operation manifest; add handling to create built-in and managed MCP connections for Consumption SKU; update CreateConnection UI to hide name input for built-in MCP connections; add unit tests for new behavior.
    • Why: Support MCP-hosted AI capabilities and provide a native connector shape for built-in MCP connections so users can call MCP tools without requiring managed connections in ApiHub.

⚠️ Impact of Change

  • Issue: The Impact section is empty.
  • Recommendation: Fill impact of change with clear bullets. Based on the diff, suggest the following text (edit as needed):
    • Users: Added MCP Client (MCP) connector; behavior for some connection flows will change (built-in MCP connections will not require entering a connection display name, and dynamic lists for MCP tools will be available).
    • Developers: New manifests and services (mcpclientconnector, builtinMcpClientManifest). New code paths in ConsumptionConnectionService and ConsumptionConnectorService. Reviewers should pay attention to connection creation and dynamic-list handling.
    • System: May affect API Hub connection creation flows and dynamic list calls (listMcpTools). Ensure backend contract for listMcpTools is correct and secure.

Test Plan

  • Assessment: The diff includes many new unit test files under libs/.../tests (connection.spec.ts, connector.spec.ts, operationmanifest additions). The PR body did not mark tests.
  • Recommendation: Update the Test Plan checklist in the PR body and check the boxes that apply. At minimum:
    • - [x] Unit tests added/updated (because new tests exist)
    • - [ ] E2E tests added/updated (if you have E2E coverage add this)
    • - [x] Manual testing completed (if you performed manual verification add details)
      Also add a short note listing test files and/or scenarios covered (e.g., unit tests for ConsumptionConnectionService & ConsumptionConnectorService covering built-in and managed MCP connections and dynamic lists).

⚠️ Contributors

  • Assessment: Empty.
  • Recommendation: Add names/handles for team members who contributed (PMs, designers, reviewers). If none to add, include a short comment noting that contributors are not specified.

⚠️ Screenshots/Videos

  • Assessment: Not applicable for backend/manifest changes. If UI behavior changed (CreateConnection name input hidden for certain connectors), consider adding a before/after screenshot or short GIF of the connection UI when using a built-in MCP connector. This is optional but helpful.

Summary Table

Section Status Recommendation
Title Use descriptive title (see examples above)
Commit Type Select exactly one commit type (likely feature)
Risk Level Add risk:medium label and check the matching box
What & Why Provide brief What & Why mapping to diff
Impact of Change ⚠️ Add Users/Developers/System bullets (see suggested text)
Test Plan ✅ (but unchecked) Mark unit tests as added and provide brief coverage summary
Contributors ⚠️ Add contributors or note none
Screenshots/Videos ⚠️ Optional: provide UI screenshots for CreateConnection changes

Notes about risk/advised level:

  • I recommend risk:medium for this PR. The change introduces new connection types and creation flows (built-in vs managed MCP), manifest additions, and UI logic changes. This impacts connection behavior and dynamic API calls. If this will be deployed to production where many customers rely on connection semantics, consider risk:high and add additional validation and possibly an RFC.

Concrete next steps to get this PR approved:

  1. Update the PR title to a descriptive, conventional title (examples above).
  2. In the PR body: select exactly one Commit Type checkbox. Based on the changes pick feature (or fix if this is a hotfix).
  3. Select a Risk Level checkbox and add the matching GitHub label (add risk:medium). Ensure PR labels include risk:medium.
  4. Fill in the What & Why section with the short summary provided above.
  5. Fill Impact of Change with the suggested bullets or adapted text.
  6. Update the Test Plan: check Unit tests added/updated and add a short list of new test files (e.g., libs/logic-apps-shared/.../tests/connection.spec.ts and connector.spec.ts), and optionally state if manual/E2E tests were run.
  7. Add contributors (optional) and screenshots (optional) if applicable.
  8. Re-run CI and ensure unit tests pass. If you intend this to be a hotfix, explain why these changes are staged as hotfix rather than a feature release.

Please update the PR title/body and labels with the items above and re-submit for a quick re-check. Thank you for the thorough implementation and the unit tests — once the PR metadata is updated this can move forward more quickly.


Last updated: Sat, 14 Mar 2026 09:41:02 GMT

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds Consumption-SKU support for an MCP Client built-in connector/tool by wiring a new connector + operation manifest and enabling MCP tool discovery (dynamic list) and connection creation UX behaviors.

Changes:

  • Add Consumption MCP Client connector and built-in operation manifest, plus Consumption operation-manifest routing for McpClientTool.
  • Extend Consumption connector/connection services to support MCP connections and listMcpTools dynamic values.
  • Update Create Connection panels (v1/v2) and Standalone Consumption host options to enable/adjust MCP Client behavior; add unit tests.

Reviewed changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
libs/logic-apps-shared/src/designer-client-services/lib/consumption/operationmanifest.ts Adds MCP Client built-in connector registration + operation info/manifest handling for mcpclienttool.
libs/logic-apps-shared/src/designer-client-services/lib/consumption/manifests/mcpclientconnector.ts Introduces the Consumption MCP Client connector definition (auth parameter sets, metadata).
libs/logic-apps-shared/src/designer-client-services/lib/consumption/manifests/builtinmcpclient.ts Adds built-in MCP Client operation manifest with dynamic list for tools.
libs/logic-apps-shared/src/designer-client-services/lib/consumption/connector.ts Adds Consumption-side listMcpTools POST flow and MCP auth payload construction.
libs/logic-apps-shared/src/designer-client-services/lib/consumption/connection.ts Adds Consumption MCP connection creation paths (built-in + managed) and connector lookup.
libs/logic-apps-shared/src/designer-client-services/lib/consumption/tests/operationmanifest.spec.ts Tests MCP operation info/support/manifest behaviors.
libs/logic-apps-shared/src/designer-client-services/lib/consumption/tests/connector.spec.ts Tests Consumption MCP listMcpTools request shape and auth building.
libs/logic-apps-shared/src/designer-client-services/lib/consumption/tests/connection.spec.ts Tests built-in MCP connection creation + auth extraction helpers.
libs/designer/src/lib/ui/panel/connectionsPanel/createConnection/createConnection.tsx Hides connection name input for Consumption MCP Client connections.
libs/designer-v2/src/lib/ui/panel/connectionsPanel/createConnection/createConnection.tsx Same Create Connection UX adjustment for v2 panel.
apps/Standalone/src/designer/app/AzureLogicAppsDesigner/laDesignerConsumption.tsx Enables mcpClientToolEnabled in standalone Consumption host options.

Comment on lines +199 to +206
displayName: 'Client secret',
constraints: {
required: 'true',
propertyPath: ['authentication'],
dependentParameter: {
parameter: 'CredentialType',
value: 'Secret',
},
Comment on lines +274 to +279
{
name: 'Key',
parameters: {
serverUrl: {
type: 'string',
uiDefinition: {
Comment on lines +230 to +256
private _buildMcpAuthentication(connectionProperties: Record<string, any>): Record<string, any> | undefined {
const authType = connectionProperties['authenticationType'];
if (!authType || authType === 'None') {
return undefined;
}

const authentication: Record<string, any> = { type: authType };
if (authType === 'ApiKey') {
authentication['value'] = connectionProperties['key'];
authentication['name'] = connectionProperties['keyHeaderName'];
authentication['in'] = 'header';
} else if (authType === 'Basic') {
authentication['username'] = connectionProperties['username'];
authentication['password'] = connectionProperties['password'];
} else if (authType === 'ActiveDirectoryOAuth') {
authentication['tenant'] = connectionProperties['tenant'];
authentication['clientId'] = connectionProperties['clientId'];
authentication['secret'] = connectionProperties['secret'];
authentication['authority'] = connectionProperties['authority'];
authentication['audience'] = connectionProperties['audience'];
} else if (authType === 'ClientCertificate') {
authentication['pfx'] = connectionProperties['pfx'];
authentication['password'] = connectionProperties['password'];
}

return authentication;
}
Comment on lines +75 to +82
serverUrl: { value: 'https://mcp-server.example.com' },
},
connectionParametersSet: {
name: 'ApiKey',
values: {
key: { value: 'test-api-key' },
},
},
displayName: 'Test MCP Server',
parameterValues: {
mcpServerUrl: 'https://mcp.example.com',
authenticationType: 'ApiKey',
@github-actions
Copy link

📊 Coverage Check

The following changed files need attention:

⚠️ libs/logic-apps-shared/src/designer-client-services/lib/consumption/connection.ts - 42% covered (needs improvement)
⚠️ libs/logic-apps-shared/src/designer-client-services/lib/consumption/connector.ts - 66% covered (needs improvement)
⚠️ libs/logic-apps-shared/src/designer-client-services/lib/consumption/operationmanifest.ts - 76% covered (needs improvement)
⚠️ libs/designer-v2/src/lib/ui/panel/connectionsPanel/createConnection/createConnection.tsx - 69% covered (needs improvement)
⚠️ libs/designer/src/lib/ui/panel/connectionsPanel/createConnection/createConnection.tsx - 69% covered (needs improvement)

Please add tests for the uncovered files before merging.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants