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
Always enable MCP Apps UI; remove remote_mcp_ui_apps flag gate
The remote_mcp_ui_apps flag is fully rolled out on the hosted server, but
the OSS server still defaulted it off. Make MCP Apps unconditional:
- _meta.ui is always emitted, stripped only when the client explicitly
does not advertise the io.modelcontextprotocol/ui capability
- ui_get is always registered
- write tools defer to MCP App forms by default (still opt-out via
mcp_apps_disable_form_deferral)
- remove MCPAppsFeatureFlag and its AllowedFeatureFlags/InsidersFeatureFlags
entries
- update tests and regenerate docs
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
-`assignees`: Usernames to assign to this issue (string[], optional)
112
-
-`body`: Issue body content (string, optional)
113
-
-`duplicate_of`: Issue number that this issue is a duplicate of. Required when state_reason is 'duplicate'. (number, optional)
114
-
-`issue_fields`: Issue field values to set or clear. Each item requires 'field_name' and exactly one of 'value', 'field_option_name', or 'delete: true'. (object[], optional)
115
-
-`issue_number`: Issue number to update (number, optional)
116
-
-`labels`: Labels to apply to this issue (string[], optional)
117
-
-`method`: Write operation to perform on a single issue.
118
-
Options are:
119
-
- 'create' - creates a new issue.
120
-
- 'update' - updates an existing issue.
121
-
(string, required)
122
-
-`milestone`: Milestone number (number, optional)
123
-
-`owner`: Repository owner (string, required)
124
-
-`parent_issue_number`: Issue number of the parent issue. Only used when method is 'create' and cannot be combined with issue_fields. The new issue is created and attached to this parent in the same operation. (number, optional)
125
-
-`parent_owner`: Repository owner of the parent issue. Must be provided with parent_repo. Omit both to use owner and repo. Only used when method is 'create' and parent_issue_number is provided. (string, optional)
126
-
-`parent_repo`: Repository name of the parent issue. Must be provided with parent_owner. Omit both to use owner and repo. Only used when method is 'create' and parent_issue_number is provided. (string, optional)
127
-
-`repo`: Repository name (string, required)
128
-
-`state`: New state (string, optional)
129
-
-`state_reason`: Reason for the state change. Ignored unless state is changed. (string, optional)
130
-
-`title`: Issue title (string, optional)
131
-
-`type`: Type of this issue. For updates, pass null to remove the current type. Only use if issue types are enabled for this repository. Use list_issue_types to get valid type values for this repository or its owner organization. If the repository doesn't support issue types, omit this parameter. (string | null, optional)
132
-
133
-
-**ui_get** - Get UI data
134
-
-**OAuth Challenge Scopes**: `repo`, `read:org`
135
-
-`method`: The type of data to fetch (string, required)
136
-
-`owner`: Repository owner (required for all methods) (string, required)
137
-
-`repo`: Repository name (required for labels, assignees, milestones, branches, issue fields, reviewers) (string, optional)
138
-
139
-
-**update_pull_request** - Edit pull request
140
-
-**OAuth Challenge Scopes**: `repo`
141
-
-**MCP App UI**: `ui://github-mcp-server/pr-edit`
142
-
-`base`: New base branch name (string, optional)
143
-
-`body`: New description (string, optional)
144
-
-`draft`: Mark pull request as draft (true) or ready for review (false) (boolean, optional)
-`assignees`: Usernames to assign to this issue (string[], optional)
52
-
-`body`: Issue body content (string, optional)
53
-
-`duplicate_of`: Issue number that this issue is a duplicate of. Required when state_reason is 'duplicate'. (number, optional)
54
-
-`issue_fields`: Issue field values to set or clear. Each item requires 'field_name' and exactly one of 'value', 'field_option_name', or 'delete: true'. (object[], optional)
55
-
-`issue_number`: Issue number to update (number, optional)
56
-
-`labels`: Labels to apply to this issue (string[], optional)
57
-
-`method`: Write operation to perform on a single issue.
58
-
Options are:
59
-
- 'create' - creates a new issue.
60
-
- 'update' - updates an existing issue.
61
-
(string, required)
62
-
-`milestone`: Milestone number (number, optional)
63
-
-`owner`: Repository owner (string, required)
64
-
-`parent_issue_number`: Issue number of the parent issue. Only used when method is 'create' and cannot be combined with issue_fields. The new issue is created and attached to this parent in the same operation. (number, optional)
65
-
-`parent_owner`: Repository owner of the parent issue. Must be provided with parent_repo. Omit both to use owner and repo. Only used when method is 'create' and parent_issue_number is provided. (string, optional)
66
-
-`parent_repo`: Repository name of the parent issue. Must be provided with parent_owner. Omit both to use owner and repo. Only used when method is 'create' and parent_issue_number is provided. (string, optional)
67
-
-`repo`: Repository name (string, required)
68
-
-`state`: New state (string, optional)
69
-
-`state_reason`: Reason for the state change. Ignored unless state is changed. (string, optional)
70
-
-`title`: Issue title (string, optional)
71
-
-`type`: Type of this issue. For updates, pass null to remove the current type. Only use if issue types are enabled for this repository. Use list_issue_types to get valid type values for this repository or its owner organization. If the repository doesn't support issue types, omit this parameter. (string | null, optional)
72
-
73
-
-**ui_get** - Get UI data
74
-
-**OAuth Challenge Scopes**: `repo`, `read:org`
75
-
-`method`: The type of data to fetch (string, required)
76
-
-`owner`: Repository owner (required for all methods) (string, required)
77
-
-`repo`: Repository name (required for labels, assignees, milestones, branches, issue fields, reviewers) (string, optional)
78
-
79
-
-**update_pull_request** - Edit pull request
80
-
-**OAuth Challenge Scopes**: `repo`
81
-
-**MCP App UI**: `ui://github-mcp-server/pr-edit`
82
-
-`base`: New base branch name (string, optional)
83
-
-`body`: New description (string, optional)
84
-
-`draft`: Mark pull request as draft (true) or ready for review (false) (boolean, optional)
-`pullNumber`: Pull request number to update (number, required)
88
-
-`repo`: Repository name (string, required)
89
-
-`reviewers`: GitHub usernames or ORG/team-slug team reviewers to request reviews from (string[], optional)
90
-
-`state`: New state (string, optional)
91
-
-`title`: New title (string, optional)
92
-
93
29
### `file_blame`
94
30
95
31
-**get_file_blame** - Get file blame information
@@ -139,31 +75,6 @@ The list below is generated from the Go source. It covers tool **inventory and s
139
75
140
76
---
141
77
142
-
## MCP Apps
143
-
144
-
[MCP Apps](https://modelcontextprotocol.io/docs/extensions/apps) is an extension to the Model Context Protocol that enables servers to deliver interactive user interfaces to end users. Instead of returning plain text that the LLM must interpret and relay, tools can render forms, profiles, and dashboards right in the chat using MCP Apps.
145
-
146
-
This means you can interact with GitHub visually: fill out forms to create issues, see user profiles with avatars, open pull requests — all without leaving your agent chat.
147
-
148
-
### Supported tools
149
-
150
-
The following tools have MCP Apps UIs:
151
-
152
-
| Tool | Description |
153
-
|------|-------------|
154
-
|`get_me`| Displays your GitHub user profile with avatar, bio, and stats in a rich card |
155
-
|`issue_write`| Opens an interactive form to create or update issues |
156
-
|`create_pull_request`| Provides a full PR creation form to create a pull request (or a draft pull request) |
157
-
158
-
### Client requirements
159
-
160
-
MCP Apps requires a host that supports the [MCP Apps extension](https://modelcontextprotocol.io/docs/extensions/apps). Currently tested and working with:
161
-
162
-
-**VS Code Insiders** — enable via the `chat.mcp.apps.enabled` setting
163
-
-**Visual Studio Code** — enable via the `chat.mcp.apps.enabled` setting
164
-
165
-
---
166
-
167
78
## CSV output for list tools
168
79
169
80
CSV output mode returns supported list tool responses as CSV instead of JSON. This is intended to reduce response context for agents when scanning or summarising lists of GitHub data.
Copy file name to clipboardExpand all lines: docs/server-configuration.md
+8-45Lines changed: 8 additions & 45 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -345,7 +345,7 @@ As an intentional exception, content authored by trusted bot accounts (currently
345
345
346
346
**Best for:** Users who want early access to experimental features and new tools before they reach general availability.
347
347
348
-
Insiders Mode unlocks experimental features, such as [MCP Apps](#mcp-apps) support. We created this mode to have a way to roll out experimental features and collect feedback. So if you are using Insiders, please don't hesitate to share your feedback with us! Features in Insiders Mode may change, evolve, or be removed based on user feedback.
348
+
Insiders Mode unlocks experimental features, such as [CSV output for list tools](./insiders-features.md#csv-output-for-list-tools). We created this mode to have a way to roll out experimental features and collect feedback. So if you are using Insiders, please don't hesitate to share your feedback with us! Features in Insiders Mode may change, evolve, or be removed based on user feedback.
@@ -402,18 +402,18 @@ See [Insiders Features](./insiders-features.md) for a full list of what's availa
402
402
403
403
[MCP Apps](https://modelcontextprotocol.io/docs/extensions/apps) is an extension to the Model Context Protocol that enables servers to deliver interactive user interfaces to end users. Instead of returning plain text that the LLM must interpret and relay, tools can render forms, profiles, and dashboards right in the chat.
404
404
405
-
MCP Apps is enabled by [Insiders Mode](#insiders-mode), or independently via the `remote_mcp_ui_apps` feature flag.
405
+
MCP Apps is enabled by default. Tools with MCP Apps UIs advertise them via `_meta.ui` to clients that support the [MCP Apps extension](https://modelcontextprotocol.io/docs/extensions/apps); the metadata is omitted for clients that do not advertise the `io.modelcontextprotocol/ui` capability.
406
406
407
407
To keep MCP App result views enabled while making write tools execute directly
408
-
instead of first opening an interactive form, also enable the
409
-
`mcp_apps_disable_form_deferral` feature flag. For the remote server, send both
410
-
flags in the request header:
408
+
instead of first opening an interactive form, enable the
409
+
`mcp_apps_disable_form_deferral` feature flag. For the remote server, send the
For the local server, pass both flags to `--features`.
416
+
For the local server, pass it to `--features`.
417
417
418
418
**Supported tools:**
419
419
@@ -422,47 +422,10 @@ For the local server, pass both flags to `--features`.
422
422
|`get_me`| Displays your GitHub user profile with avatar, bio, and stats in a rich card |
423
423
|`issue_write`| Opens an interactive form to create or update issues |
424
424
|`create_pull_request`| Provides a full PR creation form to create a pull request (or a draft pull request) |
425
+
|`update_pull_request`| Opens an interactive form to edit a pull request |
425
426
426
427
**Client requirements:** MCP Apps requires a host that supports the [MCP Apps extension](https://modelcontextprotocol.io/docs/extensions/apps). Currently tested with VS Code (`chat.mcp.apps.enabled` setting).
0 commit comments