Skip to content

Commit 5681735

Browse files
authored
[2025-07-02] Playwright and 3P custom instructions support for Copilot coding agent (#56444)
1 parent 58e7ab7 commit 5681735

File tree

2 files changed

+10
-26
lines changed

2 files changed

+10
-26
lines changed

content/copilot/how-tos/agents/copilot-coding-agent/best-practices-for-using-copilot-to-work-on-tasks.md

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -102,11 +102,12 @@ This is a Go based repository with a Ruby client for certain API endpoints. It i
102102
3. Use dependency injection patterns where appropriate
103103
4. Write unit tests for new functionality. Use table-driven unit tests when possible.
104104
5. Document public APIs and complex logic. Suggest changes to the `docs/` folder when appropriate
105-
```
105+
106+
If you choose not to include a `.github/copilot-instructions.md` file in your repository, {% data variables.product.prodname_copilot_short %} will fall back to pre-existing custom instructions including `CLAUDE.md`, `AGENTS.md` and `GEMINI.md`.
106107

107108
## Using the Model Context Protocol (MCP)
108109

109-
You can extend the capabilities of {% data variables.copilot.copilot_coding_agent %} by using MCP. This allows {% data variables.copilot.copilot_coding_agent %} to use tools provided by local MCP servers. The {% data variables.product.github %} MCP server is enabled by default. For more information, see [AUTOTITLE](/copilot/using-github-copilot/coding-agent/extending-copilot-coding-agent-with-mcp).
110+
You can extend the capabilities of {% data variables.copilot.copilot_coding_agent %} by using MCP. This allows {% data variables.copilot.copilot_coding_agent %} to use tools provided by local and remote MCP servers. The {% data variables.product.github %} MCP server and [Playwright MCP server](https://github.com/microsoft/playwright-mcp) are enabled by default. For more information, see [AUTOTITLE](/copilot/using-github-copilot/coding-agent/extending-copilot-coding-agent-with-mcp).
110111

111112
## Pre-installing dependencies in {% data variables.product.prodname_copilot %}'s environment
112113

@@ -117,7 +118,3 @@ If {% data variables.product.prodname_copilot_short %} is able to build, test an
117118
To do that, it will need your project's dependencies. {% data variables.product.prodname_copilot_short %} can discover and install these dependencies itself via a process of trial and error - but this can be slow and unreliable, given the non-deterministic nature of large language models (LLMs).
118119

119120
You can configure a `copilot-setup-steps.yml` file to pre-install these dependencies before the agent starts working so it can hit the ground running. For more information, see [AUTOTITLE](/copilot/customizing-copilot/customizing-the-development-environment-for-copilot-coding-agent#preinstalling-tools-or-dependencies-in-copilots-environment).
120-
121-
## Further reading
122-
123-
* **Hands-on practice**: Try the [Expand your team with {% data variables.copilot.copilot_coding_agent %}](https://github.com/skills/expand-your-team-with-copilot/) Skills course for practical experience with {% data variables.copilot.copilot_coding_agent %}.

content/copilot/how-tos/agents/copilot-coding-agent/extending-copilot-coding-agent-with-mcp.md

Lines changed: 7 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ redirect_from:
2222
2323
{% data reusables.copilot.coding-agent.mcp-brief-intro %}
2424

25-
The agent can use tools provided by local MCP servers. For example, the [Playwright MCP server](https://github.com/microsoft/playwright-mcp) provides tools to interact with web pages and pull in additional context when executing on the requested task. Some MCP servers are configured by default to provide the best experience for getting started.
25+
The agent can use tools provided by local MCP servers. Some MCP servers are configured by default to provide the best experience for getting started.
2626

2727
For more information on MCP, see [the official MCP documentation](https://modelcontextprotocol.io/introduction). For information on some of the currently available MCP servers, see [the MCP servers repository](https://github.com/modelcontextprotocol/servers/tree/main).
2828

@@ -37,6 +37,9 @@ The following MCP servers are configured automatically for {% data variables.cop
3737
* **{% data variables.product.github %}**: The {% data variables.product.github %} MCP server gives {% data variables.product.prodname_copilot_short %} access to {% data variables.product.github %} data like issues and pull requests. To learn more, see [AUTOTITLE](/copilot/customizing-copilot/using-model-context-protocol/using-the-github-mcp-server).
3838
* By default, the {% data variables.product.github %} MCP server connects to {% data variables.product.github %} using a specially scoped token that only has read-only access to the current repository. You can customize it to use a different token with broader access. For more details, see [Customizing the built-in {% data variables.product.github %} MCP server](#customizing-the-built-in-github-mcp-server) below.
3939

40+
* **Playwright**: The [Playwright MCP server](https://github.com/microsoft/playwright-mcp) gives {% data variables.product.prodname_copilot_short %} access to web pages, including the ability to read, interact and take screenshots.
41+
* By default, the Playwright MCP server is only able to access web resources hosted within {% data variables.product.prodname_copilot_short %}'s own environment, accessible on `localhost` or `127.0.0.1`.
42+
4043
## Setting up MCP servers in a repository
4144

4245
> [!WARNING]
@@ -50,7 +53,7 @@ Once MCP servers are configured for use within a repository, the tools specified
5053

5154
### Creating your JSON MCP configuration
5255

53-
You configure MCP servers using a special JSON format. The JSON must contain an `mcpServers` object, where the key is the name of the MCP server (for example, `playwright`), and the value is an object with the configuration for that MCP server.
56+
You configure MCP servers using a special JSON format. The JSON must contain an `mcpServers` object, where the key is the name of the MCP server (for example, `sentry`), and the value is an object with the configuration for that MCP server.
5457

5558
```json copy
5659
{
@@ -75,29 +78,13 @@ The configuration object can contain the following keys:
7578
* `command` (`string`): The command to run to start the MCP server.
7679
* `args` (`string[]`): The arguments to pass to the `command`.
7780
* `tools` (`string[]`): The tools from the MCP server to enable. You may be able to find a list of tools in the server's documentation, or in its code. We strongly recommend that you allowlist specific read-only tools, since the agent will be able to use these tools autonomously and will not ask you for approval first. You can also enable all tools by including `*` in the array.
78-
* `type` (`string`): Optional field. {% data variables.copilot.copilot_coding_agent %} only accepts `"local"`.
81+
* `type` (`string`): {% data variables.copilot.copilot_coding_agent %} only accepts `"local"`.
7982
* `env` (`object`): The environment variables to pass to the server. This object should map the name of the environment variable that should be exposed to your MCP server to either of the following:
8083
* The name of a {% data variables.product.prodname_actions %} secret you have configured, beginning with `COPILOT_MCP_`.
8184
* A string value.
8285

8386
### Example configurations
8487

85-
#### Example: Playwright
86-
87-
The [Playwright MCP server](https://github.com/microsoft/playwright-mcp) provides tools which allow {% data variables.product.prodname_copilot_short %} to browse the internet.
88-
89-
```json copy
90-
{
91-
"mcpServers": {
92-
"playwright": {
93-
"command": "docker",
94-
"args": ["run", "-i", "--rm", "--init", "mcp/playwright"],
95-
"tools": ["*"]
96-
}
97-
}
98-
}
99-
```
100-
10188
#### Example: Sentry
10289

10390
The [Sentry MCP server](https://github.com/getsentry/sentry-mcp) gives {% data variables.product.prodname_copilot_short %} authenticated access to exceptions recorded in [Sentry](https://sentry.io).
@@ -192,7 +179,7 @@ To use the Azure MCP with {% data variables.copilot.copilot_coding_agent %}, you
192179
1. In your repository’s {% data variables.product.prodname_copilot_short %} environment, add secrets for your `AZURE_CLIENT_ID`, `AZURE_TENANT_ID` and `AZURE_SUBSCRIPTION_ID`.
193180
1. Configure the Azure MCP server by adding an `azure` object to your MCP configuration.
194181

195-
```json copy
182+
```json copy
196183
{
197184
"mcpServers": {
198185
"Azure": {

0 commit comments

Comments
 (0)