GitHub MCP server for AI-driven peer code reviews and developer issue management.
cp .env.example .env
# Edit .env and add your GITHUB_TOKEN
uv syncuv run github-mcpAdd to your MCP config:
{
"mcpServers": {
"github": {
"command": "uv",
"args": ["--directory", "/path/to/github-mcp", "run", "github-mcp"],
"env": {
"GITHUB_TOKEN": "ghp_your_token_here"
}
}
}
}Or run this command:
claude mcp add github-mcp --env GITHUB_TOKEN="ghp_your_token_here" -- uv --directory "/path/to/github-mcp" run github-mcp gh_get_issue # read the ticket
gh_create_branch # create fix/issue-42-slug from main
# ... make code changes ...
gh_create_pull_request # open PR with "Closes #42" in body
gh_request_pr_reviewers # add reviewers
gh_submit_review # AI review: approve or request changes
gh_merge_pull_request # squash merge when approved
gh_delete_branch # clean up
gh_list_branches— list branches with protection statusgh_get_branch— branch detail + latest commit SHAgh_create_branch— create from branch name, tag, or SHAgh_delete_branch— delete after merge
gh_create_pull_request— open PR with labels, assignees, reviewers, draft modegh_update_pull_request— update title/body/base/state/draftgh_merge_pull_request— merge/squash/rebasegh_request_pr_reviewers— add reviewers or teams
gh_list_pull_requests— list PRsgh_get_pull_request— PR metadatagh_get_pull_request_files— per-file diffs (start here for reviews)gh_get_pull_request_diff— raw unified diffgh_get_pull_request_commits— commit listgh_get_pull_request_reviews— existing reviewsgh_submit_review— post review with inline commentsgh_post_review_comment— single inline comment
gh_list_issues— list with filtersgh_get_issue— full issue detailgh_get_issue_comments— issue comment threadgh_create_issue— plain issuegh_create_ai_issue— structured AI-analyzed issue (severity, root cause, fix, acceptance criteria)gh_update_issue— update fieldsgh_add_issue_comment— add commentgh_close_issue— close with reasongh_search_issues— search with GitHub qualifiersgh_list_repo_labels— available labelsgh_list_milestones— available milestones
gh_get_repo— repo metadatagh_get_file_content— file/directory content