GitHub API operations - repositories, issues, pull requests, actions, code security, discussions, gists, and more...
This skill provides access to the official GitHub MCP server with progressive disclosure for optimal context usage.
Context Savings: ~95% reduction
GITHUB_PERSONAL_ACCESS_TOKEN environment variable setThe server provides 80+ tools across 19 toolsets:
| Toolset | Description |
|---|---|
actions |
Workflow management, runs, jobs, artifacts |
code_security |
Scanning alerts, code analysis |
discussions |
Forum interactions |
gists |
Code snippets management |
issues |
Issue creation, updates, commenting |
labels |
Label management and filtering |
projects |
GitHub Projects board management |
pull_requests |
PR creation, review, merging |
repos |
Code search, commits, releases, branches |
users |
User search and management |
orgs |
Organization and team management |
notifications |
Notification management |
secret_scanning |
Secret scanning alerts |
context |
Context about the user |
Use the gh CLI for GitHub operations:
# Get repository info
gh repo view anthropics/claude-code
# List issues
gh issue list --repo anthropics/claude-code
# Search code
gh search code "language:python MCP"
# Create issue
gh issue create --repo me/myrepo --title "Bug" --body "Description"
# List pull requests
gh pr list --repo anthropics/claude-code
search_repositories - Search for repositoriescreate_repository - Create a new repositoryfork_repository - Fork a repositorylist_commits - List repository commitsget_commit - Get commit detailsget_file_contents - Get file contents from a repositorycreate_or_update_file - Create or update a filedelete_file - Delete a filepush_files - Push multiple filessearch_code - Search for code across GitHublist_branches - List repository branchescreate_branch - Create a new branchlist_tags - List repository tagsget_tag - Get tag detailslist_releases - List releasesget_latest_release - Get latest releaseget_release_by_tag - Get release by taglist_issues - List repository issuesissue_read - Read issue detailsissue_write - Create/update issuesadd_issue_comment - Add a comment to an issuesearch_issues - Search for issueslist_issue_types - List issue types (for organizations)get_label - Get label detailssub_issue_write - Manage sub-issuesassign_copilot_to_issue - Assign Copilot to an issuelist_pull_requests - List repository pull requestspull_request_read - Read PR detailscreate_pull_request - Create a new PRupdate_pull_request - Update a PRupdate_pull_request_branch - Update PR branchmerge_pull_request - Merge a PRsearch_pull_requests - Search for pull requestspull_request_review_write - Create/submit PR reviewsadd_comment_to_pending_review - Add comments to pending reviewrequest_copilot_review - Request Copilot reviewget_me - Get current authenticated usersearch_users - Search for usersget_teams - Get organization teamsget_team_members - Get team membersThe skill uses Docker to run the official GitHub MCP server:
ghcr.io/github/github-mcp-serverGITHUB_PERSONAL_ACCESS_TOKEN environment variable| Variable | Required | Description |
|---|---|---|
GITHUB_PERSONAL_ACCESS_TOKEN |
Yes | GitHub PAT for authentication |
GITHUB_HOST |
No | For GitHub Enterprise (default: github.com) |
GITHUB_TOOLSETS |
No | Comma-separated toolsets to enable |
GITHUB_READ_ONLY |
No | Set to 1 for read-only mode |
When using MCP, configure toolsets via environment variables:
# Only repos and issues
GITHUB_TOOLSETS=repos,issues
# Only pull requests and code security
GITHUB_TOOLSETS=pull_requests,code_security
If operations fail:
docker psecho $GITHUB_PERSONAL_ACCESS_TOKENgh auth status to verify authenticationBefore starting:
Read .claude/context/memory/learnings.md
After completing:
.claude/context/memory/learnings.md.claude/context/memory/issues.md.claude/context/memory/decisions.mdASSUME INTERRUPTION: If it's not in memory, it didn't happen.