Server facts
GitHub MCP Server
Project
- Author
- modelcontextprotocol
- Website
- modelcontextprotocol.io
- License
- Not specified
- Category
- Version Control
Tech
- Runtime / language
- node
- Transports
- stdio
- Remote available
- No
- Authentication
- Not specified
Activity
- GitHub stars
- Not recordedPart of the modelcontextprotocol/servers monorepo
- Last commit
- Data as of
Tags
- Code Search
- Github
- Issues
- Pull Requests
- Repository Management
Overview
GitHub MCP Server exposes repository collaboration operations through the tool catalog supplied with this entry. Assistants can search repositories, create a repository, fork an existing one, inspect files or directories, and change repository contents. File updates can target one file or push multiple files together in a single commit. Branch creation and commit listing add version-control context. Searches also cover code, users, and issues or pull requests across GitHub, giving an assistant several ways to locate relevant work before making changes.
The collaboration tools extend beyond retrieval. They can open issues, update existing issues, add comments, create pull requests, and list or inspect them. Review-oriented operations retrieve changed files, status checks, comments, and submitted reviews, while other tools create a review, update a pull-request branch from its base, or merge the request. These are capabilities documented in the structured input rather than in a substantive project README. The supplied README contains only a general server-collection title, so it does not establish a runnable installation command, detailed requirements, or a license. The entry records Node as the runtime and stdio as the transport, but that metadata is not enough to reconstruct a supported launch recipe. Installation details therefore remain explicitly unspecified rather than inferred from another GitHub integration.
Install & configure
No install command stated in the README — see repo.
Not stated in the README: a runnable launch command, installation requirements, or a supported setup procedure. The structured input identifies stdio and a Node runtime, but its configuration hint is not a README-backed launch recipe.
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.
No install command stated in the README — see repo. Check the client documentation for a supported connection method.
Read the Claude Desktop setup guideConfig 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.
No install command stated in the README — see repo. Check the client documentation for a supported connection method.
Read the Cursor setup guideConfig 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.
No install command stated in the README — see repo. Check the client documentation for a supported connection method.
Read the VS Code setup guideConfig 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.
No install command stated in the README — see repo. Check the client documentation for a supported connection method.
Read the Windsurf setup guideConfig 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.
No install command stated in the README — see repo. Check the client documentation for a supported connection method.
Read the Claude Code setup guideExamples 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
Source: repository tool metadata. Tool descriptions are a documented snapshot, not a live capability check.
| Tool | What it does |
|---|---|
| create_or_update_file | Write a new file or revise an existing repository file. |
| search_repositories | Find repositories matching a GitHub search. |
| create_repository | Create a repository in the authenticated account. |
| get_file_contents | Read the contents of a repository file or directory. |
| push_files | Commit several repository file changes together. |
| create_issue | Open an issue in a selected repository. |
| create_pull_request | Open a pull request for a repository change. |
| fork_repository | Copy a repository into an account or specified organization as a fork. |
| create_branch | Add a branch to a repository. |
| list_commits | Inspect the commit history of a repository branch. |
| list_issues | Enumerate repository issues using optional filters. |
| update_issue | Revise an existing issue's information. |
| add_issue_comment | Post a comment on an existing issue. |
| search_code | Find code across GitHub repositories. |
| search_issues | Search GitHub issues and pull requests. |
| search_users | Find GitHub accounts matching a user search. |
| get_issue | Inspect a particular issue in a repository. |
| get_pull_request | Inspect a selected pull request. |
| list_pull_requests | Enumerate repository pull requests with filters. |
| create_pull_request_review | Submit a review on a pull request. |
| merge_pull_request | Merge a repository pull request. |
| get_pull_request_files | Inspect which files a pull request changes. |
| get_pull_request_status | Retrieve the combined result of a pull request's status checks. |
| update_pull_request_branch | Bring a pull-request branch up to date with its base branch. |
| get_pull_request_comments | Read review comments associated with a pull request. |
| get_pull_request_reviews | Read submitted reviews for a pull request. |
Names, permissions, and defaults can change. Check the current upstream documentation before granting access.
Use cases
- Search repositories and code before investigating a change.
- Create branches and commit one or multiple file updates.
- Open, inspect, and update repository issues.
- Review pull-request files and status before reviewing or merging.
Strengths
- Structured tools cover repository files, issues, and pull requests.
- Supports multiple file changes in a single commit.
- Includes review details and combined pull-request status checks.
Limitations
- The provided README has no runnable installation command.
- License information is not stated in the README.
- Several tools can modify repository state, including merging pull requests.
Frequently asked questions
Independent listing, not an affiliation or security review. Grant the least access needed and verify the upstream instructions before running code.