Skip to content

GitHub integration

The GitHub integration runs GitHub's official MCP server and gives the agent its tools for repositories, issues, pull requests and more.

Requirements

  • Docker. A local setup starts GitHub's MCP server with docker run ghcr.io/github/github-mcp-server, so Docker must be installed and running on your machine.
  • A GitHub personal access token. See Configuration.

Tools

Tool Name Description
add_issue_comment Add a comment to a specific issue in a GitHub repository.
add_pull_request_review_comment Add a review comment to a pull request.
create_branch Create a new branch in a GitHub repository.
create_issue Create a new issue in a GitHub repository.
create_or_update_file Create or update a single file in a GitHub repository. If updating, you must provide the SHA of the file you want to update.
create_pull_request Create a new pull request in a GitHub repository.
create_pull_request_review Create a review for a pull request.
create_repository Create a new GitHub repository in your account.
delete_file Delete a file from a GitHub repository.
fork_repository Fork a GitHub repository to your account or specified organization.
get_code_scanning_alert Get details of a specific code scanning alert in a GitHub repository.
get_commit Get details for a commit from a GitHub repository.
get_file_contents Get the contents of a file or directory from a GitHub repository.
get_issue Get details of a specific issue in a GitHub repository.
get_issue_comments Get comments for a specific issue in a GitHub repository.
get_me Get details of the authenticated GitHub user.
get_pull_request Get details of a specific pull request in a GitHub repository.
get_pull_request_comments Get comments for a specific pull request.
get_pull_request_files Get the files changed in a specific pull request.
get_pull_request_reviews Get reviews for a specific pull request.
get_pull_request_status Get the status of a specific pull request.
get_secret_scanning_alert Get details of a specific secret scanning alert in a GitHub repository.
get_tag Get details about a specific git tag in a GitHub repository.
list_branches List branches in a GitHub repository.
list_code_scanning_alerts List code scanning alerts in a GitHub repository.
list_commits Get list of commits of a branch in a GitHub repository.
list_issues List issues in a GitHub repository.
list_pull_requests List pull requests in a GitHub repository.
list_secret_scanning_alerts List secret scanning alerts in a GitHub repository.
list_tags List git tags in a GitHub repository.
merge_pull_request Merge a pull request in a GitHub repository.
push_files Push multiple files to a GitHub repository in a single commit.
request_copilot_review Request a GitHub Copilot code review for a pull request. Use this for automated feedback on pull requests, usually before requesting a human reviewer.
search_code Search for code across GitHub repositories.
search_issues Search for issues in GitHub repositories.
search_repositories Search for GitHub repositories.
search_users Search for GitHub users.
update_issue Update an existing issue in a GitHub repository.
update_pull_request Update an existing pull request in a GitHub repository.
update_pull_request_branch Update the branch of a pull request with the latest changes from the base branch.

Configuration

Our Github integration supports Personal Access Token based authentication. Below are instructions for setting up the two most common PAT token types:

  • Create a Classic PAT
  • Create a Fine Grained PAT (Recommended)

Create a Classic PAT

  1. Go to GitHub Settings:
  2. Click your profile picture in the top right
  3. Select "Settings"
  4. Click "Developer settings" at the bottom of the left sidebar
  5. Click "Personal access tokens" → "Tokens (classic)"

  6. Generate a new token:

  7. Click "Generate new token" → "Generate new token (classic)"
  8. Give your token a descriptive name in the "Note" field
  9. Set an expiration date (recommended for security)

  10. Select the required scopes:

  11. For basic repository access: repo scope
  12. For private repositories: ensure repo is selected
  13. For public repositories only: public_repo scope

  14. Click "Generate token" and copy the token immediately (you won't be able to see it again)

github-pat

  1. Go to GitHub Settings:
  2. Click your profile picture in the top right
  3. Select "Settings"
  4. Click "Developer settings" at the bottom of the left sidebar
  5. Click "Personal access tokens" → "Fine grained tokens"

  6. Generate a new token:

  7. Click "Generate new token" → "Generate new token"
  8. Give your token a name, for example altimate-workspaces
  9. Set an expiration date (recommended for security)
  10. Select the repositories
  11. Select the following permissions -

Issues - read and write Metadata permissions are automatically granted read access by enabling any other permission

git-pat-permissions

Organization owners can restrict the access of personal access token (classic) to their organization. If you try to use a personal access token which has been access controled at your account level, your request will fail with a 4xx response.