Skip to content

Add MCP server support for Consumption Logic Apps#8901

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

Add MCP server support for Consumption Logic Apps#8901
Bhavd13 wants to merge 32 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

mcp.recording.mp4

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 optionally expand the acronym on first mention, e.g. Add Model Context Protocol (MCP) server support for Consumption Logic Apps, if you prefer extra clarity for readers unfamiliar with MCP.

Commit Type

  • Properly selected (feature).
  • Note: Only one commit type is selected which is correct.

Risk Level

  • Assessment: The PR is labeled and documented as Medium risk and the label risk:medium is present on the PR. The scope of changes touches multiple libs, UI, and client services but is frontend-only and includes unit tests — Medium is appropriate.

What & Why

  • Current: 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 parity with Standard SKU.
  • Issue: None — concise and relevant.
  • Recommendation: (Optional) Add a short note listing the main functional user-facing changes (e.g., "built-in MCP connection type, new builtin MCP manifest, MCP dynamic list endpoint support") to make it easier for reviewers to connect description to diff at a glance.

Impact of Change

  • The PR describes Users, Developers, and System impacts.
  • Recommendation: Keep as-is. If possible, add a short bullet on whether any feature flags or rollout controls exist for this (if applicable).
    • Users: Consumption Logic Apps users can now add MCP Client connections and use MCP tool actions.
    • Developers: Adds consumption-specific MCP connector manifest, operation manifest, connection creation flow, and client services.
    • System: Frontend-only changes (no backend changes claimed). Confirm with the team if any backend contract changes were required (none found in the diff).

Test Plan

  • Assessment: The PR body claims unit tests were added/updated. The diff contains multiple new/updated unit test files under designer-client-services consumption tests and other test additions — this matches the claim.
  • Recommendation: Consider adding (or documenting why you skipped) E2E tests or manual test steps that validate the end-to-end behavior (for example: creating a built-in MCP connection, listing MCP tools via dynamic list, and creating workflows using the MCP tool). If E2E is not required, add a short explanation in the Test Plan describing why unit tests are sufficient for this change.

⚠️ Contributors

  • Current: @Bhavd13 listed as contributor.
  • Assessment: This is fine. If others (PMs, designers, reviewers) contributed, consider adding them to the Contributors section for credit.

⚠️ Screenshots/Videos

  • Assessment: No screenshots provided.
  • Recommendation: If there are visible UI changes (connection creation flow, connection panel behavior), consider adding screenshots or a short screen recording. If the change is entirely non-visual (internal manifest + client behavior), screenshots are optional.

Summary Table

Section Status Recommendation
Title Title is good; optional expansion of MCP acronym for clarity
Commit Type Correct (feature)
Risk Level risk:medium label matches the PR body and scope
What & Why Good; consider listing the main functional surface areas changed
Impact of Change Good; optionally note rollout/feature-flag info if any
Test Plan Unit tests present in diff — add E2E/manual test notes or rationale
Contributors ⚠️ OK, but add additional contributors if applicable
Screenshots/Videos ⚠️ Add if there are UI changes visible to users

Final notes / next steps

  • This PR passes the PR title/body template checks.
  • Advised risk level: risk:medium (matches submitter's selection). No escalation required.
  • Recommendations to improve reviewability before merge:
    1. In Test Plan, either add E2E tests or include a short justification for why unit tests are sufficient and document any manual test steps run.
    2. Add brief manual test steps to the Test Plan (e.g., create built-in MCP connection, verify listMcpTools returns expected values, confirm workflow payloads filter builtin MCP connections) to help reviewers validate behavior quickly.
    3. If the UX/flow changed visually (connection creation panel logic was modified), attach screenshots showing the new flow (especially the logic that hides the name input for built-in MCP on Consumption SKU).
    4. Consider adding a short migration/rollout note if consumers of manifests or connector ids need to be aware of any naming/compatibility considerations.

Please update the PR body with any of the optional clarifying items above (Test Plan manual steps or E2E plans, screenshots if UX changed) if you can — otherwise this is good to land from a PR description/template perspective. Thanks!


Last updated: Wed, 18 Mar 2026 15:17:01 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/designer-v2/src/lib/core/templates/utils/createhelper.ts - 10% covered (needs improvement)
⚠️ libs/designer/src/lib/core/actions/bjsworkflow/serializer.ts - 18% covered (needs improvement)
⚠️ libs/designer/src/lib/core/templates/utils/createhelper.ts - 10% covered (needs improvement)
⚠️ 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 - 65% 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