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
docs(cursor): lead local install with PAT until OAuth release
Reorder install-cursor.md to show PAT Docker config first since
ghcr.io/github/github-mcp-server:latest (v1.4.0) does not include
stdio OAuth yet. Document :main tag for OAuth and add troubleshooting
for the misleading GITHUB_PERSONAL_ACCESS_TOKEN not set error.
Fixes#2779
Copy file name to clipboardExpand all lines: docs/installation-guides/install-cursor.md
+17-12Lines changed: 17 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -45,13 +45,13 @@ The local GitHub MCP server runs via Docker and requires Docker Desktop to be in
45
45
46
46
1. Click the install button above and follow the flow, or go directly to your global MCP configuration file at `~/.cursor/mcp.json` and enter the code block below
47
47
2. In Tools & Integrations > MCP tools, click the pencil icon next to "github"
48
-
3. Replace `YOUR_GITHUB_PAT` with your actual [GitHub Personal Access Token](https://github.com/settings/tokens)
48
+
3. Replace `YOUR_GITHUB_PAT` with your actual [GitHub Personal Access Token](https://github.com/settings/tokens) (PAT setup only; for OAuth, use the configuration below and skip this step)
49
49
4. Save the file
50
50
5. Restart Cursor
51
51
52
-
### Docker Configuration
52
+
### Docker Configuration (Personal Access Token)
53
53
54
-
Log in with OAuth instead of a token. On github.com the official image already includes the app credentials, so you provide none yourself — the server opens a browser login on first use and keeps the token in memory only. In Docker, publish a fixed callback port to loopback:
54
+
Authenticate with a Personal Access Token. This works with the current release image (`ghcr.io/github/github-mcp-server:latest`):
55
55
56
56
```json
57
57
{
@@ -62,23 +62,23 @@ Log in with OAuth instead of a token. On github.com the official image already i
62
62
"run",
63
63
"-i",
64
64
"--rm",
65
-
"-p",
66
-
"127.0.0.1:8085:8085",
67
65
"-e",
68
-
"GITHUB_OAUTH_CALLBACK_PORT",
66
+
"GITHUB_PERSONAL_ACCESS_TOKEN",
69
67
"ghcr.io/github/github-mcp-server"
70
68
],
71
69
"env": {
72
-
"GITHUB_OAUTH_CALLBACK_PORT": "8085"
70
+
"GITHUB_PERSONAL_ACCESS_TOKEN": "YOUR_GITHUB_PAT"
73
71
}
74
72
}
75
73
}
76
74
}
77
75
```
78
76
79
-
See **[Local Server OAuth Login](../oauth-login.md)** for the native-binary flow (no fixed port), headless/device-code fallback, GitHub Enterprise, and bringing your own OAuth or GitHub App.
77
+
### Docker Configuration (OAuth)
78
+
79
+
> **Version note**: Stdio OAuth login merged after the **v1.4.0** release (2026-06-18). Until a newer version is tagged, use the pre-release image `ghcr.io/github/github-mcp-server:main` (or build from source). The `:latest` image does **not** include OAuth yet — it exits with a misleading `GITHUB_PERSONAL_ACCESS_TOKEN not set` error instead of starting browser login. A future release will restore OAuth on `:latest`.
80
80
81
-
To authenticate with a Personal Access Token instead (it takes precedence over OAuth):
81
+
Log in with OAuth instead of a token. On github.com the official image already includes the app credentials, so you provide none yourself — the server opens a browser login on first use and keeps the token in memory only. In Docker, publish a fixed callback port to loopback:
82
82
83
83
```json
84
84
{
@@ -89,18 +89,22 @@ To authenticate with a Personal Access Token instead (it takes precedence over O
89
89
"run",
90
90
"-i",
91
91
"--rm",
92
+
"-p",
93
+
"127.0.0.1:8085:8085",
92
94
"-e",
93
-
"GITHUB_PERSONAL_ACCESS_TOKEN",
94
-
"ghcr.io/github/github-mcp-server"
95
+
"GITHUB_OAUTH_CALLBACK_PORT",
96
+
"ghcr.io/github/github-mcp-server:main"
95
97
],
96
98
"env": {
97
-
"GITHUB_PERSONAL_ACCESS_TOKEN": "YOUR_GITHUB_PAT"
99
+
"GITHUB_OAUTH_CALLBACK_PORT": "8085"
98
100
}
99
101
}
100
102
}
101
103
}
102
104
```
103
105
106
+
See **[Local Server OAuth Login](../oauth-login.md)** for the native-binary flow (no fixed port), headless/device-code fallback, GitHub Enterprise, and bringing your own OAuth or GitHub App.
107
+
104
108
> **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.
105
109
106
110
## Configuration Files
@@ -128,6 +132,7 @@ To authenticate with a Personal Access Token instead (it takes precedence over O
128
132
-**Docker errors**: Ensure Docker Desktop is running
129
133
-**Image pull failures**: Try `docker logout ghcr.io` then retry
130
134
-**Docker not found**: Install Docker Desktop and ensure it's running
135
+
-**`GITHUB_PERSONAL_ACCESS_TOKEN not set` with OAuth config**: The published `:latest` image (v1.4.0) does not include stdio OAuth. Use the PAT configuration above, or switch the image tag to `ghcr.io/github/github-mcp-server:main` until the next release
0 commit comments