- Home
- MCP servers
- GitHub
GitHub
- typescript
0
GitHub Stars
typescript
Language
4 months ago
First Indexed
3 weeks 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": {
"nermalcat69-zerops-mcp": {
"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 through a dedicated MCP Server that exposes file operations, repo management, search, issues, PRs, and more. It automates common Git operations, preserves history, and supports batch actions, making it easier to integrate GitHub workflows into your MCP-enabled tooling.
How to use
You interact with the MCP server through an MCP client or integration that can send requests for file operations, repository management, searches, issues, and pull requests. Start by choosing a local runtime (stdio) or a remote HTTP endpoint depending on how you deploy the server. When you use the provided server, you gain automatic branch creation, robust error handling, and batch operation support for multi-file changes.
How to install
Prerequisites: you need Node.js or a runtime capable of running the MCP client, and Docker if you plan to run the server via a container. If you are using the provided Docker-based runtime, you will run a Docker container that hosts the MCP server endpoint.
Install and run the MCP server using one of the following configuration options. Use the one that matches your preferred deployment method.
{
"mcpServers": {
"github": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"mcp/github"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
}
}
}
}
{
"mcpServers": {
"github": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-github"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
}
}
}
}
Additional sections
Setup requires generating a GitHub Personal Access Token with appropriate scopes for repository access. You will supply this token to the MCP client or server runtime so it can authenticate with GitHub.
Build and run notes: if you use a container image, ensure the environment variable for the GitHub token is provided to the container. If you use NPX to run the server, the token must be passed through environment variables similarly.
Available tools
create_or_update_file
Create or update a single file in a repository with a commit message and optional branch. Returns file content and commit details.
push_files
Push multiple files in a single commit to a specific branch. Returns the updated branch reference.
search_repositories
Search for GitHub repositories using a query with pagination options.
create_repository
Create a new GitHub repository with optional description, privacy setting, and README initialization.
get_file_contents
Retrieve contents of a file or directory from a repository.
create_issue
Create a new issue in a repository with title, body, assignees, labels, and milestone.
create_pull_request
Create a new pull request with title, body, head and base branches, and optional draft/maintainer edit options.
fork_repository
Fork a repository to your account or an organization.
create_branch
Create a new branch from a source branch or default branch.
list_issues
List and filter issues in a repository by state, labels, sort, and pagination.
update_issue
Update an existing issue with new title, body, state, labels, assignees, and milestone.
add_issue_comment
Add a comment to an issue with the body text.
search_code
Search for code across repositories using code search syntax with sorting and pagination.
search_issues
Search for issues and pull requests using GitHub search syntax with sorting and pagination.
search_users
Search for GitHub users using search syntax with sorting and pagination.
list_commits
Get commits for a branch in a repository with pagination.
get_issue
Retrieve details of a specific issue.
get_pull_request
Get details of a specific pull request, including diff and reviews.
list_pull_requests
List and filter pull requests by state, head, base, sort, and pagination.
create_pull_request_review
Create a review on a pull request with body, event, and optional line-specific comments.
merge_pull_request
Merge a pull request with optional merge method and commit details.
get_pull_request_files
Get the list of files changed in a pull request with patch and status.
get_pull_request_status
Get the combined status of all checks for a pull request.
update_pull_request_branch
Update a pull request branch with the latest changes from the base branch.
get_pull_request_comments
Get review comments on a pull request.
get_pull_request_reviews
Get the reviews on a pull request, including state and body.