- Home
- MCP servers
- GitHub
GitHub
- typescript
5
GitHub Stars
typescript
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"missionsquad-mcp-github": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"mcp/github"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
}
}
}
}You can manage GitHub repositories programmatically through this MCP server. It enables file operations, repository creation, searching, issues, pull requests, and more via a consistent, scriptable interface. This makes automations, batch updates, and complex workflows simpler and auditable.
How to use
You connect to the GitHub MCP server from your MCP client and call the available tools to perform actions such as creating or updating files, pushing multiple files, creating issues or pull requests, forking repositories, and searching code or users. You can operate on specific repositories by providing the owner and repository name, along with the required inputs for each action. Branch handling is designed to maintain history and avoid disrupting existing workflows.
How to install
Prerequisites: you need a runtime capable of consuming MCP servers (your client). The official setup examples show two ways to run the GitHub MCP server from a development environment.
Additional setup and usage notes
Configuration is driven by environment variables and runtime commands. You can run the MCP server either via Docker or via NPX, depending on your preference for local development or integration into your toolchain. Use the provided environment variable for the GitHub Personal Access Token to authorize operations against GitHub.
Available tools
create_or_update_file
Create or update a single file in a repository by providing owner, repo, path, content, commit message, and branch. Returns the file content and commit details.
push_files
Push multiple files in a single commit to a branch, specifying owner, repo, branch, a list of files with path and content, and a commit message. Returns the updated branch reference.
search_repositories
Search for GitHub repositories using a query with optional pagination, returning repository search results.
create_repository
Create a new GitHub repository with a name, optional description, privacy setting, and auto initialization with a README.
get_file_contents
Retrieve contents of a file or directory from a repository, with an optional branch selector.
create_issue
Create a new issue in a repository, with optional assignees, labels, and milestone, returning the created issue details.
create_pull_request
Create a new pull request with a title, body, head and base branches, and optional draft and maintainer modification settings.
fork_repository
Fork a repository to a user or organization and return the forked repository details.
create_branch
Create a new branch in a repository, optionally from a specified source branch.
list_issues
List and filter issues in a repository by state, labels, sort, direction, and pagination.
update_issue
Update an existing issue with new title, body, state, labels, assignees, or milestone.
add_issue_comment
Add a comment to a specific issue and return the created comment details.
search_code
Search code across repositories with a query and optional sort/order/pagination, including repository context.
search_issues
Search for issues and pull requests with a query and optional sorting, ordering, and pagination.
search_users
Search for GitHub users with optional sorting, ordering, and pagination.
list_commits
List commits on a given branch of a repository with pagination and optional SHA filtering.
get_issue
Retrieve the details of a specific issue by number.
get_pull_request
Get details of a specific pull request, including diff and review status.
list_pull_requests
List pull requests with optional state, head/base filters, sorting, and pagination.
create_pull_request_review
Create a review on a pull request with a body, action, and optional commit and per-line comments.
merge_pull_request
Merge a pull request using a chosen method and optional commit titles/messages.
get_pull_request_files
Get the list of files changed in a pull request with patch and status details.
get_pull_request_status
Get the combined status checks for a pull request along with individual check details.
update_pull_request_branch
Update a pull request branch to incorporate the latest base branch changes, with an optional expected HEAD SHA.
get_pull_request_comments
Retrieve review comments on a pull request with author and location details.
get_pull_request_reviews
Retrieve reviews on a pull request, including state and body details.