Developer & Productivity Tools · Free
GitHub MCP Server
GitHub MCP Server is GitHub's official Model Context Protocol (MCP) server. It connects MCP-capable AI tools, such as coding agents, IDE assistants and chat clients, to the GitHub platform so they can work with repositories, issues, pull requests and workflows through natural-language requests.
According to the project's README, the server lets agents browse and search code, analyze commits and project structure, create and update issues and pull requests, monitor GitHub Actions workflow runs, investigate build failures, manage releases, and review security findings such as Dependabot alerts. It also covers discussions, notifications and other collaboration features.
There are two ways to run it. The remote server is hosted by GitHub and can be added to MCP hosts that support remote servers, including recent versions of VS Code, Claude Desktop, Cursor and Windsurf. Hosts can authenticate with OAuth where they have configured it, or with a GitHub personal access token. The local server runs from a public Docker image at ghcr.io/github/github-mcp-server or as a standalone binary, and can log in with a browser-based OAuth flow or a token set in the GITHUB_PERSONAL_ACCESS_TOKEN environment variable.
The server groups its tools into toolsets, so administrators and developers can enable only the capabilities a task needs; a default toolset is used when none is specified. A read-only mode, enabled with the --read-only flag or the GITHUB_READ_ONLY environment variable in Docker, offers only read tools and takes priority over any explicitly requested write tools. GitHub Enterprise Cloud with data residency (ghe.com) and GitHub Enterprise Server are supported with additional configuration.
The project is open source and written in Go. The server itself is free to run, while access to GitHub features follows the user's GitHub plan and token permissions. GitHub recommends granting only the permissions you are comfortable giving to AI tools and storing tokens in environment variables rather than in shared configuration files.
Good fits include issue triage, pull request summaries, explaining failing CI runs and answering questions about a codebase, ideally starting in read-only mode with a fine-grained token scoped to specific repositories.
