Skip to content

Commit b6302d1

Browse files
saritaiCopilotsubatoi
authored
MCP support in GA for JetBrains, Eclipse, and XCode + OAuth remote GitHub server support (#57123)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Ben Ahmady <32935794+subatoi@users.noreply.github.com>
1 parent 1f86a1d commit b6302d1

17 files changed

+142
-51
lines changed

content/copilot/concepts/about-mcp.md

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,7 @@ topics:
1010
contentType: concepts
1111
---
1212

13-
>[!NOTE]
14-
> * MCP support is generally available (GA) in {% data variables.copilot.copilot_chat_short %} for {% data variables.product.prodname_vscode %}.
15-
> * MCP support for {% data variables.product.prodname_copilot_short %} in {% data variables.product.prodname_vs %}, JetBrains, Eclipse, and Xcode is in {% data variables.release-phases.public_preview %} and is subject to change.
16-
> * The [AUTOTITLE](/free-pro-team@latest/site-policy/github-terms/github-pre-release-license-terms) apply only to {% data variables.product.prodname_copilot_short %} in IDEs where MCP support is still in preview. GA terms apply when using MCP for {% data variables.product.prodname_copilot_short %} in {% data variables.product.prodname_vscode %}.
13+
{% data reusables.copilot.mcp-availability-and-preview-note %}
1714

1815
## Overview of Model Context Protocol (MCP)
1916

content/copilot/how-tos/administer-copilot/manage-for-organization/manage-policies.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,7 @@ contentType: how-tos
4040
* Click **Models** to edit the policies that control availability of models beyond the basic models provided with {% data variables.product.prodname_copilot_short %}, which may incur additional costs.
4141
1. For each policy you want to configure, click the dropdown menu and select an enforcement option.
4242

43-
> [!NOTE]
44-
> The **MCP servers in {% data variables.product.prodname_copilot_short %}** policy controls use where MCP server support is generally available (GA). In features where MCP support is in preview, for example {% data variables.product.prodname_copilot_short %} editors, availability is controlled by the **Editor preview features** policy.
43+
{% data reusables.copilot.mcp-servers-policy-note %}
4544

4645
## Opting in to to previews or feedback
4746

content/copilot/how-tos/provide-context/use-mcp/extend-copilot-chat-with-mcp.md

Lines changed: 38 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -17,26 +17,23 @@ redirect_from:
1717
contentType: how-tos
1818
---
1919

20-
>[!NOTE]
21-
> * MCP support is generally available (GA) in {% data variables.copilot.copilot_chat_short %} for {% data variables.product.prodname_vscode %}.
22-
> * MCP support for {% data variables.product.prodname_copilot_short %} in {% data variables.product.prodname_vs %}, JetBrains, Eclipse, and Xcode is in {% data variables.release-phases.public_preview %} and is subject to change.
23-
> * The [AUTOTITLE](/free-pro-team@latest/site-policy/github-terms/github-pre-release-license-terms) apply only to {% data variables.product.prodname_copilot_short %} in IDEs where MCP support is still in preview. GA terms apply when using MCP for {% data variables.product.prodname_copilot_short %} in {% data variables.product.prodname_vscode %}.
20+
{% data reusables.copilot.mcp-availability-and-preview-note %}
2421

2522
## Introduction
2623

2724
The Model Context Protocol (MCP) is an open standard that defines how applications share context with large language models (LLMs). For an overview of MCP, see [AUTOTITLE](/copilot/concepts/about-mcp).
2825

2926
For information on currently available MCP servers, see [the MCP servers repository](https://github.com/modelcontextprotocol/servers/tree/main).
3027

31-
{% vscode %}
32-
3328
{% data reusables.copilot.mcp.mcp-policy %}
3429

30+
{% vscode %}
31+
3532
## Prerequisites
3633

3734
* **Access to {% data variables.product.prodname_copilot_short %}**. {% data reusables.copilot.subscription-prerequisite %}
3835
* **{% data variables.product.prodname_vscode %} version 1.99 or later**. For information on installing {% data variables.product.prodname_vscode %}, see the [{% data variables.product.prodname_vscode %} download page](https://code.visualstudio.com/Download).
39-
* If you are a member of an organization or enterprise with a {% data variables.copilot.copilot_business_short %} or {% data variables.copilot.copilot_enterprise_short %} plan, the "MCP servers in Copilot" policy must be enabled in order to use MCP.
36+
* {% data reusables.copilot.mcp-policy-requirement %}
4037

4138
## Configuring MCP servers in {% data variables.product.prodname_vscode %}
4239

@@ -132,17 +129,22 @@ If you already have an MCP configuration in Claude Desktop, you can use that con
132129
* **A compatible JetBrains IDE**. {% data variables.product.prodname_copilot %} is compatible with the following IDEs:
133130

134131
{% data reusables.copilot.jetbrains-compatible-ides %}
132+
* {% data reusables.copilot.mcp-policy-requirement %}
135133

136134
## Configuring MCP servers in JetBrains IDEs
137135

138-
1. In the lower right corner, click **{% octicon "copilot" aria-hidden="true" aria-label="copilot" %}**.
139-
1. From the menu, select "Edit settings."
140-
1. Under the MCP section, click "Edit in `mcp.json`."
141-
1. Define your MCP servers. You can use the following configuration as an example:
136+
{% data reusables.copilot.jetbrains-mcp-setup-steps %}
137+
1. In the `mcp.json` file, define your MCP servers. JetBrains IDEs support both remote and local servers. Remote servers are hosted externally for easier setup and sharing, while local servers run on your local machine and can access local resources.
142138

143-
{% data reusables.copilot.mcp-chat-json-snippet-for-other-ides %}
139+
You can use the following configurations as examples:
144140

145-
Alternatively, to access the MCP settings, once you're in "Agent Mode," click the tools icon, then click **Add more tools**.
141+
### Remote server configuration example with PAT
142+
143+
{% data reusables.copilot.mcp-chat-json-snippet-for-other-ides-remote %}
144+
145+
### Local server configuration example
146+
147+
{% data reusables.copilot.mcp-chat-json-snippet-for-other-ides-local %}
146148

147149
{% endjetbrains %}
148150

@@ -152,15 +154,22 @@ Alternatively, to access the MCP settings, once you're in "Agent Mode," click th
152154

153155
* **Access to {% data variables.product.prodname_copilot_short %}**. {% data reusables.copilot.subscription-prerequisite %}
154156
* **{% data variables.product.prodname_copilot %} for Xcode extension**. See [AUTOTITLE](/copilot/configuring-github-copilot/installing-the-github-copilot-extension-in-your-environment).
157+
* {% data reusables.copilot.mcp-policy-requirement %}
155158

156159
## Configuring MCP servers in Xcode
157160

158-
1. Open the {% data variables.product.prodname_copilot %} for Xcode extension.
159-
1. In agent mode, click the tools icon.
160-
1. Select "Edit config."
161-
1. Define your MCP servers, editing `mcp.json`. You can use the following configuration as an example:
161+
{% data reusables.copilot.xcode-mcp-setup-steps %}
162+
1. Define your MCP servers, editing `mcp.json`. Xcode supports both remote and local servers. Remote servers are hosted externally for easier setup and sharing, while local servers run on your local machine and can access local resources.
163+
164+
You can use the following configurations as examples:
162165

163-
{% data reusables.copilot.mcp-chat-json-snippet-for-other-ides %}
166+
### Remote server configuration example with PAT
167+
168+
{% data reusables.copilot.mcp-chat-json-snippet-for-other-ides-remote %}
169+
170+
### Local server configuration example
171+
172+
{% data reusables.copilot.mcp-chat-json-snippet-for-other-ides-local %}
164173

165174
{% endxcode %}
166175

@@ -172,12 +181,18 @@ Alternatively, to access the MCP settings, once you're in "Agent Mode," click th
172181

173182
## Configuring MCP servers in Eclipse
174183

175-
1. To open the {% data variables.copilot.copilot_chat_short %} panel, click the {% data variables.product.prodname_copilot_short %} icon ({% octicon "copilot" aria-hidden="true" aria-label="copilot" %}) in the status bar at the bottom of Eclipse.
176-
1. From the menu, select "Edit preferences."
177-
1. In the left pane, expand {% data variables.copilot.copilot_chat_short %} and click **MCP**.
178-
1. Define your MCP servers. You can use the following configuration as an example:
184+
{% data reusables.copilot.eclipse-mcp-setup-steps %}
185+
1. Under "Server Configurations", define your MCP servers. Eclipse supports both remote and local servers. Remote servers are hosted externally for easier setup and sharing, while local servers run on your local machine and can access local resources.
186+
187+
You can use the following configurations as examples:
188+
189+
### Remote server configuration example with PAT
190+
191+
{% data reusables.copilot.mcp-chat-json-snippet-for-other-ides-remote %}
192+
193+
### Local server configuration example
179194

180-
{% data reusables.copilot.mcp-chat-json-snippet-for-other-ides %}
195+
{% data reusables.copilot.mcp-chat-json-snippet-for-other-ides-local %}
181196

182197
{% endeclipse %}
183198

content/copilot/how-tos/provide-context/use-mcp/use-the-github-mcp-server.md

Lines changed: 52 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,10 @@ contentType: how-tos
1616
---
1717

1818
>[!NOTE]
19-
> The remote {% data variables.product.github %} MCP server is currently in {% data variables.release-phases.public_preview %} and subject to change; use of the {% data variables.product.github %} MCP server locally is generally available (GA).
20-
>
21-
> While in {% data variables.release-phases.public_preview %}, access to the remote {% data variables.product.github %} MCP server through OAuth in {% data variables.product.prodname_copilot_short %} is governed by the {% data variables.product.prodname_copilot_short %} **Editor preview features** policy at the organization or enterprise level. PAT access to the server is managed by PAT policies.
19+
> * The remote {% data variables.product.github %} MCP server is currently in {% data variables.release-phases.public_preview %} and subject to change; use of the {% data variables.product.github %} MCP server locally is generally available (GA).
20+
> * MCP support is generally available (GA) in {% data variables.product.prodname_copilot_short %} for {% data variables.product.prodname_vscode %}, JetBrains, Eclipse, and Xcode.
21+
> * The **MCP servers in {% data variables.product.prodname_copilot_short %}** policy for enterprises and organizations, disabled by default, controls use of MCP where MCP server support is generally available (GA).
22+
> * While in {% data variables.release-phases.public_preview %}, access to the remote {% data variables.product.github %} MCP server through OAuth in {% data variables.product.prodname_copilot_short %} is governed by the {% data variables.product.prodname_copilot_short %} **Editor preview features** policy at the organization or enterprise level. PAT access to the server is managed by PAT policies.
2223
2324
{% vscode %}
2425

@@ -28,6 +29,7 @@ contentType: how-tos
2829

2930
* A {% data variables.product.github %} account.
3031
* {% data variables.product.prodname_vscode %}, or another MCP-compatible editor.
32+
* {% data reusables.copilot.mcp-policy-requirement %}
3133

3234
## Setting up the {% data variables.product.github %} MCP server in {% data variables.product.prodname_vscode %}
3335

@@ -220,26 +222,37 @@ The {% data variables.product.github %} MCP server enables you to perform a wide
220222

221223
{% data reusables.copilot.jetbrains-compatible-ides %}
222224
{% data reusables.copilot.jetbrains-plugin-prerequisites %}
225+
* {% data reusables.copilot.mcp-policy-requirement %}
223226

224227
## Setting up the {% data variables.product.github %} MCP server in JetBrains IDEs
225228

226229
The instructions below guide you through setting up the {% data variables.product.github %} MCP server in JetBrains IDEs. Other MCP-compatible editors may have similar steps, but the exact process may vary.
227230

228-
We recommend setting up the {% data variables.product.github %} MCP server remotely. JetBrains IDEs only support using a {% data variables.product.pat_generic %} (PAT) for authentication with the {% data variables.product.github %} MCP server.
231+
We recommend setting up the {% data variables.product.github %} MCP server remotely. The remote {% data variables.product.github %} MCP server uses one-click OAuth authentication by default, but you can also manually configure it to use a {% data variables.product.pat_generic %} (PAT) for authentication. If you use OAuth, the MCP server will have the same access as your {% data variables.product.github %} account. If you use a PAT, the MCP server will have access to the scopes granted by the PAT.
229232

230233
> [!NOTE]
231234
> If you are an {% data variables.product.prodname_emu %} with PAT restrictions, you won't be able to use PAT authentication.
232235

233236
For information on setting up the {% data variables.product.github %} MCP server locally, see the [GitHub MCP server repository](https://github.com/github/github-mcp-server#usage-in-other-mcp-hosts-1).
234237

238+
### Remote MCP server configuration with OAuth
239+
240+
You do not need to create a PAT or install any additional software to use the remote {% data variables.product.github %} MCP server with OAuth. You can set it up directly in JetBrains IDEs.
241+
242+
{% data reusables.copilot.jetbrains-mcp-setup-steps %}
243+
1. In the `mcp.json` file, add the following configuration:
244+
245+
{% data reusables.copilot.github-mcp-oauth-config-other-ides %}
246+
247+
1. In the "{% data variables.product.prodname_copilot %}" popup that says the "MCP server definition wants to authenticate to {% data variables.product.github %}, click **Allow**.
248+
1. If you have not yet authorized the {% data variables.product.prodname_copilot %} plugin, in the browser popup, click **Continue** next to your personal account.
249+
235250
### Remote MCP server configuration with PAT
236251

237252
To configure the remote {% data variables.product.github %} MCP server with a PAT, ensure you have created a PAT with the necessary scopes for the access you want to grant to the MCP server. For more information, see [AUTOTITLE](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token).
238253

239-
1. In the lower right corner, click **{% octicon "copilot" aria-hidden="true" aria-label="copilot" %}**.
240-
1. From the menu, select "Edit settings".
241-
1. Under the MCP section, click "Edit in `mcp.json`".
242-
1. Add the following configuration, replacing `YOUR_GITHUB_PAT` with the PAT you created:
254+
{% data reusables.copilot.jetbrains-mcp-setup-steps %}
255+
1. In the `mcp.json` file, add the following configuration, replacing `YOUR_GITHUB_PAT` with the PAT you created:
243256

244257
```json copy
245258
{
@@ -282,25 +295,36 @@ The {% data variables.product.github %} MCP server enables you to perform a wide
282295

283296
* **Access to {% data variables.product.prodname_copilot_short %}**. {% data reusables.copilot.subscription-prerequisite %}
284297
* **{% data variables.product.prodname_copilot %} for Xcode extension**. See [AUTOTITLE](/copilot/configuring-github-copilot/installing-the-github-copilot-extension-in-your-environment).
298+
* {% data reusables.copilot.mcp-policy-requirement %}
285299

286300
## Setting up the {% data variables.product.github %} MCP server in Xcode
287301

288302
The instructions below guide you through setting up the {% data variables.product.github %} MCP server in Xcode. Other MCP-compatible editors may have similar steps, but the exact process may vary.
289303

290-
We recommend setting up the {% data variables.product.github %} MCP server remotely. Xcode only supports using a {% data variables.product.pat_generic %} (PAT) for authentication with the {% data variables.product.github %} MCP server.
304+
We recommend setting up the {% data variables.product.github %} MCP server remotely. The remote {% data variables.product.github %} MCP server uses one-click OAuth authentication by default, but you can also manually configure it to use a {% data variables.product.pat_generic %} (PAT) for authentication. If you use OAuth, the MCP server will have the same access as your {% data variables.product.github %} account. If you use a PAT, the MCP server will have access to the scopes granted by the PAT.
291305

292306
> [!NOTE]
293307
> If you are an {% data variables.product.prodname_emu %} with PAT restrictions, you won't be able to use PAT authentication.
294308
295309
For information on setting up the {% data variables.product.github %} MCP server locally, see the [GitHub MCP server repository](https://github.com/github/github-mcp-server#usage-in-other-mcp-hosts-1).
296310

311+
### Remote MCP server configuration with OAuth
312+
313+
You do not need to create a PAT or install any additional software to use the remote {% data variables.product.github %} MCP server with OAuth. You can set it up directly in Xcode.
314+
315+
{% data reusables.copilot.xcode-mcp-setup-steps %}
316+
1. Add the following configuration:
317+
318+
{% data reusables.copilot.github-mcp-oauth-config-other-ides %}
319+
320+
1. In the "{% data variables.product.prodname_copilot %}" popup that says the "MCP Server Definition wants to authenticate to {% data variables.product.github %}", click **Continue**.
321+
1. If you have not yet authorized the {% data variables.product.prodname_copilot %} plugin, in the browser popup, click **Continue** next to your personal account.
322+
297323
### Remote MCP server configuration with PAT
298324

299325
To configure the remote {% data variables.product.github %} MCP server with a PAT, ensure you have created a PAT with the necessary scopes for the access you want to grant to the MCP server. For more information, see [AUTOTITLE](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token).
300326

301-
1. Open the {% data variables.product.prodname_copilot %} for Xcode extension.
302-
1. In agent mode, click the tools icon.
303-
1. Select "Edit config".
327+
{% data reusables.copilot.xcode-mcp-setup-steps %}
304328
1. Add the following configuration, replacing `YOUR_GITHUB_PAT` with the PAT you created:
305329

306330
```json copy
@@ -348,21 +372,32 @@ The {% data variables.product.github %} MCP server enables you to perform a wide
348372

349373
The instructions below guide you through setting up the {% data variables.product.github %} MCP server in Eclipse. Other MCP-compatible editors may have similar steps, but the exact process may vary.
350374

351-
We recommend setting up the {% data variables.product.github %} MCP server remotely. Eclipse only supports using a {% data variables.product.pat_generic %} (PAT) for authentication with the {% data variables.product.github %} MCP server.
375+
We recommend setting up the {% data variables.product.github %} MCP server remotely. The remote {% data variables.product.github %} MCP server uses one-click OAuth authentication by default, but you can also manually configure it to use a {% data variables.product.pat_generic %} (PAT) for authentication. If you use OAuth, the MCP server will have the same access as your {% data variables.product.github %} account. If you use a PAT, the MCP server will have access to the scopes granted by the PAT.
352376

353377
> [!NOTE]
354378
> If you are an {% data variables.product.prodname_emu %} with PAT restrictions, you won't be able to use PAT authentication.
355379
356380
For information on setting up the {% data variables.product.github %} MCP server locally, see the [GitHub MCP server repository](https://github.com/github/github-mcp-server#usage-in-other-mcp-hosts-1).
357381

382+
### Remote MCP server configuration with OAuth
383+
384+
You do not need to create a PAT or install any additional software to use the remote {% data variables.product.github %} MCP server with OAuth. You can set it up directly in Eclipse.
385+
386+
{% data reusables.copilot.eclipse-mcp-setup-steps %}
387+
1. Add the following configuration under "Server Configurations":
388+
389+
{% data reusables.copilot.github-mcp-oauth-config-other-ides %}
390+
391+
1. Click **Apply**.
392+
1. In the "{% data variables.product.prodname_copilot %}" popup that says the "MCP Server Definition wants to authenticate to {% data variables.product.github %}", click **OK**.
393+
1. If you have not yet authorized the {% data variables.product.prodname_copilot %} plugin, in the browser popup, click **Continue** next to your personal account.
394+
358395
### Remote MCP server configuration with PAT
359396

360397
To configure the remote {% data variables.product.github %} MCP server with a PAT, ensure you have created a PAT with the necessary scopes for the access you want to grant to the MCP server. For more information, see [AUTOTITLE](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token).
361398

362-
1. To open the {% data variables.copilot.copilot_chat_short %} panel, click the {% data variables.product.prodname_copilot_short %} icon ({% octicon "copilot" aria-hidden="true" aria-label="copilot" %}) in the status bar at the bottom of Eclipse.
363-
1. From the menu, select "Edit preferences".
364-
1. In the left pane, expand {% data variables.product.prodname_copilot %} and click **MCP**.
365-
1. Add the following configuration, replacing `YOUR_GITHUB_PAT` with the PAT you created:
399+
{% data reusables.copilot.eclipse-mcp-setup-steps %}
400+
1. Add the following configuration under "Server Configurations", replacing `YOUR_GITHUB_PAT` with the PAT you created:
366401

367402
```json copy
368403
{

0 commit comments

Comments
 (0)