Skip to content

Add MCP App form deferral opt-out#2921

Open
connor4312 wants to merge 1 commit into
mainfrom
copilot/disable-mcp-app-form-deferral
Open

Add MCP App form deferral opt-out#2921
connor4312 wants to merge 1 commit into
mainfrom
copilot/disable-mcp-app-form-deferral

Conversation

@connor4312

Copy link
Copy Markdown
Contributor

MCP Apps in the GitHub MCP Server are useful, but having issue and pull request tools open a form instead of performing the requested operation can be disruptive, especially in autopilot workflows where autonomous task completion is expected.

This adds the user-controllable mcp_apps_disable_form_deferral feature flag. When enabled alongside remote_mcp_ui_apps, form-backed write tools execute directly while MCP App result views and UI metadata remain enabled. HTTP clients can opt in per request through X-MCP-Features.

Testing

  • script/lint
  • script/test
  • Built and exercised the stdio MCP server through initialize, tools/list, and tools/call exchanges
  • Verified the baseline configuration defers issue_write to its interactive form
  • Verified the opt-out executes directly and preserves issue_write MCP App UI metadata

Allow clients to keep MCP App views enabled while making form-backed write tools execute directly when explicitly configured.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings July 21, 2026 18:01
@connor4312
connor4312 requested a review from a team as a code owner July 21, 2026 18:01

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Adds a user-controlled feature flag to bypass MCP App form deferral while preserving UI metadata and result views.

Changes:

  • Adds and documents mcp_apps_disable_form_deferral.
  • Applies the opt-out across form-backed issue and pull-request tools.
  • Tests feature resolution, HTTP headers, insiders mode, and deferral behavior.
Show a summary per file
File Description
pkg/http/server_test.go Tests HTTP-header and insiders behavior.
pkg/github/ui_capability.go Adds the form-deferral opt-out check.
pkg/github/ui_capability_test.go Tests deferral flag combinations.
pkg/github/feature_flags.go Defines and allows the new flag.
pkg/github/feature_flags_test.go Tests feature resolution behavior.
docs/server-configuration.md Documents remote and local configuration.

Review details

  • Files reviewed: 6/6 changed files
  • Comments generated: 0
  • Review effort level: Medium

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants