
Github
Summary
The GitHub MCP Server provides a comprehensive interface for interacting with the GitHub API, offering features such as automatic branch creation, comprehensive error handling, and Git history preservation. It supports both single and batch file operations, advanced search capabilities for code, issues, pull requests, and users, and tools for creating or updating files, repositories, and issues. This project is particularly useful for developers and teams who need to streamline their GitHub workflow, automate repository management tasks, and maintain efficient version control. By simplifying complex operations and ensuring proper Git history management, it enhances productivity and reduces the risk of errors during repository interactions.
Available Actions(26)
create_or_update_file
Create or update a single file in a repository. Inputs: owner (string), repo (string), path (string), content (string), message (string), branch (string), sha (optional string)
push_files
Push multiple files in a single commit. Inputs: owner (string), repo (string), branch (string), files (array), message (string)
search_repositories
Search for GitHub repositories. Inputs: query (string), page (optional number), perPage (optional number)
create_repository
Create a new GitHub repository. Inputs: name (string), description (optional string), private (optional boolean), autoInit (optional boolean)
get_file_contents
Get contents of a file or directory. Inputs: owner (string), repo (string), path (string), branch (optional string)
create_issue
Create a new issue. Inputs: owner (string), repo (string), title (string), body (optional string), assignees (optional string[]), labels (optional string[]), milestone (optional number)
create_pull_request
Create a new pull request. Inputs: owner (string), repo (string), title (string), body (optional string), head (string), base (string), draft (optional boolean), maintainer_can_modify (optional boolean)
fork_repository
Fork a repository. Inputs: owner (string), repo (string), organization (optional string)
create_branch
Create a new branch. Inputs: owner (string), repo (string), branch (string), from_branch (optional string)
list_issues
List and filter repository issues. Inputs: owner (string), repo (string), state (optional string), labels (optional string[]), sort (optional string), direction (optional string), since (optional string), page (optional number), per_page (optional number)
update_issue
Update an existing issue. Inputs: owner (string), repo (string), issue_number (number), title (optional string), body (optional string), state (optional string), labels (optional string[]), assignees (optional string[]), milestone (optional number)
add_issue_comment
Add a comment to an issue. Inputs: owner (string), repo (string), issue_number (number), body (string)
search_code
Search for code across GitHub repositories. Inputs: q (string), sort (optional string), order (optional string), per_page (optional number), page (optional number)
search_issues
Search for issues and pull requests. Inputs: q (string), sort (optional string), order (optional string), per_page (optional number), page (optional number)
search_users
Search for GitHub users. Inputs: q (string), sort (optional string), order (optional string), per_page (optional number), page (optional number)
list_commits
Gets commits of a branch in a repository. Inputs: owner (string), repo (string), page (optional string), per_page (optional string), sha (optional string)
get_issue
Gets the contents of an issue within a repository. Inputs: owner (string), repo (string), issue_number (number)
get_pull_request
Get details of a specific pull request. Inputs: owner (string), repo (string), pull_number (number)
list_pull_requests
List and filter repository pull requests. Inputs: owner (string), repo (string), state (optional string), head (optional string), base (optional string), sort (optional string), direction (optional string), per_page (optional number), page (optional number)
create_pull_request_review
Create a review on a pull request. Inputs: owner (string), repo (string), pull_number (number), body (string), event (string), commit_id (optional string), comments (optional array)
merge_pull_request
Merge a pull request. Inputs: owner (string), repo (string), pull_number (number), commit_title (optional string), commit_message (optional string), merge_method (optional string)
get_pull_request_files
Get the list of files changed in a pull request. Inputs: owner (string), repo (string), pull_number (number)
get_pull_request_status
Get the combined status of all status checks for a pull request. Inputs: owner (string), repo (string), pull_number (number)
update_pull_request_branch
Update a pull request branch with the latest changes from the base branch. Inputs: owner (string), repo (string), pull_number (number), expected_head_sha (optional string)
get_pull_request_comments
Get the review comments on a pull request. Inputs: owner (string), repo (string), pull_number (number)
get_pull_request_reviews
Get the reviews on a pull request. Inputs: owner (string), repo (string), pull_number (number)
Community Reviews
No reviews yet. Be the first to review!
Sign in to join the conversation
Quick Setup
Bundle and Download
Our bundler currently only supports TypeScript-based servers. Check back soon!