Skip to content

Add MCP server support for Consumption Logic Apps#8901

Open
Bhavd13 wants to merge 10 commits intomainfrom
bhavya/mcpconsumption
Open

Add MCP server support for Consumption Logic Apps#8901
Bhavd13 wants to merge 10 commits intomainfrom
bhavya/mcpconsumption

Conversation

@Bhavd13
Copy link
Contributor

@Bhavd13 Bhavd13 commented Mar 9, 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

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

  • Users: Consumption Logic Apps users can now add MCP Client connections (custom servers with 7 auth types) and use MCP tool actions in their workflows.
  • Developers: New consumption-specific MCP connector manifest, operation manifest, and connection creation flow. Follows existing patterns from Standard MCP implementation.
  • System: No backend changes — frontend only

Test Plan

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

Contributors

@Bhavd13

Screenshots/Videos

Copilot AI review requested due to automatic review settings March 9, 2026 08:32
@github-actions
Copy link

github-actions bot commented Mar 9, 2026

🤖 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: Add MCP server support for Consumption Logic Apps
  • Issue: None — title is clear and descriptive.
  • Recommendation: (Optional) You could add a short scope prefix when appropriate, e.g. consumption: Add MCP server support for Consumption Logic Apps, but the current title is already high quality.

Commit Type

  • Properly selected (feature)
  • Only one commit type was selected, which is correct.

Risk Level

  • The PR is labeled risk:medium and the PR body selects Medium.
  • Assessment: The code diff contains substantial frontend additions (new manifests, new connector/connection logic, and ~1.5k additions across multiple files) and modifies connection creation flows and dynamic list behaviors. Medium risk is appropriate given the scope and the potential to affect many connection flows.

What & Why

  • Current: Adds MCP (Model Context Protocol) server support for Consumption Logic Apps. Enables consumption SKU workflows to connect to custom MCP servers and use MCP tools as actions, aligning with Standard SKU MCP support.
  • Issue: None — succinct and sufficient.
  • Recommendation: (Optional) You may add 1–2 sentences about the main user scenarios to make reviewers confident about the intended usage (e.g., whether MCP tooling is expected to be configurable per-workflow or per-connection). You already mention "frontend only", which is helpful.

Impact of Change

  • Impact section is present and clear (Users, Developers, System).
  • Recommendation: Consider adding a short list of specific files/modules touched (e.g., consumption connection & connector services, operation manifests, built-in mcp client manifest, new unit tests) to help maintainers quickly map changes to code areas.
    • Users: Consumption Logic Apps users can now add MCP Client connections and use MCP tool actions.
    • Developers: New consumption-specific MCP connector manifest, operation manifest, and connection creation flow; new/changed services under designer-client-services/lib/consumption.
    • System: Frontend-only changes (per PR), no backend contract changes called out.

⚠️ Test Plan

  • Assessment: The PR body indicates Unit tests were added/updated, and the code diff indeed includes new unit test files under libs/logic-apps-shared/src/designer-client-services/lib/consumption/tests (connection.spec.ts, connector.spec.ts, operationmanifest.spec.ts). Good.
  • Recommendation: Because this feature integrates with dynamic lists and connection flows that call management APIs via httpClient, consider adding an E2E or integration test (or explain why not) to exercise the listMcpTools flow end-to-end (native/built-in vs managed connection shapes). If adding E2E is not feasible in this PR, include a line under Test Plan explaining why and when E2E will be covered.

Contributors

  • @Bhavd13 is credited in the PR body.
  • Recommendation: If PMs/Designers contributed, mention them too. Otherwise this is fine.

⚠️ Screenshots/Videos

  • Assessment: Not applicable (no UI visuals that strictly require screenshots). The change is primarily behavior and connector/manifest related. If the designer UI shows new controls for MCP connection types, consider adding a screenshot of the connection dialog for reviewers, but this is optional.

Summary Table

Section Status Recommendation
Title Keep as-is or optionally add a short scope prefix
Commit Type None
Risk Level None (advised risk = Medium)
What & Why Optionally expand with short user scenarios
Impact of Change Consider listing key touched modules/files
Test Plan Add/clarify E2E/integration testing plan
Contributors Optionally list PMs/Designers if applicable
Screenshots/Videos ⚠️ Optional: screenshot of connection UI if helpful

Summary / Next Steps
This PR follows the required PR body template and includes unit tests for the new consumption MCP logic. The provided risk label (risk:medium) matches the scope of the changes and the code diff, so no change to the risk label is required.

Recommendations to improve reviewer confidence before merging:

  • Add a short note in the Test Plan explaining whether/when E2E or integration tests will be added for the listMcpTools flow (native vs managed connection shapes). If E2E is intentionally omitted, explain why.
  • Optionally list the primary files/modules touched in the Impact of Change to help reviewers locate the main changes quickly (e.g., libs/logic-apps-shared/src/designer-client-services/lib/consumption/{connection.ts, connector.ts, operationmanifest.ts, manifests/*}, new tests under tests).
  • (Optional) Add a screenshot showing the connection creation UI for the MCP connection types if you made visible UI changes to the connection dialog; otherwise you can ignore.

Please update the PR body only if you want to add the optional clarifications above; otherwise this PR is good to proceed from a title/body compliance perspective. Thank you for the thorough PR and the included unit tests!


Last updated: Wed, 11 Mar 2026 10:28:52 GMT

@Bhavd13 Bhavd13 added risk:medium Medium risk change with potential impact and removed needs-pr-update labels Mar 9, 2026
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 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 ConsumptionConnectionService to 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 (mcpclienttoolnativemcpclient) 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.

@github-actions
Copy link

github-actions bot commented Mar 9, 2026

📊 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

Labels

pr-validated risk:medium Medium risk change with potential impact

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants