Get Started
GitHub
GitHub agent for repository management and code operations
Developer & Infrastructure
Available Tools(100)
createRepo
Create a new GitHub repository for the authenticated user
removeCollaborator
Remove a collaborator from a GitHub repository or from all repositories in an organization. **IMPORTANT NOTE**: ALWAYS ask the user to clarify the scope before removing: 'Do you want to remove this user from (1) a specific repository, or (2) from ALL repositories in the organization?' Do not assume - always confirm user's intent first. If 'repo' is provided, removes from that single repository. If 'org' is provided instead, removes from ALL repositories in the organization where they are an outside collaborator.
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 with pagination (default 10 PRs, max 15). Returns summary statistics (total PRs, state, sort order), lightweight PR list (number, title, state, user, labels, assignees, requested_reviewers, requested_teams) for LLM, and full PR data (with IDs, avatars, label colors, head/base branch info, reviewer and team details) in bhindi.structuredContent for UI. ALWAYS use state parameter 'open' by default unless explicitly requested. Perfect for managing PRs without overwhelming context. Use page parameter to navigate through PRs.
listIssues
List issues in a repository with comprehensive pagination support. Returns total issue count, page information, and clearly indicates if more issues are available. This returns only issues and excludes pull requests, use listPRs for pull requests
listRepoContents
Lists files and directories in a GitHub repository at a single directory level with pagination (default 30 items per page). Returns summary statistics (total files/dirs, total size), paginated list of items for current page, and full data in bhindi.structuredContent for UI. Perfect for browsing large directories without overwhelming context. Use 'page' parameter to navigate through items. Pass 'repo' as 'owner/repo' format. For single files, returns file content directly.
deleteFile
Delete a file from a repository
protectBranch
Add protection rules to a branch
compareBranches
Compare two branches or commits to see their differences including commits, file changes, and stats. Returns lightweight summary (commit list limited to 10, file metadata without patches, pagination support) for LLM context efficiency. Full commit history and complete unified diffs with patches for all files are available in bhindi.structuredContent for UI rendering. Supports pagination for file listings (default 30 files per page). Perfect for understanding branch differences before merging or reviewing changes across branches.
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
getPullRequestFiles
Get detailed information about files changed in a pull request with CHANGED LINES ONLY (no context lines). Returns summary stats for the entire PR, plus compact diffs showing only added (+) and deleted (-) lines for each file. This approach is 60-70% more compact than full diffs, allowing you to see changes in many more files (default 15 files, up to 50). Files are sorted by importance (modified > added > deleted). For files with 150+ changed lines, shows first 150 changes with truncation note. Response stays under 15K character limit. Use file_limit to control how many files to see, and file_page to navigate through large PRs. Perfect for PR summaries and understanding what changed across many files. Full unified diffs with context are available in bhindi.structuredContent for UI rendering.
searchRepoCode
Search for code within a GitHub repository with pagination (default 10 results, max 15). Returns summary statistics (total matches, query, repository), lightweight search results (filename, path, repository name for UX context) for LLM, and full file metadata (URLs, SHAs) in bhindi.structuredContent for UI. Perfect for fast code discovery without overwhelming context. Use page parameter to navigate through results.
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 pagination (default 10 per page). Returns summary statistics (total commits, unique authors, date range, top contributors), lightweight commit info (short SHA, first line of message) for LLM, and full commit data (complete messages, author/committer details, avatars, verification) in bhindi.structuredContent for UI. Supports 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 statistics with pagination (default 30 per page). Returns summary statistics (total contributors, commits, additions, deletions, top contributors), lightweight contributor totals for LLM, and full weekly breakdown data (52 weeks per contributor) in bhindi.structuredContent for UI. Perfect for understanding repository contribution patterns without overwhelming context.
listPRs
List pull requests (PRs) in a repository with pagination (default 10 PRs, max 15). Returns only PRs (excludes issues). Returns summary statistics (total PRs, state, sort order), lightweight PR list (number, title, state, user, labels, assignees) for LLM, and full PR data (with IDs, node_ids, avatars, label colors, pull_request URLs) in bhindi.structuredContent for UI. Perfect for managing PRs without overwhelming context. Use page parameter to navigate through PRs.
deletePRComment
Delete a pull request review comment by comment ID
revertCommit
Revert the most recent commit (HEAD) on a branch by creating a new commit that undoes all its changes. This is the proper way to undo the latest commit - it creates a new revert commit rather than rewriting history. LIMITATION: Can only revert the HEAD commit (latest commit on the branch). For reverting older commits, use GitHub web interface or create a manual revert Pull Request. Creates a clear audit trail with standard Git revert message format.
rebaseBranch
Update a pull request branch with the latest changes from its base branch by rebasing. This uses GitHub's update-branch API endpoint to keep the PR branch up-to-date with the target branch without creating a merge commit.
listGists
List gists for the authenticated user with pagination (default 10 per page). Returns summary of gists with file names, descriptions, and URLs.
updateGist
Update an existing gist by modifying files, adding new files, deleting files, or changing the description. To delete a file, set its value to null.
listPublicGists
List public gists from all users with pagination (default 10 per page). Returns recently created public gists.
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 with pagination (default 30 per page). Returns summary statistics (total repos, stars, forks, languages), paginated list of repos with key metadata for LLM, and complete repository data (including owner avatars, topics, timestamps) in bhindi.structuredContent for UI. Sorted by most recently updated.
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 with pagination (default 30 per page). Returns total count, paginated list with usernames and permissions for LLM, and full collaborator data (including avatars, URLs) in bhindi.structuredContent for UI.
listBranches
List branches in a repository with pagination (default 20 branches, max 50). Returns summary statistics (total branches, protected/unprotected counts), lightweight branch list (name, protected status) for LLM, and full branch data (with commit SHA, commit URL) in bhindi.structuredContent for UI. Perfect for branch management without overwhelming context. Use page parameter to navigate through branches.
checkPullRequestMergeability
Check if a pull request can be merged
getFileContent
Get content of a specific file in a GitHub repository with pagination (default 250 lines per page, max 500). Returns file content for requested line range, pagination info with navigation help, and recent commit history for LLM. Full file content and metadata available in bhindi.structuredContent for UI. Supports both page-based pagination (page/per_page) and custom line ranges (lines). Perfect for reading code files without overwhelming context.
createBranch
Create a new branch from a specified reference
deleteBranch
Delete a branch from a repository
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
createFile
Create a new file in a repository. Will fail if the file already exists. GitHub automatically creates any necessary parent directories.
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 (default 1000 items per page). Returns summary statistics (total files/dirs, size, file types), top-level directory navigation, and lightweight pagination info for LLM, with complete hierarchical tree structure in bhindi.structuredContent for UI. Perfect for exploring large repositories without overwhelming context. Use offset parameter to navigate through items.
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
updateWholeFile
Update the entire content of a file in a GitHub repository and commit the changes. Automatically chooses the best method based on file size: standard API for small files (<50KB), enhanced validation for medium files (50KB-5MB), Git Blobs API for large files (5MB-50MB). Rejects files >50MB (use Git LFS). Important: This tool replaces the ENTIRE file content - for small edits (few lines), use updateFile tool instead. Rejects empty content (use deleteFile or createFile instead). Handles all text formats including newlines, tabs, and special characters via base64 encoding. Returns warning if content appears minimal but still proceeds. Response includes additions/deletions counts for LLM, and complete line-by-line diff with line numbers in bhindi.structuredContent for UI rendering (shows exactly which lines changed: -15: old line, +15: new line).
deleteIssueComment
Delete an issue comment by comment ID
deleteCommitComment
Delete a commit comment by comment ID
listPRComments
List all comments on a pull request, including both general conversation comments and code review comments. Returns summary stats and RECENT comments only (default 20, configurable 1-50) to avoid overwhelming context. Use comment_page parameter to navigate through older comments. Comments are shown NEWEST-FIRST for better conversation context. Use higher comment_limit for more context, lower for faster responses. Pagination info tells you if more pages exist. Full comment data available in bhindi.structuredContent for UI rendering.
createGist
Create a new GitHub gist (code snippet) with one or more files. Gists can be public or private and are perfect for sharing code snippets, notes, or configuration files.
getGist
Get detailed information about a specific gist including all file contents, description, and metadata
deleteGist
Permanently delete a gist. This action cannot be undone.
listUserGists
List all public gists for a specific GitHub user with pagination (default 10 per page)
GitHub