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
@@ -80,6 +80,7 @@ Alternatively, to manually configure VS Code, choose the appropriate JSON block
80
80
</table>
81
81
82
82
### Install in other MCP hosts
83
+
83
84
-**[GitHub Copilot in other IDEs](/docs/installation-guides/install-other-copilot-ides.md)** - Installation for JetBrains, Visual Studio, Eclipse, and Xcode with GitHub Copilot
84
85
-**[Claude Applications](/docs/installation-guides/install-claude.md)** - Installation guide for Claude Desktop and Claude Code CLI
85
86
-**[Codex](/docs/installation-guides/install-codex.md)** - Installation guide for Open AI Codex
@@ -97,13 +98,57 @@ See [Remote Server Documentation](docs/remote-server.md) for full details on rem
97
98
98
99
When no toolsets are specified, [default toolsets](#default-toolset) are used.
99
100
101
+
#### Insiders Mode
102
+
103
+
> **Try new features early!** The remote server offers an insiders version with early access to new features and experimental tools.
See [Remote Server Documentation](docs/remote-server.md#insiders-mode) for more details and examples.
143
+
100
144
#### GitHub Enterprise
101
145
102
146
##### GitHub Enterprise Cloud with data residency (ghe.com)
103
147
104
148
GitHub Enterprise Cloud can also make use of the remote server.
105
149
106
150
Example for `https://octocorp.ghe.com` with GitHub PAT token:
151
+
107
152
```
108
153
{
109
154
...
@@ -140,24 +185,30 @@ The MCP server can use many of the GitHub APIs, so enable the permissions that y
140
185
<details><summary><b>Handling PATs Securely</b></summary>
141
186
142
187
### Environment Variables (Recommended)
188
+
143
189
To keep your GitHub PAT secure and reusable across different MCP hosts:
144
190
145
191
1.**Store your PAT in environment variables**
192
+
146
193
```bash
147
194
export GITHUB_PAT=your_token_here
148
195
```
196
+
149
197
Or create a `.env` file:
198
+
150
199
```env
151
200
GITHUB_PAT=your_token_here
152
201
```
153
202
154
203
2.**Protect your `.env` file**
204
+
155
205
```bash
156
206
# Add to .gitignore to prevent accidental commits
157
207
echo".env">> .gitignore
158
208
```
159
209
160
210
3.**Reference the token in configurations**
211
+
161
212
```bash
162
213
# CLI usage
163
214
claude mcp update github -e GITHUB_PERSONAL_ACCESS_TOKEN=$GITHUB_PAT
@@ -180,6 +231,7 @@ To keep your GitHub PAT secure and reusable across different MCP hosts:
180
231
-**Regular rotation**: Update tokens periodically
181
232
-**Never commit**: Keep tokens out of version control
182
233
-**File permissions**: Restrict access to config files containing tokens
234
+
183
235
```bash
184
236
chmod 600 ~/.your-app/config.json
185
237
```
@@ -193,6 +245,7 @@ the hostname for GitHub Enterprise Server or GitHub Enterprise Cloud with data r
193
245
194
246
- For GitHub Enterprise Server, prefix the hostname with the `https://` URI scheme, as it otherwise defaults to `http://`, which GitHub Enterprise Server does not support.
195
247
- For GitHub Enterprise Cloud with data residency, use `https://YOURSUBDOMAIN.ghe.com` as the hostname.
248
+
196
249
```json
197
250
"github": {
198
251
"command": "docker",
@@ -328,6 +381,17 @@ If you don't have Docker, you can use `go build` to build the binary in the
328
381
}
329
382
```
330
383
384
+
### CLI utilities
385
+
386
+
The `github-mcp-server` binary includes a few CLI subcommands that are helpful for debugging and exploring the server.
387
+
388
+
-`github-mcp-server tool-search "<query>"` searches tools by name, description, and input parameter names. Use `--max-results` to return more matches.
389
+
Example (color output requires a TTY; use `docker run -t` (or `-it`) when running in Docker):
390
+
```bash
391
+
docker run -it --rm ghcr.io/github/github-mcp-server tool-search "issue" --max-results 5
The GitHub MCP Server supports enabling or disabling specific groups of functionalities via the `--toolsets` flag. This allows you to control which GitHub API capabilities are available to your AI tools. Enabling only the toolsets that you need can help the LLM with tool choice and reduce the context size.
@@ -349,6 +413,7 @@ To specify toolsets you want available to the LLM, you can pass an allow-list in
This registers `get_file_contents` plus the dynamic toolset tools (`enable_toolset`, `list_available_toolsets`, `get_toolset_tools`).
384
454
385
455
**Important Notes:**
456
+
386
457
- Tools, toolsets, and dynamic toolsets can all be used together
387
458
- Read-only mode takes priority: write tools are skipped if `--read-only` is set, even if explicitly requested via `--tools`
388
459
- Tool names must match exactly (e.g., `get_file_contents`, not `getFileContents`). Invalid tool names will cause the server to fail at startup with an error message
The local GitHub MCP Server offers an insiders version with early access to new features and experimental tools.
529
+
530
+
1.**Using Command Line Argument**:
531
+
532
+
```bash
533
+
./github-mcp-server --insider-mode
534
+
```
535
+
536
+
2.**Using Environment Variable**:
537
+
538
+
```bash
539
+
GITHUB_INSIDER_MODE=true ./github-mcp-server
540
+
```
541
+
542
+
When using Docker:
543
+
544
+
```bash
545
+
docker run -i --rm \
546
+
-e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
547
+
-e GITHUB_INSIDER_MODE=true \
548
+
ghcr.io/github/github-mcp-server
549
+
```
550
+
453
551
### Available Toolsets
454
552
455
553
The following sets of tools are available:
@@ -1371,32 +1469,34 @@ The following sets of tools are available:
1371
1469
1372
1470
<summary>Copilot</summary>
1373
1471
1374
-
-**create_pull_request_with_copilot** - Perform task with GitHub Copilot coding agent
1375
-
-`owner`: Repository owner. You can guess the owner, but confirm it with the user before proceeding. (string, required)
1376
-
-`repo`: Repository name. You can guess the repository name, but confirm it with the user before proceeding. (string, required)
1377
-
-`problem_statement`: Detailed description of the task to be performed (e.g., 'Implement a feature that does X', 'Fix bug Y', etc.) (string, required)
1378
-
-`title`: Title for the pull request that will be created (string, required)
1379
-
-`base_ref`: Git reference (e.g., branch) that the agent will start its work from. If not specified, defaults to the repository's default branch (string, optional)
1472
+
-**create_pull_request_with_copilot** - Perform task with GitHub Copilot coding agent
1473
+
-`owner`: Repository owner. You can guess the owner, but confirm it with the user before proceeding. (string, required)
1474
+
-`repo`: Repository name. You can guess the repository name, but confirm it with the user before proceeding. (string, required)
1475
+
-`problem_statement`: Detailed description of the task to be performed (e.g., 'Implement a feature that does X', 'Fix bug Y', etc.) (string, required)
1476
+
-`title`: Title for the pull request that will be created (string, required)
1477
+
-`base_ref`: Git reference (e.g., branch) that the agent will start its work from. If not specified, defaults to the repository's default branch (string, optional)
1380
1478
1381
1479
</details>
1382
1480
1383
1481
<details>
1384
1482
1385
1483
<summary>Copilot Spaces</summary>
1386
1484
1387
-
-**get_copilot_space** - Get Copilot Space
1388
-
-`owner`: The owner of the space. (string, required)
1389
-
-`name`: The name of the space. (string, required)
1485
+
-**get_copilot_space** - Get Copilot Space
1486
+
-`owner`: The owner of the space. (string, required)
1487
+
-`name`: The name of the space. (string, required)
1488
+
1489
+
-**list_copilot_spaces** - List Copilot Spaces
1390
1490
1391
-
-**list_copilot_spaces** - List Copilot Spaces
1392
1491
</details>
1393
1492
1394
1493
<details>
1395
1494
1396
1495
<summary>GitHub Support Docs Search</summary>
1397
1496
1398
-
-**github_support_docs_search** - Retrieve documentation relevant to answer GitHub product and support questions. Support topics include: GitHub Actions Workflows, Authentication, GitHub Support Inquiries, Pull Request Practices, Repository Maintenance, GitHub Pages, GitHub Packages, GitHub Discussions, Copilot Spaces
1399
-
-`query`: Input from the user about the question they need answered. This is the latest raw unedited user message. You should ALWAYS leave the user message as it is, you should never modify it. (string, required)
1497
+
-**github_support_docs_search** - Retrieve documentation relevant to answer GitHub product and support questions. Support topics include: GitHub Actions Workflows, Authentication, GitHub Support Inquiries, Pull Request Practices, Repository Maintenance, GitHub Pages, GitHub Packages, GitHub Discussions, Copilot Spaces
1498
+
-`query`: Input from the user about the question they need answered. This is the latest raw unedited user message. You should ALWAYS leave the user message as it is, you should never modify it. (string, required)
Copy file name to clipboardExpand all lines: docs/remote-server.md
+35-1Lines changed: 35 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -67,6 +67,9 @@ The Remote GitHub MCP server has optional headers equivalent to the Local server
67
67
-`X-MCP-Lockdown`: Enables lockdown mode, hiding public issue details created by users without push access.
68
68
- Equivalent to `GITHUB_LOCKDOWN_MODE` env var for Local server.
69
69
- If this header is empty, "false", "f", "no", "n", "0", or "off" (ignoring whitespace and case), it will be interpreted as false. All other values are interpreted as true.
70
+
-`X-MCP-Insiders`: Enables insiders mode for early access to new features.
71
+
- Equivalent to `GITHUB_INSIDER_MODE` env var or `--insider-mode` flag for Local server.
72
+
- If this header is empty, "false", "f", "no", "n", "0", or "off" (ignoring whitespace and case), it will be interpreted as false. All other values are interpreted as true.
70
73
71
74
> **Looking for examples?** See the [Server Configuration Guide](./server-configuration.md) for common recipes like minimal setups, read-only mode, and combining tools with toolsets.
72
75
@@ -84,18 +87,49 @@ Example:
84
87
}
85
88
```
86
89
90
+
### Insiders Mode
91
+
92
+
The remote GitHub MCP Server offers an insiders version with early access to new features and experimental tools. You can enable insiders mode in two ways:
93
+
94
+
1.**Via URL path** - Append `/insiders` to the URL:
2.**Via header** - Set the `X-MCP-Insiders` header to `true`:
104
+
105
+
```json
106
+
{
107
+
"type": "http",
108
+
"url": "https://api.githubcopilot.com/mcp/",
109
+
"headers": {
110
+
"X-MCP-Insiders": "true"
111
+
}
112
+
}
113
+
```
114
+
115
+
Both methods can be combined with other path modifiers (like `/readonly`) and headers.
116
+
87
117
### URL Path Parameters
88
118
89
119
The Remote GitHub MCP server supports the following URL path patterns:
90
120
91
121
-`/` - Default toolset (see ["default" toolset](../README.md#default-toolset))
92
122
-`/readonly` - Default toolset in read-only mode
123
+
-`/insiders` - Default toolset with insiders mode enabled
124
+
-`/insiders/readonly` - Default toolset with insiders mode in read-only mode
93
125
-`/x/all` - All available toolsets
94
126
-`/x/all/readonly` - All available toolsets in read-only mode
127
+
-`/x/all/insiders` - All available toolsets with insiders mode enabled
95
128
-`/x/{toolset}` - Single specific toolset
96
129
-`/x/{toolset}/readonly` - Single specific toolset in read-only mode
130
+
-`/x/{toolset}/insiders` - Single specific toolset with insiders mode enabled
97
131
98
-
Note: `{toolset}` can only be a single toolset, not a comma-separated list. To combine multiple toolsets, use the `X-MCP-Toolsets` header instead.
132
+
Note: `{toolset}` can only be a single toolset, not a comma-separated list. To combine multiple toolsets, use the `X-MCP-Toolsets` header instead. Path modifiers like `/readonly` and `/insiders` can be combined with the `X-MCP-Insiders` or `X-MCP-Readonly` headers.
0 commit comments