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
Copy file name to clipboardExpand all lines: README.md
+47-12Lines changed: 47 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -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
@@ -104,6 +105,7 @@ When no toolsets are specified, [default toolsets](#default-toolset) are used.
104
105
GitHub Enterprise Cloud can also make use of the remote server.
105
106
106
107
Example for `https://octocorp.ghe.com` with GitHub PAT token:
108
+
107
109
```
108
110
{
109
111
...
@@ -140,24 +142,30 @@ The MCP server can use many of the GitHub APIs, so enable the permissions that y
140
142
<details><summary><b>Handling PATs Securely</b></summary>
141
143
142
144
### Environment Variables (Recommended)
145
+
143
146
To keep your GitHub PAT secure and reusable across different MCP hosts:
144
147
145
148
1.**Store your PAT in environment variables**
149
+
146
150
```bash
147
151
export GITHUB_PAT=your_token_here
148
152
```
153
+
149
154
Or create a `.env` file:
155
+
150
156
```env
151
157
GITHUB_PAT=your_token_here
152
158
```
153
159
154
160
2.**Protect your `.env` file**
161
+
155
162
```bash
156
163
# Add to .gitignore to prevent accidental commits
157
164
echo".env">> .gitignore
158
165
```
159
166
160
167
3.**Reference the token in configurations**
168
+
161
169
```bash
162
170
# CLI usage
163
171
claude mcp update github -e GITHUB_PERSONAL_ACCESS_TOKEN=$GITHUB_PAT
@@ -180,6 +188,7 @@ To keep your GitHub PAT secure and reusable across different MCP hosts:
180
188
-**Regular rotation**: Update tokens periodically
181
189
-**Never commit**: Keep tokens out of version control
182
190
-**File permissions**: Restrict access to config files containing tokens
191
+
183
192
```bash
184
193
chmod 600 ~/.your-app/config.json
185
194
```
@@ -193,6 +202,7 @@ the hostname for GitHub Enterprise Server or GitHub Enterprise Cloud with data r
193
202
194
203
- 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
204
- For GitHub Enterprise Cloud with data residency, use `https://YOURSUBDOMAIN.ghe.com` as the hostname.
205
+
196
206
```json
197
207
"github": {
198
208
"command": "docker",
@@ -328,6 +338,20 @@ If you don't have Docker, you can use `go build` to build the binary in the
328
338
}
329
339
```
330
340
341
+
### CLI utilities
342
+
343
+
The `github-mcp-server` binary includes a few CLI subcommands that are helpful for debugging and exploring the server.
344
+
345
+
-`github-mcp-server tool-search "<query>"` searches tools by name, description, and input parameter names.
346
+
- Use `--max-results` to return more matches.
347
+
- Output is colorized when writing to a TTY (and typically not colorized when piped).
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 +373,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
414
385
415
**Important Notes:**
416
+
386
417
- Tools, toolsets, and dynamic toolsets can all be used together
387
418
- Read-only mode takes priority: write tools are skipped if `--read-only` is set, even if explicitly requested via `--tools`
388
419
- 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 default toolset `default` is the configuration that gets passed to the server if no toolsets are specified.
439
471
440
472
The default configuration is:
473
+
441
474
- context
442
475
- repos
443
476
- issues
@@ -1371,32 +1404,34 @@ The following sets of tools are available:
1371
1404
1372
1405
<summary>Copilot</summary>
1373
1406
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)
1407
+
-**create_pull_request_with_copilot** - Perform task with GitHub Copilot coding agent
1408
+
-`owner`: Repository owner. You can guess the owner, but confirm it with the user before proceeding. (string, required)
1409
+
-`repo`: Repository name. You can guess the repository name, but confirm it with the user before proceeding. (string, required)
1410
+
-`problem_statement`: Detailed description of the task to be performed (e.g., 'Implement a feature that does X', 'Fix bug Y', etc.) (string, required)
1411
+
-`title`: Title for the pull request that will be created (string, required)
1412
+
-`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
1413
1381
1414
</details>
1382
1415
1383
1416
<details>
1384
1417
1385
1418
<summary>Copilot Spaces</summary>
1386
1419
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)
1420
+
-**get_copilot_space** - Get Copilot Space
1421
+
-`owner`: The owner of the space. (string, required)
1422
+
-`name`: The name of the space. (string, required)
1423
+
1424
+
-**list_copilot_spaces** - List Copilot Spaces
1390
1425
1391
-
-**list_copilot_spaces** - List Copilot Spaces
1392
1426
</details>
1393
1427
1394
1428
<details>
1395
1429
1396
1430
<summary>GitHub Support Docs Search</summary>
1397
1431
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)
1432
+
-**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
1433
+
-`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/installation-guides/README.md
+11-3Lines changed: 11 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,6 +3,7 @@
3
3
This directory contains detailed installation instructions for the GitHub MCP Server across different host applications and IDEs. Choose the guide that matches your development environment.
4
4
5
5
## Installation Guides by Host Application
6
+
6
7
-**[GitHub Copilot in other IDEs](install-other-copilot-ides.md)** - Installation for JetBrains, Visual Studio, Eclipse, and Xcode with GitHub Copilot
7
8
-**[Antigravity](install-antigravity.md)** - Installation for Google Antigravity IDE
8
9
-**[Claude Applications](install-claude.md)** - Installation guide for Claude Web, Claude Desktop and Claude Code CLI
@@ -28,32 +29,36 @@ This directory contains detailed installation instructions for the GitHub MCP Se
28
29
| Copilot in Eclipse | ✅ | ✅ Full (OAuth + PAT) | Local: Docker or Go build, GitHub PAT<br>Remote: Eclipse Plug-in for Copilot 0.10.0+ | Easy |
29
30
30
31
**Legend:**
32
+
31
33
- ✅ = Fully supported
32
34
- ❌ = Not yet supported
33
35
34
-
**Note:** Remote MCP support requires host applications to register a GitHub App or OAuth app for OAuth flow support – even if the new OAuth spec is supported by that host app. Currently, only VS Code has full remote GitHub server support.
36
+
**Note:** Remote MCP support requires host applications to register a GitHub App or OAuth app for OAuth flow support – even if the new OAuth spec is supported by that host app. Currently, only VS Code has full remote GitHub server support.
35
37
36
38
## Installation Methods
37
39
38
40
The GitHub MCP Server can be installed using several methods. **Docker is the most popular and recommended approach** for most users, but alternatives are available depending on your needs:
39
41
40
42
### 🐳 Docker (Most Common & Recommended)
43
+
41
44
-**Pros**: No local build required, consistent environment, easy updates, works across all platforms
42
45
-**Cons**: Requires Docker installed and running
43
46
-**Best for**: Most users, especially those already using Docker or wanting the simplest setup
44
47
-**Used by**: Claude Desktop, Copilot in VS Code, Cursor, Windsurf, etc.
45
48
46
49
### 📦 Pre-built Binary (Lightweight Alternative)
50
+
47
51
-**Pros**: No Docker required, direct execution via stdio, minimal setup
48
52
-**Cons**: Need to manually download and manage updates, platform-specific binaries
49
53
-**Best for**: Minimal environments, users who prefer not to use Docker
50
54
-**Used by**: Claude Code CLI, lightweight setups
51
55
52
56
### 🔨 Build from Source (Advanced Users)
57
+
53
58
-**Pros**: Latest features, full customization, no external dependencies
54
59
-**Cons**: Requires Go development environment, more complex setup
0 commit comments