Skip to content

Add MCP server support for Consumption Logic Apps#8901

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

Add MCP server support for Consumption Logic Apps#8901
Bhavd13 wants to merge 22 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: Title is clear and concise. No required changes.
  • Recommendation: (optional) Consider making the scope explicit for quicker triage, e.g. Add MCP server support for Consumption Logic Apps (frontend: built-in & managed MCP client, manifests, serializer, connection services, unit tests) if you want more context in list/board views.

Commit Type

  • Properly selected (feature).
  • Only one commit type selected which is correct for this work.

Risk Level

  • The PR body marks this as Medium and the repository label risk:medium is present.
  • Advised risk from code diff: risk:medium — this matches the PR label. The change touches multiple frontend subsystems (serialization, connection services, manifests, connector/operation manifest resolution) but includes substantial unit test coverage which lowers confidence.

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 feature parity with the Standard SKU's existing MCP support."
  • Issue: None — clear and brief.
  • Recommendation: (optional) Add a short note calling out that this is frontend-only and that legacy/stale built-in MCP pseudo-IDs are explicitly stripped on save (you already implemented this in ConsumptionSerializationHelpers) so reviewers know why the serialization guard exists.

Impact of Change

  • The Impact section is present and explains Users/Developers/System effects.
  • Recommendation: Slightly expand Developer section to call out the major code areas changed for reviewers (serializer changes, new built-in MCP operation serialization, consumption connection/connector services, new manifests & unit tests). Example lines to add:
    • Users: Consumption Logic Apps users can add MCP Client connections and use MCP tool actions.
    • Developers: Changed serialization to ignore built-in MCP connectionReferences, added built-in MCP operation serialization, new consumption connection & connector services and manifests, added unit tests for new flows.
    • System: Frontend-only changes; no backend/API contract changes.

Test Plan

  • Test Plan states unit tests added/updated and the diff contains many new/updated unit tests under designer-client-services and libs — this satisfies the assertion.
  • Recommendation: Consider adding (or calling out planned) E2E/manual verification steps for the connection creation flow and listMcpTools dynamic list behavior (e.g., verify built-in vs managed MCP connections behave as expected in the running designer). If E2E is not feasible right now, add a brief justification in the Test Plan explaining why unit tests + manual verification are sufficient.

Contributors

  • Contributors section lists @Bhavd13. Good. If others (PM/Design/QA) contributed, include them — not required for pass.

⚠️ Screenshots/Videos

  • A link is provided in the PR body. If visuals are important for manual verification, ensure the linked attachments are accessible and include short notes describing what is shown.

Summary Table

Section Status Recommendation
Title Optional: expand scope in title for clarity
Commit Type None
Risk Level None (advised: risk:medium)
What & Why Optional: note serialization guard justification
Impact of Change Minor expansion suggested for Developers section
Test Plan Consider adding/mentioning E2E or manual steps
Contributors None
Screenshots/Videos ⚠️ Ensure attachments are accessible & described

Final notes:

  • The PR body follows the required template and includes unit tests, and the repo labels match the declared risk level. I recommend adding a short Test Plan line describing manual verification (how to create a built-in MCP connection, how to confirm listMcpTools works) or a note explaining why E2E tests are deferred. Also consider adding one sentence in the What & Why about the defensive serialization guard (stripping built-in MCP pseudo-IDs) so reviewers understand that intent from the PR description alone.

Please update only if you want to include the optional clarifications; otherwise this PR body passes the required checks. Thank you for the thorough tests and detailed PR body!


Last updated: Tue, 17 Mar 2026 07:53:58 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 completed. See workflow run for details.

@Bhavd13 Bhavd13 deployed to E2ETesting March 17, 2026 07:58 — with GitHub Actions Active
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