Manage repositories, issues, pull requests, and code on GitHub.
Assign a user to a pull request with intelligent search and fuzzy matching.
Check if a pull request is ready to merge without attempting the merge.
Count the number of stargazers (stars) for a GitHub repository.
Create a new branch in a repository.
Create a new file or overwrite an existing file in a repository. The explicit mode parameter reduces accidental data loss: the default CREATE mode refuses to touch existing files, while OVERWRITE must be chosen intentionally.
Create an issue in a GitHub repository. Optionally add the created issue to a project by specifying add_to_project_number and add_to_project_scope.
Create a comment on an issue in a GitHub repository.
Create a pull request in a GitHub repository.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-03-06 | A+ | 96 | - | v1 |
Create a reply to a review comment for a pull request. Optionally resolve the conversation thread after replying by setting resolve_thread=True and providing the thread_id (GraphQL Node ID).
Create a review comment for a pull request in a GitHub repository. IMPORTANT: Line numbers must be part of the diff (changed lines only). GitHub's API requires line numbers that exist in the pull request diff, not just any line in the file. If the line wasn't changed in the PR, the comment will fail with 422 error. If the subject_type is not 'file', then the start_line and end_line parameters are required. If the subject_type is 'file', then the start_line and end_line parameters are ignored. If the commit_id is not provided, the latest commit SHA from the PR will be used. TIP: Use subject_type='file' to comment on the entire file if unsure about line positions.
Get the contents of a file in a repository. Returns the decoded content (if text) along with metadata like SHA, size, and line count. For large files, use start_line and end_line to retrieve specific line ranges.
Get a specific issue from a GitHub repository.
Get details of a pull request in a GitHub repository.
Get a repository. Retrieves detailed information about a repository using the GitHub API.
Get pull requests awaiting review by the authenticated user. Returns PRs where user is requested as reviewer and PRs user has recently reviewed.
Get user's currently open pull requests and issues across all repositories. Returns open PRs and issues authored by the authenticated user.
Get the authenticated user's recent pull requests, reviews, issues, and commits. Returns PRs they authored, merged PRs, PRs they reviewed, issues they opened, and commits pushed
List issues in a GitHub repository.
List repositories for the specified organization.
List fields for a Projects V2 project. Returns all custom fields configured for the project, including field types and available options for select/iteration fields.
List items for a Projects V2 project with optional filtering.
List Projects V2 across organization or user scopes.
List commits (from oldest to newest) on a pull request in a GitHub repository.
List pull requests in a GitHub repository. By default returns newest pull requests first (direction=DESC).
List repository activities. Retrieves a detailed history of changes to a repository, such as pushes, merges, force pushes, and branch changes, and associates these changes with commits and users.
List collaborators for a repository. Returns users who have access to the repository and can be requested as reviewers for pull requests. Useful for discovering who can review your PR. Detail levels: - basic: Only explicit collaborators (fast, minimal API calls) - include_org_members: Add all org members (default, moderate API calls) - full_profiles: Add org members + enrich with names/emails (slow, many API calls)
List all labels defined in a repository.
List review comments in a GitHub repository.
List review comments on a pull request in a GitHub repository.
List the stargazers for a GitHub repository. Returns stargazers in chronological order (oldest first).
Add or remove labels from an issue or pull request. Supports fuzzy matching for typo tolerance. Both issues and pull requests support labels through the same API. You can add and remove labels in a single operation.
Manage reviewers for a pull request.
Merge a pull request in a GitHub repository.
Resolve or unresolve a pull request review conversation thread.
Search repositories accessible to the authenticated user with fuzzy matching.
Search for a specific item in a Projects V2 project.
Star or un-star a GitHub repository.
Submit a review for a pull request.
Replace a block of lines within a file (1-indexed, inclusive). Set mode=FileUpdateMode.APPEND to add new content to the end of the file.
Update an issue in a GitHub repository. Parameters that are not provided (None) will not be updated or cleared. Updates apply to the issue in the repository. If the issue is in a project, the project item will automatically reflect these changes.
Update a pull request in a GitHub repository.
Get information about the authenticated GitHub user. Returns profile, organizations, and teams.