You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-`show_ui`: Whether to render the MCP App form instead of executing the request immediately. Defaults to true. Set to false to skip the form and execute directly — useful when you have all required values (especially ones the form does not collect, like reviewers) and the user has already confirmed the action. (boolean, optional, conditional — only visible to clients that advertise MCP App UI support)
-`show_ui`: Whether to render the MCP App form instead of executing the request immediately. Defaults to true. Set to false to skip the form and execute directly — useful when you have all required values (especially ones the form does not collect, like reviewers) and the user has already confirmed the action. (boolean, optional, conditional — only visible to clients that advertise MCP App UI support)
Copy file name to clipboardExpand all lines: pkg/github/__toolsnaps__/create_pull_request.snap
+4Lines changed: 4 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -42,6 +42,10 @@
42
42
"description": "Repository name",
43
43
"type": "string"
44
44
},
45
+
"show_ui": {
46
+
"description": "Whether to render the MCP App form instead of executing the request immediately. Defaults to true. Set to false to skip the form and execute directly — useful when you have all required values (especially ones the form does not collect, like reviewers) and the user has already confirmed the action.",
Copy file name to clipboardExpand all lines: pkg/github/__toolsnaps__/issue_write.snap
+4Lines changed: 4 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -96,6 +96,10 @@
96
96
"description": "Repository name",
97
97
"type": "string"
98
98
},
99
+
"show_ui": {
100
+
"description": "Whether to render the MCP App form instead of executing the request immediately. Defaults to true. Set to false to skip the form and execute directly — useful when you have all required values (especially ones the form does not collect, like labels, assignees, milestone, type, or state changes) and the user has already confirmed the action.",
Copy file name to clipboardExpand all lines: pkg/github/issues.go
+23-5Lines changed: 23 additions & 5 deletions
Original file line number
Diff line number
Diff line change
@@ -1644,6 +1644,7 @@ var issueWriteFormParams = map[string]struct{}{
1644
1644
"title": {},
1645
1645
"body": {},
1646
1646
"issue_number": {},
1647
+
"show_ui": {},
1647
1648
"_ui_submitted": {},
1648
1649
}
1649
1650
@@ -1784,6 +1785,17 @@ Options are:
1784
1785
Required: []string{"field_name"},
1785
1786
},
1786
1787
},
1788
+
// show_ui is hidden from clients that do not advertise MCP App
1789
+
// UI support. The strip happens per-request in
1790
+
// inventory.ToolsForRegistration; it is present in the static
1791
+
// schema (and therefore in toolsnaps and the feature-flag /
1792
+
// insiders docs) so the UI-capable surface is fully
1793
+
// documented. It is intentionally not in the main README,
1794
+
// which renders the stripped (non-UI) schema.
1795
+
"show_ui": {
1796
+
Type: "boolean",
1797
+
Description: "Whether to render the MCP App form instead of executing the request immediately. Defaults to true. Set to false to skip the form and execute directly — useful when you have all required values (especially ones the form does not collect, like labels, assignees, milestone, type, issue_fields, or state changes) and the user has already confirmed the action.",
1798
+
},
1787
1799
},
1788
1800
Required: []string{"method", "owner", "repo"},
1789
1801
},
@@ -1805,13 +1817,19 @@ Options are:
1805
1817
}
1806
1818
1807
1819
// When MCP Apps are enabled and the client supports UI, route the
1808
-
// call to the interactive form unless it is itself a form submission
1809
-
// (the UI sends _ui_submitted=true) or it carries parameters the form
1810
-
// cannot represent (e.g. labels, assignees or issue_fields). Those
1811
-
// must be applied directly so their values aren't silently dropped.
1820
+
// call to the interactive form unless:
1821
+
// - it is itself a form submission (the UI sends _ui_submitted=true),
1822
+
// - the caller explicitly asked to skip the UI (show_ui=false), or
1823
+
// - it carries parameters the form cannot represent (e.g. labels,
1824
+
// assignees or issue_fields). Those must be applied directly so
// show_ui is hidden from clients that do not advertise MCP App
675
+
// UI support. The strip happens per-request in
676
+
// inventory.ToolsForRegistration; it is present in the static
677
+
// schema (and therefore in toolsnaps and the feature-flag /
678
+
// insiders docs) so the UI-capable surface is fully
679
+
// documented. It is intentionally not in the main README,
680
+
// which renders the stripped (non-UI) schema.
681
+
"show_ui": {
682
+
Type: "boolean",
683
+
Description: "Whether to render the MCP App form instead of executing the request immediately. Defaults to true. Set to false to skip the form and execute directly — useful when you have all required values (especially ones the form does not collect, like reviewers) and the user has already confirmed the action.",
returnutils.NewToolResultText(fmt.Sprintf("Ready to create a pull request in %s/%s. IMPORTANT: The PR has NOT been created yet. Do NOT tell the user the PR was created. The user MUST click Submit in the form to create it.", owner, repo)), nil, nil
0 commit comments