Server facts
GitHub MCP Server
Project
- Author
- github
- Repository
- github.com/github/github-mcp-server.git
- License
- MIT
- Category
- Version Control
Tech
- Runtime / language
- goGo
- Transports
- stdio
- Remote available
- No
- Authentication
- Not specified
Activity
- GitHub stars
- 33,663
- Last commit
- Data as of
Tags
- Github
- Github Actions
- Issues
- Pull Requests
- Repositories
Overview
GitHub MCP Server brings GitHub context and operations into compatible AI tools. The README describes repository browsing, file searches, commit analysis, issue management, and pull request work as core uses. It also covers GitHub Actions monitoring, release management, security findings, Dependabot alerts, discussions, notifications, and team activity. Developers can therefore ask an assistant to investigate project state or coordinate several related platform tasks without treating repository files as the only available context. Individual tool identifiers are not enumerated in the supplied README excerpt, so its capabilities are described here at the workflow level.
GitHub offers a hosted remote server and a local alternative. Remote setup requires a compatible host and applicable policies, with OAuth support depending on the host application's integration; personal access tokens are another option. Local execution can use Docker and supports either a token or a documented OAuth login flow. The README stresses granting only permissions appropriate to the intended agent tasks and keeping credentials out of version control. Enterprise configuration differs by deployment: Enterprise Cloud with data residency has a remote option, while Enterprise Server requires the local route. Toolset selection and an insiders mode offer additional configuration choices. This is a suitable integration for teams wanting GitHub-native context and actions, provided authentication and host support are configured deliberately.
Install & configure
Requirements
- Docker installed and running for local container execution
- An MCP-compatible host
- GitHub authentication and appropriate account permissions
docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io/github/github-mcp-serverThe command uses the README's local PAT-based Docker example. The remote URL uses HTTP and supports OAuth where the host implements it, or PAT authentication. Grant only the permissions required for your tasks.
Examples are translated from the published configuration. Supply your own credentials and verify requirements in the upstream README. Remote connectors are shown only where a supported configuration format is known.
Config file · macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Use Settings → Developer → Edit Config when available. Do not assume a Linux configuration path; check the client documentation for your platform. Remote servers use the app’s connector flow when supported, not the local stdio file shown here. Merge this example with existing settings; do not overwrite unrelated servers.
{
"mcpServers": {
"github-mcp-server": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<your GitHub personal access token with appropriate permissions>"
}
}
}
}Config file · Project: .cursor/mcp.json
User: ~/.cursor/mcp.json
The project path is relative to the workspace root. The tilde denotes your user home directory. Use Cursor’s MCP settings to confirm which configuration and scope your installed version is reading. Merge this example with existing settings; do not overwrite unrelated servers.
{
"mcpServers": {
"github-mcp-server": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<your GitHub personal access token with appropriate permissions>"
}
}
}
}Config file · Workspace: .vscode/mcp.json
For user scope, use the “MCP: Open User Configuration” command if available. Do not guess a user configuration path across operating systems, profiles, containers, or remote workspaces; check the client documentation. Merge this example with existing settings; do not overwrite unrelated servers.
{
"servers": {
"github-mcp-server": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<your GitHub personal access token with appropriate permissions>"
}
}
}
}Config file · macOS/Linux: ~/.codeium/windsurf/mcp_config.json
Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json
Open the MCP configuration through Windsurf’s settings when possible to confirm the active file. Paths can differ in managed or future releases; check the client documentation if this location is not present. Merge this example with existing settings; do not overwrite unrelated servers.
{
"mcpServers": {
"github-mcp-server": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<your GitHub personal access token with appropriate permissions>"
}
}
}
}Config file · Project scope: .mcp.json at the repository root
The project file uses mcpServers. For user scope, use claude mcp add --scope user rather than assuming .mcp.json in your home directory is the user configuration. Check the client documentation for managed settings and storage details. Merge this example with existing settings; do not overwrite unrelated servers.
{
"mcpServers": {
"github-mcp-server": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<your GitHub personal access token with appropriate permissions>"
}
}
}
}Examples are translated from the published configuration. Supply your own credentials and verify requirements in the upstream README. Remote connectors are shown only where a supported configuration format is known.
Tools
No individual tool names were confirmed in the source material. Check the repository for its current tool list.
Names, permissions, and defaults can change. Check the current upstream documentation before granting access.
Use cases
- Explore repositories, files, and commit history through an assistant.
- Triage issues and manage pull request workflows.
- Investigate failed GitHub Actions runs and development pipeline activity.
- Review security findings and Dependabot alerts.
- Coordinate discussions, notifications, and team project work.
Strengths
- Connects agents to multiple GitHub workflows beyond source files.
- Provides both GitHub-hosted and local deployment options.
- Documents OAuth, personal access tokens, and enterprise configuration.
Limitations
- OAuth support and configuration vary by MCP host.
- GitHub Enterprise Server cannot use the hosted remote service.
- Individual tool names are not stated in the supplied README excerpt.
Frequently asked questions
Independent listing, not an affiliation or security review. Grant the least access needed and verify the upstream instructions before running code.