
GitHub
Manage repositories, issues, pull requests, and automate your development workflow
Available Tools (70)
GITHUB CUSTOM GATHER CONTEXT
Get GitHub context snapshot: assigned issues, PRs, review requests, notifications. Zero required parameters. Returns current GitHub state for situational awareness.
GITHUB ADD A REPOSITORY COLLABORATOR
Adds a GitHub user as a repository collaborator, or updates their permission if already a collaborator; `permission` applies to organization-owned repositories (personal ones default to 'push' and ignore this field), and an invitation may be created or permissions updated directly.
GITHUB ADD ASSIGNEES TO AN ISSUE
Adds assignees to a GitHub issue. This action only adds users - it does not remove existing assignees. Changes are silently ignored if the authenticated user lacks push access to the repository.
GITHUB ADD LABELS TO AN ISSUE
Adds labels (provided in the request body) to a repository issue; labels that do not already exist are created.
GITHUB COMPARE TWO COMMITS
Compares two commit points (commits, branches, tags, or SHAs) within a repository or across forks, using `BASE...HEAD` or `OWNER:REF...OWNER:REF` format for the `basehead` parameter.
GITHUB CREATE A COMMIT COMMENT
Creates a comment on a specific commit, or on a specific line if `path` and `position` are provided.
GITHUB CREATE A FORK
Creates a fork of an accessible repository, optionally into a specific organization, with a new name, or copying only the default branch.
GITHUB CREATE A LABEL
Creates a new label in a specified GitHub repository, provided the repository exists and the user has write permissions.
GITHUB CREATE AN ISSUE
Creates a new issue in a GitHub repository, requiring the repository to exist and have issues enabled; specific fields like assignees, milestone, or labels may require push access.
GITHUB CREATE AN ISSUE COMMENT
Creates a new comment on an existing GitHub issue or pull request within the specified repository.
GITHUB CREATE A PULL REQUEST
Creates a pull request in a GitHub repository, requiring existing `base` and `head` branches; `title` or `issue` must be provided.
GITHUB CREATE A REPOSITORY FOR THE AUTHENTICATED USER
Creates a new repository for the authenticated user, optionally within an organization if `team_id` is specified.
GITHUB CREATE A REVIEW COMMENT FOR A PULL REQUEST
Creates a review comment on a pull request's diff, targeting a specific line, range of lines, an entire file, or replying to an existing comment.
GITHUB CREATE A REVIEW FOR A PULL REQUEST
Creates a pull request review, allowing approval, change requests, or comments; `body` is required if `event` is `REQUEST_CHANGES` or `COMMENT`, and omitting `event` makes the review `PENDING`.
GITHUB CREATE OR UPDATE FILE CONTENTS
Creates a new file or updates an existing file in a GitHub repository; SHA can be provided to validate file updates, automatically fetched if not provided.
GITHUB DELETE A FILE
Deletes a file by path from a GitHub repository. The file's blob SHA is automatically fetched if not provided.
GITHUB DELETE BRANCH PROTECTION
Removes all protection rules from a specific branch in a GitHub repository; the branch must currently have protection rules enabled.
GITHUB DISMISS A REVIEW FOR A PULL REQUEST
Dismisses an APPROVED or CHANGES_REQUESTED review on a pull request with a mandatory explanatory message. IMPORTANT: Only reviews in APPROVED or CHANGES_REQUESTED state can be dismissed. Reviews in COMMENTED, PENDING, or already DISMISSED state will return a 422 error. To dismiss a review on a protected branch, you must be a repository admin or be authorized to dismiss pull request reviews.
GITHUB GET A BRANCH
Retrieves detailed information for a specified branch within a GitHub repository.
GITHUB GET A COMMIT
Retrieves a specific commit from a repository by its owner, name, and a valid commit reference (SHA, branch, or tag), supporting pagination for large diffs.
GITHUB GET AN ISSUE
Retrieves detailed information about a specific issue in a repository using the owner, repository name, and issue number.
GITHUB GET AN ISSUE COMMENT
Action to get an issue comment.
GITHUB GET A PULL REQUEST
Retrieves a specific pull request from a GitHub repository using its owner, repository name, and pull request number.
GITHUB GET A REPOSITORY
Retrieves detailed information about an existing and accessible GitHub repository.
GITHUB GET A REPOSITORY README
Fetches the README file (if it exists and is accessible) from a specified GitHub repository, returning its Base64-encoded content and metadata.
GITHUB GET A REVIEW COMMENT FOR A PULL REQUEST
Retrieves a specific pull request review comment by its ID, provided the repository exists, is accessible, and the comment ID is valid.
GITHUB GET A REVIEW FOR A PULL REQUEST
Retrieves a specific review for a pull request using its owner, repository, pull request number, and review ID.
GITHUB GET A USER
Retrieves the public profile information for an existing GitHub user, specified by their username.
GITHUB GET BRANCH PROTECTION
Retrieves branch protection settings for a specific, existing, and accessible branch in a GitHub repository; protection feature availability varies by GitHub product plan.
GITHUB GET REPOSITORY CONTENT
Retrieves a file's Base64 encoded content or lists a directory's contents from a GitHub repository.
GITHUB GET THE AUTHENTICATED USER
Gets the profile information for the currently authenticated GitHub user, including potentially private details based on user settings.
GITHUB LIST ASSIGNEES
Lists users who can be assigned to issues in a repository, typically those with push access.
GITHUB LIST BRANCHES
Lists branches for an existing GitHub repository, with an option to filter by protection status.
GITHUB LIST BRANCHES FOR HEAD COMMIT
Lists branches in an accessible repository where the provided commit SHA is the head, useful for identifying development lines based on that commit.
GITHUB LIST COMMIT COMMENTS FOR A REPOSITORY
Lists all commit comments for a specified repository, which must exist and be accessible.
GITHUB LIST COMMITS
Lists commits for a GitHub repository. Requires 'owner' (username/org) and 'repo' (repository name) parameters. Optionally filter by SHA/branch, path, author, committer, or date range.
GITHUB LIST COMMITS ON A PULL REQUEST
Lists commits for a pull request; requires the repository and pull request to exist and be accessible, and supports pagination.
GITHUB LIST EMAIL ADDRESSES FOR THE AUTHENTICATED USER
Lists all email addresses for the authenticated user, including their primary status, verification status, and visibility. This action retrieves the complete list of email addresses associated with the authenticated user, providing important details such as which email is primary and whether the emails are verified.
GITHUB LIST ISSUE COMMENTS
Lists comments for a specified issue in a GitHub repository.
GITHUB LIST ISSUES ASSIGNED TO THE AUTHENTICATED USER
Lists GitHub issues for the authenticated user across visible repositories, with filtering by user relationship, state, labels, an ISO 8601 `since` timestamp (YYYY-MM-DDTHH:MM:SSZ), and sorting options; pull requests are typically included.
GITHUB LIST LABELS FOR AN ISSUE
Lists all labels for a specified issue in a GitHub repository.
GITHUB LIST LABELS FOR A REPOSITORY
Retrieves all labels for a specified, existing GitHub repository.
GITHUB LIST ORGANIZATION REPOSITORIES
Retrieves a list of repositories for a specified GitHub organization, allowing filtering by type and sorting.
GITHUB LIST ORGANIZATIONS
Lists GitHub organizations for the authenticated user, sorted by ID in ascending order.
GITHUB LIST ORGANIZATIONS FOR THE AUTHENTICATED USER
Lists organizations the authenticated GitHub user is a member of, returning details for each organization.
GITHUB LIST PULL REQUESTS
Lists pull requests for a GitHub repository. REQUIRES 'owner' AND 'repo' parameters - both are MANDATORY and must be provided in every call. Does NOT support filtering by assignee or date range - use GITHUB_FIND_PULL_REQUESTS instead for searching PRs by assignee, author, or across multiple repositories.
GITHUB LIST PULL REQUESTS FILES
Lists all files (including additions, modifications, and removals) associated with a specific pull request in a GitHub repository.
GITHUB LIST REPOSITORIES FOR THE AUTHENTICATED USER
Lists repositories for the authenticated user; using 'type' with 'visibility' or 'affiliation' API parameters (not in this model) can cause a 422 error.
GITHUB LIST REPOSITORY ISSUES
Lists issues (including pull requests) from a GitHub repository. Requires BOTH 'owner' AND 'repo' parameters (e.g., owner='octocat', repo='Hello-World' for github.com/octocat/Hello-World).
GITHUB LIST REVIEW COMMENTS ON A PULL REQUEST
Lists all review comments on a specific pull request within a GitHub repository.
GITHUB LIST REVIEWS FOR A PULL REQUEST
Lists submitted reviews chronologically for a specific pull request within a GitHub repository.
GITHUB LIST SOCIAL ACCOUNTS FOR THE AUTHENTICATED USER
Lists all social media accounts linked to the authenticated user's GitHub profile. This action retrieves the social media accounts associated with the user's GitHub profile, allowing for easy management and visibility of connected accounts. The results include accounts such as Twitter, LinkedIn, and other platforms linked to the GitHub profile.
GITHUB LOCK AN ISSUE
Locks an existing GitHub issue's conversation, preventing further comments; an optional reason can be specified.
GITHUB MERGE A BRANCH
Merges a head branch or commit SHA into a base branch in a repository; fails if there are merge conflicts requiring manual resolution.
GITHUB MERGE A PULL REQUEST
Merges an open and mergeable pull request in a repository. A 405 error can occur for multiple reasons: (1) The PR is still in draft mode - convert it to ready-for-review first using GITHUB_UPDATE_A_PULL_REQUEST. (2) Branch protection rules are not satisfied - check for required approving reviews, status checks, or other repository rules that must be met before merging. (3) The base branch has been modified since the PR was last synced - update the PR branch first using GITHUB_UPDATE_A_PULL_REQUEST_BRANCH.
GITHUB REMOVE A LABEL FROM AN ISSUE
Removes a label currently applied to a specific issue in a repository.
GITHUB REMOVE ASSIGNEES FROM AN ISSUE
Removes specified assignees from a GitHub issue; requires push access, and invalid removal attempts are silently ignored.
GITHUB REMOVE REQUESTED REVIEWERS FROM A PULL REQUEST
Removes currently assigned user logins and/or team slugs from a GitHub pull request's list of requested reviewers.
GITHUB REQUEST REVIEWERS FOR A PULL REQUEST
Adds reviewers to a specific pull request identified by owner, repo, and pull_number. This is NOT a search action - it operates on an already-known PR number. Requires `owner`, `repo`, `pull_number`, and at least one of `reviewers` or `team_reviewers`.
GITHUB SEARCH ISSUES AND PULL REQUESTS
Searches GitHub for issues and pull requests. Supports keywords, qualifiers (repo:, org:, user:, state:, label:, author:, assignee:, mentions:, etc.), and type filters (is:issue, is:pr). Type filters cannot be used alone - they must be combined with at least one keyword or other qualifier. All other qualifiers work independently. The @me shorthand (e.g., assignee:@me, mentions:@me) is automatically resolved to your username. Logical operators (AND, OR, NOT) are supported but limited to a maximum of 5 operators total per query.
GITHUB SEARCH REPOSITORIES
Searches GitHub repositories using a flexible query (keywords, qualifiers) with sorting, ordering, and pagination. IMPORTANT: The 'q' parameter (search query) is REQUIRED and must always be provided.
GITHUB SET LABELS FOR AN ISSUE
Replaces all existing labels on a GitHub issue with a new set of labels.
GITHUB STAR A REPOSITORY FOR THE AUTHENTICATED USER
Stars a specified repository (identified by owner and repo name) for the authenticated user; this action is idempotent and succeeds even if the repository is already starred. Requires explicit repository identification via owner and repo parameters.
GITHUB SUBMIT A REVIEW FOR A PULL REQUEST
Finalizes a pending pull request review (identified by `review_id`) with a required `event` (APPROVE, REQUEST_CHANGES, COMMENT) and an optional `body`.
GITHUB UNLOCK AN ISSUE
Unlocks a currently locked GitHub issue in the specified repository, allowing new comments and interactions.
GITHUB UPDATE A LABEL
Updates an existing label's name, color, or description within a specified repository.
GITHUB UPDATE AN ISSUE
Updates an existing GitHub issue's title, body, state, milestone, labels, or assignees; `state_reason` is only processed if `state` also changes, and use `null` or `[]` to clear applicable fields.
GITHUB UPDATE AN ISSUE COMMENT
Updates an existing comment on an issue or pull request within a specified repository. You can only update comments that the authenticated user has permission to edit. The comment_id can be obtained from the list_issue_comments or get_an_issue_comment actions.
GITHUB UPDATE A PULL REQUEST
Updates an existing pull request, allowing changes to attributes like title, body, state, base branch, and maintainer modification settings.
GITHUB UPDATE BRANCH PROTECTION
Updates the protection settings for an existing branch in a repository, which must not contain wildcard characters.
What you can do with GAIA + GitHub
GAIA connects to GitHub via MCP (Model Context Protocol) and exposes every action as a natural-language command. Tell GAIA what you want — it handles the rest, automatically.
- Use GAIA to github custom gather context in GitHub with a plain-English instruction
- Use GAIA to github add a repository collaborator in GitHub with a plain-English instruction
- Use GAIA to github add assignees to an issue in GitHub with a plain-English instruction
- Use GAIA to github add labels to an issue in GitHub with a plain-English instruction
- Use GAIA to github compare two commits in GitHub with a plain-English instruction
How it works
Set up your GitHub automation in three simple steps — no code required.
- 1
Connect GitHub to GAIA
Open the GAIA Marketplace, find the GitHub integration, and click "Add to your GAIA". Authorise access in under two minutes — no code, no configuration files.
- 2
Tell GAIA what to automate in plain English
Describe the task in your own words: "summarise my GitHub activity every morning" or "notify me on Slack when a new developer event happens". GAIA understands context and intent.
- 3
GAIA handles it automatically, 24/7
GAIA runs your GitHub automations in the background around the clock. No manual triggers, no scripts to maintain — just results delivered to you.
Frequently asked questions
Everything you need to know about the GAIA GitHub integration.
GAIA connects GitHub with your entire stack
GitHub is just one piece of the puzzle. GAIA integrates with 50+ tools across developer, communication, productivity, and more — letting you build cross-tool automations in plain English without writing a single line of code.
Browse all integrations