Get Started
GitHub
GitHub agent for repository management and code operations
Developer & Infrastructure
Available Tools(89)
createRepo
Create a new GitHub repository for the authenticated user
removeCollaborator
Remove a collaborator from a GitHub repository
createPullRequest
Create a new pull request to propose and collaborate on changes to a repository
getRepoInfo
Get detailed information about a GitHub repository including description, stars, forks, and metadata
listOrgOutsideCollaborators
List all outside collaborators of an organization
listOrgMembers
List all members of an organization
setRepoVisibility
Change repository visibility (public/private)
listPullRequests
List pull requests in a repository. ALWAYS use state parameter 'open' by default unless the user explicitly requests a different state ('closed' or 'all'). This helps avoid retrieving excessive PR data when only active PRs are needed.
listIssues
List issues in a repository
listRepoContents
Lists files and directories in a GitHub repository at a single directory level. Pass 'repo' as 'owner/repo' format (e.g. 'octocat/Hello-World'). Use 'path' parameter to specify a subdirectory (e.g. 'src/components' or leave empty for root). For single files, returns content; for directories, returns separate arrays of files and directories. Optional 'ref' parameter can specify branch/tag/commit SHA.
deleteFile
Delete a file from a repository
protectBranch
Add protection rules to a branch
uploadBinaryFile
Upload a binary file to a repository (encoded as base64)
updateIssue
Update an existing issue
unprotectBranch
Remove protection from a branch
addLabelsToIssue
Add labels to an issue
addPRReviewers
Request reviews from specific users for a pull request
requestChangesOnPR
Request changes on a pull request
closePR
Close a pull request without merging it
transferRepo
Transfer repository ownership
updateRepoSettings
Update repository settings
getWorkflowStatus
Get status of workflow runs
listPendingInvitations
List all currently open repository invitations for the given repository
declineRepositoryInvitation
Decline a repository invitation for the authenticated user
listPendingOrgInvitations
List all currently open invitations for an organization
updatePullRequest
Update fields of an existing pull request such as title, description, base branch, state (open / closed), or draft status
getPullRequestFiles
Get a list of files that were changed in a pull request, including additions, deletions, and status information
updateFile
Update specific lines of code in a GitHub repository file and commit the changes. This powerful tool allows precise line-by-line editing without modifying the entire file. Multiple edits can be made in a single commit, and each edit is applied to the specified line number. The tool provides a detailed diff of changes showing before and after content for each modified line. Changes are committed directly to the specified branch with the provided commit message.
getFileContentWithHighlights
Retrieve the content of a specific file in a GitHub repository with lines highlighted that match a search query. This tool provides a detailed view of file contents with relevant lines highlighted, making it easier to find and understand code. Each matching line is returned with its line number and content, supporting contextual analysis of code. Use this after searchRepoCode to examine specific files in detail.
listOrgIssues
List all issues across repositories in an organization, sorted by repository name
listIssuesByAssignee
List all issues assigned to a specific user across an organization, sorted by repository name
getPullRequestFilesSummary
Get a summary of files changed in a pull request with metadata only (filename, status, additions, deletions) without the actual code changes or patches
listProjects
List GitHub projects (both Classic Projects and Projects V2) for a repository, organization, user, or the authenticated user. Automatically handles both project types and returns unified results.
updateProject
Update an existing GitHub project (automatically detects Classic Projects vs Projects V2 based on project ID format and routes to appropriate API)
listProjectColumns
List all columns in a GitHub classic project board
listProjectCards
List all cards in a specific column of a GitHub classic project
moveProjectCard
Move a project card to a different position within the same column or to a different column
addProjectItem
Add an issue, pull request, or text item to a GitHub project. Automatically sets status to ensure visibility in project views. For Projects V2, adds items directly. For Classic Projects, use createProjectCard instead.
createLabel
Create a new label in a repository with custom color and description
deleteLabel
Delete a label from a repository
listCommits
List commits in a repository with optional filtering by SHA, path, author, and date range
getCommitComments
List comments for a specific commit
getCommitStatuses
Get the combined status for a specific commit
getCommitCheckRuns
Get check runs for a specific commit
getContributorsStats
Get contributors list with additions, deletions, and commit counts
addCollaborator
Add a collaborator to a GitHub repository with specified permission level
mergePullRequest
Merge an open pull request into its base branch
listRepos
List repositories owned by or accessible to a user or an organization. If the name is provided, it will return repositories for the given user or organization else it will return repositories for the authenticated user
listUserOrgs
List organizations that the authenticated user is a member of
getOrgBillingInfo
Get billing information for an organization
createOrgRepo
Create a new repository in an organization
listRepoCollaborators
List all collaborators of a repository
listBranches
List branches in a repository
checkPullRequestMergeability
Check if a pull request can be merged
getFileContent
Get content of a specific file in a GitHub repository
createBranch
Create a new branch from a specified reference
deleteBranch
Delete a branch from a repository
compareBranches
Compare two branches to see their differences including commits, file changes, and difference stats
createIssue
Create a new issue in a repository
addIssueComment
Add a comment to an issue
closeIssue
Close an open issue
approvePR
Approve a pull request
commentOnPR
Add a review comment to a pull request, optionally on specific lines
forkRepo
Fork a repository
archiveRepo
Archive a repository
triggerWorkflow
Manually trigger a GitHub Actions workflow
listWorkflowRuns
List workflow runs in a repository
listUserRepositoryInvitations
List all currently open repository invitations for the authenticated user
acceptRepositoryInvitation
Accept a repository invitation for the authenticated user
getPullRequestInfo
Get complete details for a single pull request, including title, description, state, mergeability, labels, assignees, reviewers, head/base branches, and timestamps
rebasePullRequestBranch
Rebase a pull request branch on top of its base branch to update it with the latest changes from the base branch
createFile
Create a new file in a repository. Will fail if the file already exists. GitHub automatically creates any necessary parent directories.
searchRepoCode
Search for code within a GitHub repository using GitHub's code search API. Returns matching files without content to enable fast discovery of relevant files. Search is performed across all files in the repository and results include file metadata such as name, path, and URL. Use this tool first to locate files, then use getFileContentWithHighlights to examine specific files in detail.
getUserProfile
Get public profile information for a GitHub user by username
getIssueDetails
Get detailed information about a specific issue including comments, labels, assignees, and milestone data
listPrsByAssignee
List all pull requests assigned to a specific user across an organization, grouped by repository and sorted by latest activity
getRepoFileTree
Get the file tree structure of a GitHub repository recursively with pagination support. Returns a hierarchical tree showing files and directories, along with statistics and pagination metadata. For large repositories, use limit and offset parameters to paginate through the tree. Pass 'repo' as 'owner/repo' format (e.g. 'octocat/Hello-World'). This provides a full overview of the repository structure, unlike listRepoContents which only shows one directory level.
createProject
Create a new GitHub project (automatically chooses between Classic Projects and Projects V2 based on context). For repository projects, uses Classic Projects. For organization/user projects, prefers Projects V2 with fallback to Classic.
deleteProject
Delete a GitHub project permanently (automatically detects Classic Projects vs Projects V2 based on project ID format)
createProjectColumn
Create a new column in a GitHub classic project board
createProjectCard
Create a new card in a GitHub classic project column. Can create either a note card or link an existing issue/pull request.
updateProjectItem
Update an existing item in a GitHub Projects V2 project. Can update title/body for draft issues, status, and assignee. For linked issues/PRs, use updateIssue or updatePullRequest to modify title/body.
listProjectItems
List all items in a GitHub Projects V2 project to verify they exist and see their current status. Useful for debugging project visibility issues and confirming items were added successfully.
updateLabel
Update an existing label's properties (name, color, description)
listLabels
List all labels in a repository
getCommit
Get detailed information about a specific commit including file changes, stats, and metadata
createCommitComment
Create a comment on a specific commit, optionally on a specific line or file position
getCommitSignatureVerification
Get signature verification information for a specific commit
getCommitActivity
Get the last year of commit activity data broken down by week
GitHub