- Home
- MCP servers
- GitHub MCP Server Plus
GitHub MCP Server Plus
- typescript
7
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": {
"phialsbasement-mcp-github-server-plus": {
"command": "docker",
"args": [
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"mcp/github"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
}
}
}
}You run a GitHub MCP Server instance to automate file operations, repository management, and code search directly from your IDE or chat prompts. This MCP Server lets you push updates, create branches, open issues, manage pull requests, and perform code searches across GitHub repositories in a controlled, auditable way.
How to use
You connect your MCP client to the GitHub MCP Server to perform common GitHub tasks without leaving your workflow. Use the server to push files, create branches, open issues, manage pull requests, fork repositories, and run code searches. Operations preserve Git history and support both single-file and multi-file actions, so you can batch updates or adjust individual files as needed.
How to install
Prerequisites: you need Node.js and/or Docker depending on how you plan to run the MCP server.
{
"mcpServers": {
"github": {
"command": "docker",
"args": [
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"mcp/github"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
}
}
}
}
Additional installation paths
If you prefer NPX-based execution, you can run the server using NPX with the provided package. This starts the MCP server without requiring a local Docker daemon.
{
"mcpServers": {
"github": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-github"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
}
}
}
}
Available tools
create_or_update_file
Create or update a single file in a repository. Requires owner, repo, path, content, and commit message with an optional branch and file SHA for updates.
push_files_content
Push multiple files with direct content in a single commit. Requires owner, repo, branch, files array (path and content), and a commit message.
push_files_from_path
Push multiple files from filesystem paths in a single commit. Requires owner, repo, branch, files array (path and filepath), and a commit message.
search_repositories
Search for GitHub repositories using a query with optional pagination.
create_repository
Create a new GitHub repository with optional description, privacy, and auto-initialization.
get_file_contents
Retrieve contents of a file or directory from a repository given owner, repo and path.
create_issue
Create a new issue with optional body, assignees, labels, and milestone.
create_pull_request
Create a new pull request with head and base branches, optional body and draft status.
fork_repository
Fork a repository to an optional organization.
create_branch
Create a new branch from a specified source branch or the default.
list_issues
List and filter issues with state, labels, sorting, 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.
search_code
Search code across repositories with various filters and sorting.
search_issues
Search for issues and pull requests with advanced query syntax.
search_users
Search for GitHub users with optional sorting and pagination.
list_commits
Get commits for a specific branch in a repository.
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, and sorting.
create_pull_request_review
Create a review on a pull request with optional inline comments.
merge_pull_request
Merge a pull request with optional commit title/message and method.
get_pull_request_files
Get the list of files changed in a pull request with patch and status.
get_pull_request_status
Get combined status checks for a pull request.
update_pull_request_branch
Update a pull request branch with the latest changes from the base.
get_pull_request_comments
Fetch review comments on a pull request.
get_pull_request_reviews
Fetch reviews on a pull request.