The GitHub MCP Server is a Model Context Protocol (MCP) server that provides seamless integration with GitHub APIs, enabling advanced automation and interaction capabilities for developers and tools.
GitHub MCP Server is an MCP project maintained in the cloudbarista/mcp-server repository. The maintainer describes its purpose as “The GitHub MCP Server is a Model Context Protocol (MCP) server that provides seamless integration with GitHub APIs, enabling advanced automation and interaction capabilities for…”. Read the project documentation for the complete scope.
The project provides a local client configuration using docker. Follow the repository’s build and installation steps before copying it, and replace example paths with the paths on your own computer.
The example declares GITHUB_PERSONAL_ACCESS_TOKEN. Secret-looking values have been replaced with placeholders. Required and optional labels are shown only when the documentation states them.
Project documentation · Repository · Discovery listing. This profile records the public documentation checked on 2026-10-08.
Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.
| Tool | What it does |
|---|---|
| get_me | Get details of the authenticated user |
| get_issue | Gets the contents of an issue within a repository |
| owner | Repository owner (string, required) |
| repo | Repository name (string, required) |
| issue_number | Issue number to update (number, required) |
| create_issue | Create a new issue in a GitHub repository |
| title | PR title (string, required) |
| body | PR description (string, optional) |
| assignees | New assignees (string[], optional) |
| labels | New labels (string[], optional) |
| add_issue_comment | Add a comment to an issue |
| list_issues | List and filter repository issues |
| state | Alert state (string, optional) |
| sort | Sort field (string, optional) |
| direction | Sort direction (string, optional) |
| since | Filter by date (ISO 8601 timestamp) (string, optional) |
| page | Page number (number, optional) |
| perPage | Results per page (number, optional) |
| update_issue | Update an existing issue in a GitHub repository |
| milestone | New milestone number (number, optional) |
| search_issues | Search for issues and pull requests |
| query | Search query (string, required) |
| order | Sort order (string, optional) |
| per_page | Results per page (number, optional) |
| get_pull_request | Get details of a specific pull request |
| pullNumber | Pull request number (number, required) |
| list_pull_requests | List and filter repository pull requests |
| merge_pull_request | Merge a pull request |
| commit_title | Title for the merge commit (string, optional) |
| commit_message | Message for the merge commit (string, optional) |
| merge_method | Merge method (string, optional) |
| get_pull_request_files | Get the list of files changed in a pull request |
| get_pull_request_status | Get the combined status of all status checks for a pull request |
| update_pull_request_branch | Update a pull request branch with the latest changes from the base branch |
| expectedHeadSha | The expected SHA of the pull request's HEAD ref (string, optional) |
| get_pull_request_comments | Get the review comments on a pull request |
| get_pull_request_reviews | Get the reviews on a pull request |
| create_pull_request_review | Create a review on a pull request review |
| event | Review action ('APPROVE', 'REQUEST_CHANGES', 'COMMENT') (string, required) |
| commitId | SHA of commit to review (string, optional) |
| comments | Line-specific comments array of objects, each object with path (string), position (number), and body (string) (array, optional) |
| create_pull_request | Create a new pull request |
| head | Branch containing changes (string, required) |
| base | Branch to merge into (string, required) |
| draft | Create as draft PR (boolean, optional) |
| maintainer_can_modify | Allow maintainer edits (boolean, optional) |
| create_or_update_file | Create or update a single file in a repository |
| path | Only commits containing this file path (string, optional) |
| message | Commit message (string, required) |
| content | File content (string, required) |
| branch | New branch name (string, required) |
| sha | Branch name, tag, or commit SHA (string, optional) |
| push_files | Push multiple files in a single commit |
| files | Files to push, each with path and content (array, required) |
| search_repositories | Search for GitHub repositories |
| create_repository | Create a new GitHub repository |
| private | Whether the repository is private (boolean, optional) |
| autoInit | Auto-initialize with README (boolean, optional) |
| get_file_contents | Get contents of a file or directory |
| ref | Git reference (string, optional) |
| fork_repository | Fork a repository |
| organization | Target organization name (string, optional) |
| create_branch | Create a new branch |
| list_commits | Gets commits of a branch in a repository |
| search_code | Search for code across GitHub repositories |
| search_users | Search for GitHub users |
| get_code_scanning_alert | Get a code scanning alert |
| alertNumber | Alert number (number, required) |
| list_code_scanning_alerts | List code scanning alerts for a repository |
| severity | Alert severity (string, optional) |
{
"mcpServers": {
"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_PERSONAL_ACCESS_TOKEN"
}
}
}
}From the project documentation. Replace placeholders and example paths before connecting.
| Variable | Description | Required |
|---|---|---|
| GITHUB_PERSONAL_ACCESS_TOKEN | Declared in the maintainer’s client configuration. | Check documentation |
Read, search and edit files inside allowed directories with the Model Context Protocol reference Filesystem server.
Retrieve version-aware library documentation and code examples with Context7 MCP, using resolve-library-id and query-docs.
Use Microsoft’s Playwright MCP server to navigate pages, inspect accessibility snapshots, fill forms and capture browser screenshots.
Connect GitHub MCP to repositories, issues and pull requests with GitHub’s hosted service or a locally run server.
Use the Supabase MCP server to inspect database schemas, query project data and retrieve docs through a project-scoped connection.
Search Linear issues and projects, inspect work context and manage updates through Linear’s hosted MCP server with OAuth.