Skip to content

Commit 509c458

Browse files
authored
Merge pull request #14201 from MicrosoftDocs/repo_sync_working_branch
Confirm merge from repo_sync_working_branch to main to sync with https://github.com/MicrosoftDocs/visualstudio-docs (branch main)
2 parents 45cc2ea + 2c35458 commit 509c458

File tree

3 files changed

+13
-34
lines changed

3 files changed

+13
-34
lines changed

docs/ide/mcp-servers.md

Lines changed: 11 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ monikerRange: '>= vs-2022'
1616
Model Context Protocol (MCP) is an open standard that enables AI models to interact with external tools and services through a unified interface. In Visual Studio, MCP support enhances GitHub Copilot's agent mode by allowing you to connect any MCP-compatible server to your agentic coding workflow. This article guides you through setting up MCP servers and using tools with agent mode in Visual Studio.
1717

1818
## Prerequisites
19-
+ [Visual Studio 2022 version 17.14](/visualstudio/releases/2022/release-history) or later.
19+
+ [Visual Studio 2022 version 17.14](/visualstudio/releases/2022/release-history) or later. The latest servicing release of 17.14 is highly recommended as MCP features are actively being added with each release.
2020

2121
## How do MCP and Visual Studio extend GitHub Copilot's agent?
2222

@@ -30,54 +30,33 @@ By standardizing this interaction, MCP eliminates the need for custom integratio
3030

3131
## Configuration example with GitHub MCP server
3232

33-
1. Create a new file: `<SOLUTIONDIR>\.mcp.json`. Using Visual Studio to edit this file is recommended so its JSON schema is automatically applied.
33+
The following walkthrough requires 17.14.9 or later.
34+
35+
1. Create a new file: `<SOLUTIONDIR>\.mcp.json` or `%USERPROFILE%\.mcp.json`. Using Visual Studio to edit this file is recommended so its JSON schema is automatically applied.
3436
2. Paste the following contents into the `.mcp.json` file
3537

3638
```json
3739
{
38-
"inputs": [
39-
{
40-
"id": "github_pat",
41-
"description": "GitHub personal access token",
42-
"type": "promptString",
43-
"password": true
44-
}
45-
],
4640
"servers": {
4741
"github": {
48-
"type": "stdio",
49-
"command": "docker",
50-
"args": [
51-
"run",
52-
"-i",
53-
"--rm",
54-
"-e",
55-
"GITHUB_PERSONAL_ACCESS_TOKEN",
56-
"ghcr.io/github/github-mcp-server"
57-
],
58-
"env": {
59-
"GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github_pat}"
60-
}
42+
"url": "https://api.githubcopilot.com/mcp/"
6143
}
6244
}
6345
}
6446
```
6547

66-
3. Get a Personal Access Token for your [GitHub Account](https://github.com/settings/personal-access-tokens)
67-
4. In Visual Studio, click the `Ask` dropdown in the GitHub Copilot Chat window, and then select `Agent`.
48+
3. Save the file, then activate the CodeLens that appears over the new server to authenticate to this server using a GitHub account.
6849

69-
:::image type="content" source="media/vs-2022/copilot-agent-mode/copilot-agent-dropdown.png" alt-text="Screenshot that shows Copilot agent mode selector." lightbox="media/vs-2022/copilot-agent-mode/copilot-agent-dropdown.png":::
50+
5. In Visual Studio, click the `Ask` dropdown in the GitHub Copilot Chat window, and then select `Agent`.
7051

71-
5. When prompted, paste your personal access token into the dialog.
72-
73-
:::image type="content" source="media/vs-2022/mcp-servers/model-context-protocol-personal-access-token.png" alt-text="Screenshot that shows entering the personal access token." lightbox="media/vs-2022/mcp-servers/model-context-protocol-personal-access-token.png":::
52+
:::image type="content" source="media/vs-2022/copilot-agent-mode/copilot-agent-dropdown.png" alt-text="Screenshot that shows Copilot agent mode selector." lightbox="media/vs-2022/copilot-agent-mode/copilot-agent-dropdown.png":::
7453

75-
6. Select the tools you'd like to use, for example, `list_issues`
54+
7. Select the tools you'd like to use, for example, `list_issues`
7655

7756
:::image type="content" source="media/vs-2022/mcp-servers/model-context-protocol-github-tools-list.png" alt-text="Screenshot that shows MCP GitHub tools." lightbox="media/vs-2022/mcp-servers/model-context-protocol-github-tools-list.png":::
7857

79-
7. Try a sample prompt: `list issues assigned to me on GitHub`
80-
8. Copilot asks for permission to use a tool made available to it by the MCP server, select **Allow** with the scope you wish to proceed with.
58+
8. Try a sample prompt: `list issues assigned to me on GitHub`
59+
9. Copilot asks for permission to use a tool made available to it by the MCP server, select **Allow** with the scope you wish to proceed with.
8160

8261
:::image type="content" source="media/vs-2022/copilot-agent-mode/copilot-agent-tool-approval.png" alt-text="Screenshot that shows the agent tools confirmation options." lightbox="media/vs-2022/copilot-agent-mode/copilot-agent-tool-approval.png":::
8362

docs/msbuild/customize-by-directory.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ A summary of MSBuild's general approach is as follows:
126126
- For any given project, MSBuild finds the first *Directory.Build.props* upward in the solution structure, merges it with defaults, and stops scanning for more.
127127
- If you want multiple levels to be found and merged, then [`<Import...>`](../msbuild/property-functions.md#msbuild-getpathoffileabove) (shown previously) the "outer" file from the "inner" file.
128128
- If the "outer" file doesn't itself also import something above it, then scanning stops there.
129-
- Only do this if the uupper level file actual exists
129+
- Only do this if the outer file actually exists
130130

131131
Or more simply: the first *Directory.Build.props* that doesn't import anything is where MSBuild stops.
132132

docs/snippets/cpp/VS_Snippets_Misc/wrl-media-capture/cpp/grayscaletransform/grayscaletransform.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1387,7 +1387,7 @@ HRESULT CGrayscale::ProcessOutput(
13871387

13881388
// Create a partial media type from our list.
13891389
//
1390-
// dwTypeIndex: Index into the list of peferred media types.
1390+
// dwTypeIndex: Index into the list of preferred media types.
13911391
// ppmt: Receives a pointer to the media type.
13921392

13931393
HRESULT CGrayscale::OnGetPartialType(DWORD dwTypeIndex, IMFMediaType **ppmt)

0 commit comments

Comments
 (0)