Skip to content

Commit 1a74e6d

Browse files
D1M1TR10Stonytrg
andauthored
Reorganize README, add dedicated install guides, include policies and governance info for the github server (#695)
* Refactor README and add host installation guides, governance docs - Reorganized README for clarity and navigation - Added dedicated installation guides for Claude, Cursor, Windsurf, JetBrains, and more - Clarified contribution guidelines and approval criteria - Added policies and governance documentation * Update README.md * Update README with configuration section for remote GitHub MCP Server * Update MCP access policy description in README Removing coding agent from the policy note, as the GitHub server is unaffected by this policy * Update configuration steps for GitHub Copilot in JetBrains IDEs... ...to reflect changes in accessing settings and configuring MCP. * Update install-other-copilot-ides.md * Update Eclipse MCP support version and configuration steps... ...for GitHub Copilot plugin in installation guide. * Update docs/installation-guides/install-cursor.md * Update docs/installation-guides/install-windsurf.md * Apply suggestion from @tonytrg * Apply suggestion from @tonytrg * Apply suggestion from @tonytrg * Apply suggestion from @tonytrg * Apply suggestion from @tonytrg * Apply suggestion from @tonytrg * Apply suggestion from @tonytrg --------- Co-authored-by: Tony Truong <tonytrg@github.com>
1 parent 0568187 commit 1a74e6d

File tree

8 files changed

+1261
-226
lines changed

8 files changed

+1261
-226
lines changed

CONTRIBUTING.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,17 @@ Contributions to this project are [released](https://help.github.com/articles/gi
1010

1111
Please note that this project is released with a [Contributor Code of Conduct](CODE_OF_CONDUCT.md). By participating in this project you agree to abide by its terms.
1212

13+
## What we're looking for
14+
15+
We can't guarantee that every tool, feature, or pull request will be approved or merged. Our focus is on supporting high-quality, high-impact capabilities that advance agentic workflows and deliver clear value to developers.
16+
17+
To increase the chances your request is accepted:
18+
* Include real use cases or examples that demonstrate practical value
19+
* If your request stalls, you can open a Discussion post and link to your issue or PR
20+
* We actively revisit requests that gain strong community engagement (👍s, comments, or evidence of real-world use)
21+
22+
Thanks for contributing and for helping us build toolsets that are truly valuable!
23+
1324
## Prerequisites for running and testing code
1425

1526
These are one time installations required to be able to test your changes locally as part of the pull request (PR) submission process.

README.md

Lines changed: 240 additions & 226 deletions
Large diffs are not rendered by default.

docs/installation-guides/README.md

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
# GitHub MCP Server Installation Guides
2+
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+
5+
## Installation Guides by Host Application
6+
- **[GitHub Copilot in other IDEs](install-other-copilot-ides.md)** - Installation for JetBrains, Visual Studio, Eclipse, and Xcode with GitHub Copilot
7+
- **[Claude Applications](install-claude.md)** - Installation guide for Claude Web, Claude Desktop and Claude Code CLI
8+
- **[Cursor](install-cursor.md)** - Installation guide for Cursor IDE
9+
- **[Windsurf](install-windsurf.md)** - Installation guide for Windsurf IDE
10+
11+
## Support by Host Application
12+
13+
| Host Application | Local GitHub MCP Support | Remote GitHub MCP Support | Prerequisites | Difficulty |
14+
|-----------------|---------------|----------------|---------------|------------|
15+
| Copilot in VS Code || ✅ Full (OAuth + PAT) | Local: Docker or Go build, GitHub PAT<br>Remote: VS Code 1.101+ | Easy |
16+
| Copilot Coding Agent || ✅ Full (on by default; no auth needed) | Any _paid_ copilot license | Default on |
17+
| Copilot in Visual Studio || ✅ PAT + ❌ No OAuth | Local: Docker or Go build, GitHub PAT<br>Remote: Visual Studio 17.14+ | Easy |
18+
| Copilot in JetBrains || ✅ PAT + ❌ No OAuth | Local: Docker or Go build, GitHub PAT<br>Remote: JetBrains Copilot Extension v1.5.35+ | Easy |
19+
| Claude Code || ✅ PAT + ❌ No OAuth| GitHub MCP Server binary or remote URL, GitHub PAT | Easy |
20+
| Claude Desktop || ✅ PAT + ❌ No OAuth | Docker or Go build, GitHub PAT | Moderate |
21+
| Cursor || ✅ PAT + ❌ No OAuth | Docker or Go build, GitHub PAT | Easy |
22+
| Windsurf || ✅ PAT + ❌ No OAuth | Docker or Go build, GitHub PAT | Easy |
23+
| Copilot in Xcode || ✅ PAT + ❌ No OAuth | Local: Docker or Go build, GitHub PAT<br>Remote: Copilot for Xcode latest version | Easy |
24+
| Copilot in Eclipse || ✅ PAT + ❌ No OAuth | Local: Docker or Go build, GitHub PAT<br>Remote: TBD | Easy |
25+
26+
**Legend:**
27+
- ✅ = Fully supported
28+
- ❌ = Not yet supported
29+
30+
**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.
31+
32+
## Installation Methods
33+
34+
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:
35+
36+
### 🐳 Docker (Most Common & Recommended)
37+
- **Pros**: No local build required, consistent environment, easy updates, works across all platforms
38+
- **Cons**: Requires Docker installed and running
39+
- **Best for**: Most users, especially those already using Docker or wanting the simplest setup
40+
- **Used by**: Claude Desktop, Copilot in VS Code, Cursor, Windsurf, etc.
41+
42+
### 📦 Pre-built Binary (Lightweight Alternative)
43+
- **Pros**: No Docker required, direct execution via stdio, minimal setup
44+
- **Cons**: Need to manually download and manage updates, platform-specific binaries
45+
- **Best for**: Minimal environments, users who prefer not to use Docker
46+
- **Used by**: Claude Code CLI, lightweight setups
47+
48+
### 🔨 Build from Source (Advanced Users)
49+
- **Pros**: Latest features, full customization, no external dependencies
50+
- **Cons**: Requires Go development environment, more complex setup
51+
- **Prerequisites**: [Go 1.24+](https://go.dev/doc/install)
52+
- **Build command**: `go build -o github-mcp-server cmd/github-mcp-server/main.go`
53+
- **Best for**: Developers who want the latest features or need custom modifications
54+
55+
### Important Notes on the GitHub MCP Server
56+
57+
- **Docker Image**: The official Docker image is now `ghcr.io/github/github-mcp-server`
58+
- **npm Package**: The npm package @modelcontextprotocol/server-github is no longer supported as of April 2025
59+
- **Remote Server**: The remote server URL is `https://api.githubcopilot.com/mcp/`
60+
61+
## General Prerequisites
62+
63+
All installations with Personal Access Tokens (PAT) require:
64+
- **GitHub Personal Access Token (PAT)**: [Create one here](https://github.com/settings/personal-access-tokens/new)
65+
66+
Optional (depending on installation method):
67+
- **Docker** (for Docker-based installations): [Download Docker](https://www.docker.com/)
68+
- **Go 1.24+** (for building from source): [Install Go](https://go.dev/doc/install)
69+
70+
## Security Best Practices
71+
72+
Regardless of which installation method you choose, follow these security guidelines:
73+
74+
1. **Secure Token Storage**: Never commit your GitHub PAT to version control
75+
2. **Limit Token Scope**: Only grant necessary permissions to your GitHub PAT
76+
3. **File Permissions**: Restrict access to configuration files containing tokens
77+
4. **Regular Rotation**: Periodically rotate your GitHub Personal Access Tokens
78+
5. **Environment Variables**: Use environment variables when supported by your host
79+
80+
## Getting Help
81+
82+
If you encounter issues:
83+
1. Check the troubleshooting section in your specific installation guide
84+
2. Verify your GitHub PAT has the required permissions
85+
3. Ensure Docker is running (for local installations)
86+
4. Review your host application's logs for error messages
87+
5. Consult the main [README.md](README.md) for additional configuration options
88+
89+
## Configuration Options
90+
91+
After installation, you may want to explore:
92+
- **Toolsets**: Enable/disable specific GitHub API capabilities
93+
- **Read-Only Mode**: Restrict to read-only operations
94+
- **Dynamic Tool Discovery**: Enable tools on-demand
95+
Lines changed: 204 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,204 @@
1+
# Install GitHub MCP Server in Claude Applications
2+
3+
This guide covers installation of the GitHub MCP server for Claude Code CLI, Claude Desktop, and Claude Web applications.
4+
5+
## Claude Web (claude.ai)
6+
7+
Claude Web supports remote MCP servers through the Integrations built-in feature.
8+
9+
### Prerequisites
10+
11+
1. Claude Pro, Team, or Enterprise account (Integrations not available on free plan)
12+
2. [GitHub Personal Access Token](https://github.com/settings/personal-access-tokens/new)
13+
14+
### Installation
15+
16+
**Note**: As of July 2025, the remote GitHub MCP Server has known compatibility issues with Claude Web. While Claude Web supports remote MCP servers from other providers (like Atlassian, Zapier, Notion), the GitHub MCP Server integration may not work reliably.
17+
18+
For other remote MCP servers that do work with Claude Web:
19+
20+
1. Go to [claude.ai](https://claude.ai) and log in
21+
2. Click your profile icon → **Settings**
22+
3. Navigate to **Integrations** section
23+
4. Click **+ Add integration** or **Add More**
24+
5. Enter the remote server URL
25+
6. Follow the OAuth authentication flow when prompted
26+
27+
**Alternative**: Use Claude Desktop or Claude Code CLI for reliable GitHub MCP Server integration.
28+
29+
---
30+
31+
## Claude Code CLI
32+
33+
Claude Code CLI provides command-line access to Claude with MCP server integration.
34+
35+
### Prerequisites
36+
37+
1. Claude Code CLI installed
38+
2. [GitHub Personal Access Token](https://github.com/settings/personal-access-tokens/new)
39+
3. [Docker](https://www.docker.com/) installed and running
40+
41+
### Installation
42+
43+
Run the following command to add the GitHub MCP server using Docker:
44+
45+
```bash
46+
claude mcp add github -- docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io/github/github-mcp-server
47+
```
48+
49+
Then set the environment variable:
50+
```bash
51+
claude mcp update github -e GITHUB_PERSONAL_ACCESS_TOKEN=your_github_pat
52+
```
53+
54+
Or as a single command with the token inline:
55+
```bash
56+
claude mcp add-json github '{"command": "docker", "args": ["run", "-i", "--rm", "-e", "GITHUB_PERSONAL_ACCESS_TOKEN", "ghcr.io/github/github-mcp-server"], "env": {"GITHUB_PERSONAL_ACCESS_TOKEN": "your_github_pat"}}'
57+
```
58+
59+
**Important**: The npm package `@modelcontextprotocol/server-github` is no longer supported as of April 2025. Use the official Docker image `ghcr.io/github/github-mcp-server` instead.
60+
61+
### Configuration Options
62+
63+
- Use `-s user` to add the server to your user configuration (available across all projects)
64+
- Use `-s project` to add the server to project-specific configuration (shared via `.mcp.json`)
65+
- Default scope is `local` (available only to you in the current project)
66+
67+
### Verification
68+
69+
Run the following command to verify the installation:
70+
```bash
71+
claude mcp list
72+
```
73+
74+
---
75+
76+
## Claude Desktop
77+
78+
Claude Desktop provides a graphical interface for interacting with the GitHub MCP Server.
79+
80+
### Prerequisites
81+
82+
1. Claude Desktop installed
83+
2. [GitHub Personal Access Token](https://github.com/settings/personal-access-tokens/new)
84+
3. [Docker](https://www.docker.com/) installed and running
85+
86+
### Configuration File Location
87+
88+
- **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
89+
- **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
90+
- **Linux**: `~/.config/Claude/claude_desktop_config.json` (unofficial support)
91+
92+
### Installation
93+
94+
Add the following to your `claude_desktop_config.json`:
95+
96+
```json
97+
{
98+
"mcpServers": {
99+
"github": {
100+
"command": "docker",
101+
"args": [
102+
"run",
103+
"-i",
104+
"--rm",
105+
"-e",
106+
"GITHUB_PERSONAL_ACCESS_TOKEN",
107+
"ghcr.io/github/github-mcp-server"
108+
],
109+
"env": {
110+
"GITHUB_PERSONAL_ACCESS_TOKEN": "your_github_pat"
111+
}
112+
}
113+
}
114+
}
115+
```
116+
117+
**Important**: The npm package `@modelcontextprotocol/server-github` is no longer supported as of April 2025. Use the official Docker image `ghcr.io/github/github-mcp-server` instead.
118+
119+
### Using Environment Variables
120+
121+
Claude Desktop supports environment variable references. You can use:
122+
123+
```json
124+
{
125+
"mcpServers": {
126+
"github": {
127+
"command": "docker",
128+
"args": [
129+
"run",
130+
"-i",
131+
"--rm",
132+
"-e",
133+
"GITHUB_PERSONAL_ACCESS_TOKEN",
134+
"ghcr.io/github/github-mcp-server"
135+
],
136+
"env": {
137+
"GITHUB_PERSONAL_ACCESS_TOKEN": "$GITHUB_PAT"
138+
}
139+
}
140+
}
141+
}
142+
```
143+
144+
Then set the environment variable in your system before starting Claude Desktop.
145+
146+
### Installation Steps
147+
148+
1. Open Claude Desktop
149+
2. Go to Settings (from the Claude menu) → Developer → Edit Config
150+
3. Add your chosen configuration
151+
4. Save the file
152+
5. Restart Claude Desktop
153+
154+
### Verification
155+
156+
After restarting, you should see:
157+
- An MCP icon in the Claude Desktop interface
158+
- The GitHub server listed as "running" in Developer settings
159+
160+
---
161+
162+
## Troubleshooting
163+
164+
### Claude Web
165+
- Currently experiencing compatibility issues with the GitHub MCP Server
166+
- Try other remote MCP servers (Atlassian, Zapier, Notion) which work reliably
167+
- Use Claude Desktop or Claude Code CLI as alternatives for GitHub integration
168+
169+
### Claude Code CLI
170+
- Verify the command syntax is correct (note the single quotes around the JSON)
171+
- Ensure Docker is running: `docker --version`
172+
- Use `/mcp` command within Claude Code to check server status
173+
174+
### Claude Desktop
175+
- Check logs at:
176+
- **macOS**: `~/Library/Logs/Claude/`
177+
- **Windows**: `%APPDATA%\Claude\logs\`
178+
- Look for `mcp-server-github.log` for server-specific errors
179+
- Ensure configuration file is valid JSON
180+
- Try running the Docker command manually in terminal to diagnose issues
181+
182+
### Common Issues
183+
- **Invalid JSON**: Validate your configuration at [jsonlint.com](https://jsonlint.com)
184+
- **PAT issues**: Ensure your GitHub PAT has required scopes
185+
- **Docker not found**: Install Docker Desktop and ensure it's running
186+
- **Docker image pull fails**: Try `docker logout ghcr.io` then retry
187+
188+
---
189+
190+
## Security Best Practices
191+
192+
- **Protect configuration files**: Set appropriate file permissions
193+
- **Use environment variables** when possible instead of hardcoding tokens
194+
- **Limit PAT scope** to only necessary permissions
195+
- **Regularly rotate** your GitHub Personal Access Tokens
196+
- **Never commit** configuration files containing tokens to version control
197+
198+
---
199+
200+
## Additional Resources
201+
202+
- [Model Context Protocol Documentation](https://modelcontextprotocol.io)
203+
- [Claude Code MCP Documentation](https://docs.anthropic.com/en/docs/claude-code/mcp)
204+
- [Claude Web Integrations Support](https://support.anthropic.com/en/articles/11175166-about-custom-integrations-using-remote-mcp)

0 commit comments

Comments
 (0)