Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

GitHub MCP connector

OAuth 2.1 Developer ToolsCollaboration

Connect to GitHub MCP. Manage repositories, issues, pull requests, branches, and files directly from your AI workflows.

GitHub MCP connector

  1. Terminal window
    npm install @scalekit-sdk/node

    Full SDK reference: Node.js | Python

  2. Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. Register your GitHub credentials with Scalekit so it handles the token lifecycle. You do this once per environment.

    Dashboard setup steps

    Register your GitHub credentials with Scalekit so it handles the token lifecycle. You do this once per environment.

    1. Set up auth redirects

      • In Scalekit dashboard, go to AgentKit > Connections > Create Connection. Find GitHub MCP and click Create.

      • Click Use your own credentials and copy the redirect URI. It looks like https://<SCALEKIT_ENVIRONMENT_URL>/sso/v1/oauth/<CONNECTION_ID>/callback.

        Copy redirect URI from Scalekit dashboard

      • Go to GitHub Developer Settings and open your OAuth app.

      • Under General, paste the copied URI into the Authorization callback URL field and click Save application.

        Add callback URL in GitHub OAuth app settings

    2. Get client credentials

      In GitHub Developer Settings, open your OAuth app:

      • Client ID — listed on the app’s main settings page
      • Client Secret — click Generate a new client secret if you don’t have one
    3. Add credentials in Scalekit

      • In Scalekit dashboard, go to AgentKit > Connections and open the connection you created.

      • Enter your credentials:

        • Client ID (from your GitHub OAuth app)
        • Client Secret (from your GitHub OAuth app)

        Add credentials for GitHub MCP in Scalekit dashboard

      • Click Save.

  4. quickstart.ts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENV_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'githubmcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize GitHub MCP:', link)
    process.stdout.write('Press Enter after authorizing...')
    await new Promise(r => process.stdin.once('data', r))
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'githubmcp_get_me',
    toolInput: {},
    })
    console.log(result)

Connect this agent connector to let your agent:

  • Update pull request branch, pull request — Update a pull request branch with the latest changes from the base branch
  • Write sub issue, pull request review, issue — Add, remove, or reorder a sub-issue under a parent issue in a GitHub repository
  • Search users, repositories, pull requests — Search for GitHub users by username, name, or other profile information
  • Run secret scanning — Scan files or content for exposed secrets such as API keys, passwords, and tokens
  • Review request copilot, add comment to pending — Request a GitHub Copilot automated code review for a pull request
  • Files push — Push multiple files to a GitHub repository in a single commit

Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.

githubmcp_add_comment_to_pending_review # Add a review comment to the requester's latest pending pull request review. 10 params

Add a review comment to the requester's latest pending pull request review.

Name Type Required Description
body string required The text content of the comment, review, or description.
owner string required The GitHub repository owner (username or organization name).
path string required The file path within the repository.
pullNumber number required The pull request number.
repo string required The GitHub repository name.
subjectType string required The subject type for the review comment: line or file.
line number optional The line number in the file the comment applies to.
side string optional The side of the diff the comment applies to: LEFT or RIGHT.
startLine number optional The first line of a multi-line comment range.
startSide string optional The side of the diff for the start of a multi-line comment: LEFT or RIGHT.
githubmcp_add_issue_comment # Add a comment to a specific issue in a GitHub repository. 4 params

Add a comment to a specific issue in a GitHub repository.

Name Type Required Description
body string required The text content of the comment, review, or description.
issue_number number required The issue number.
owner string required The GitHub repository owner (username or organization name).
repo string required The GitHub repository name.
githubmcp_add_reply_to_pull_request_comment # Add a reply to an existing pull request review comment. 5 params

Add a reply to an existing pull request review comment.

Name Type Required Description
body string required The text content of the comment, review, or description.
commentId number required The numeric ID of the comment to reply to.
owner string required The GitHub repository owner (username or organization name).
pullNumber number required The pull request number.
repo string required The GitHub repository name.
githubmcp_create_branch # Create a new branch in a GitHub repository. 4 params

Create a new branch in a GitHub repository.

Name Type Required Description
branch string required The branch name.
owner string required The GitHub repository owner (username or organization name).
repo string required The GitHub repository name.
from_branch string optional The source branch to create the new branch from. Defaults to the default branch if omitted.
githubmcp_create_or_update_file # Create or update a single file in a GitHub repository. Provide the file SHA when updating an existing file. 7 params

Create or update a single file in a GitHub repository. Provide the file SHA when updating an existing file.

Name Type Required Description
branch string required The branch name.
content string required The base64-encoded file content.
message string required The commit message.
owner string required The GitHub repository owner (username or organization name).
path string required The file path within the repository.
repo string required The GitHub repository name.
sha string optional The blob SHA of the file being replaced. Required when updating an existing file.
githubmcp_create_pull_request # Create a new pull request in a GitHub repository. 8 params

Create a new pull request in a GitHub repository.

Name Type Required Description
base string required The name of the branch you want the changes merged into.
head string required The name of the branch where changes are implemented.
owner string required The GitHub repository owner (username or organization name).
repo string required The GitHub repository name.
title string required The title of the issue or pull request.
body string optional The text content of the comment, review, or description.
draft boolean optional Whether to create the pull request as a draft.
maintainer_can_modify boolean optional Whether maintainers can modify the pull request.
githubmcp_create_repository # Create a new GitHub repository in your account or a specified organization. 5 params

Create a new GitHub repository in your account or a specified organization.

Name Type Required Description
name string required The repository name.
autoInit boolean optional Whether to initialize the repository with a README.
description string optional Repository description
organization string optional The GitHub organization to create the repository in. Defaults to your personal account.
private boolean optional Whether to make the repository private.
githubmcp_delete_file # Delete a file from a GitHub repository. 5 params

Delete a file from a GitHub repository.

Name Type Required Description
branch string required The branch name.
message string required The commit message.
owner string required The GitHub repository owner (username or organization name).
path string required The file path within the repository.
repo string required The GitHub repository name.
githubmcp_fork_repository # Fork a GitHub repository to your account or a specified organization. 3 params

Fork a GitHub repository to your account or a specified organization.

Name Type Required Description
owner string required The GitHub repository owner (username or organization name).
repo string required The GitHub repository name.
organization string optional The GitHub organization to create the repository in. Defaults to your personal account.
githubmcp_get_commit # Get details for a specific commit from a GitHub repository. 6 params

Get details for a specific commit from a GitHub repository.

Name Type Required Description
owner string required The GitHub repository owner (username or organization name).
repo string required The GitHub repository name.
sha string required The blob SHA of the file being replaced. Required when updating an existing file.
include_diff boolean optional Whether to include the diff in the commit details.
page number optional The page number for pagination.
perPage number optional The number of results per page (max 100).
githubmcp_get_file_contents # Get the contents of a file or directory from a GitHub repository. 5 params

Get the contents of a file or directory from a GitHub repository.

Name Type Required Description
owner string required The GitHub repository owner (username or organization name).
repo string required The GitHub repository name.
path string optional The file path within the repository.
ref string optional The git ref (branch, tag, or commit SHA) to fetch the file from.
sha string optional The blob SHA of the file being replaced. Required when updating an existing file.
githubmcp_get_label # Get a specific label from a GitHub repository. 3 params

Get a specific label from a GitHub repository.

Name Type Required Description
name string required The repository name.
owner string required The GitHub repository owner (username or organization name).
repo string required The GitHub repository name.
githubmcp_get_latest_release # Get the latest release in a GitHub repository. 2 params

Get the latest release in a GitHub repository.

Name Type Required Description
owner string required The GitHub repository owner (username or organization name).
repo string required The GitHub repository name.
githubmcp_get_me # Get details of the authenticated GitHub user. 0 params

Get details of the authenticated GitHub user.

githubmcp_get_release_by_tag # Get a specific release by its tag name in a GitHub repository. 3 params

Get a specific release by its tag name in a GitHub repository.

Name Type Required Description
owner string required The GitHub repository owner (username or organization name).
repo string required The GitHub repository name.
tag string required The tag name of the release.
githubmcp_get_tag # Get details about a specific git tag in a GitHub repository. 3 params

Get details about a specific git tag in a GitHub repository.

Name Type Required Description
owner string required The GitHub repository owner (username or organization name).
repo string required The GitHub repository name.
tag string required The tag name of the release.
githubmcp_get_team_members # Get the member usernames of a specific team in a GitHub organization. 2 params

Get the member usernames of a specific team in a GitHub organization.

Name Type Required Description
org string required The GitHub organization slug.
team_slug string required The team slug within the organization.
githubmcp_get_teams # Get details of the teams the authenticated user is a member of. 1 param

Get details of the teams the authenticated user is a member of.

Name Type Required Description
user string optional The GitHub username to filter teams by.
githubmcp_issue_read # Get information about a specific issue or its comments in a GitHub repository. 6 params

Get information about a specific issue or its comments in a GitHub repository.

Name Type Required Description
issue_number number required The issue number.
method string required The operation to perform. Check the tool description for available methods.
owner string required The GitHub repository owner (username or organization name).
repo string required The GitHub repository name.
page number optional The page number for pagination.
perPage number optional The number of results per page (max 100).
githubmcp_issue_write # Create a new issue or update an existing issue in a GitHub repository. 13 params

Create a new issue or update an existing issue in a GitHub repository.

Name Type Required Description
method string required The operation to perform. Check the tool description for available methods.
owner string required The GitHub repository owner (username or organization name).
repo string required The GitHub repository name.
assignees array optional List of GitHub usernames to assign to the issue.
body string optional The text content of the comment, review, or description.
duplicate_of number optional The issue number this issue is a duplicate of.
issue_number number optional The issue number.
labels array optional List of label names to apply to the issue.
milestone number optional The milestone number to associate with the issue.
state string optional Filter by state: open, closed, or all.
state_reason string optional The reason for closing: completed, not_planned, or reopened.
title string optional The title of the issue or pull request.
type string optional The issue type name to assign.
githubmcp_list_branches # List branches in a GitHub repository. 4 params

List branches in a GitHub repository.

Name Type Required Description
owner string required The GitHub repository owner (username or organization name).
repo string required The GitHub repository name.
page number optional The page number for pagination.
perPage number optional The number of results per page (max 100).
githubmcp_list_commits # List commits on a branch in a GitHub repository. 9 params

List commits on a branch in a GitHub repository.

Name Type Required Description
owner string required The GitHub repository owner (username or organization name).
repo string required The GitHub repository name.
author string optional Filter commits by author username or email.
page number optional The page number for pagination.
path string optional The file path within the repository.
perPage number optional The number of results per page (max 100).
sha string optional The blob SHA of the file being replaced. Required when updating an existing file.
since string optional Filter results created after this ISO 8601 timestamp.
until string optional Filter results created before this ISO 8601 timestamp.
githubmcp_list_issue_types # List supported issue types for a GitHub organization. 1 param

List supported issue types for a GitHub organization.

Name Type Required Description
owner string required The GitHub repository owner (username or organization name).
githubmcp_list_issues # List issues in a GitHub repository with optional filters for state, labels, and date range. 9 params

List issues in a GitHub repository with optional filters for state, labels, and date range.

Name Type Required Description
owner string required The GitHub repository owner (username or organization name).
repo string required The GitHub repository name.
after string optional Pagination cursor from the previous response to fetch the next page.
direction string optional The sort direction: asc or desc.
labels array optional List of label names to apply to the issue.
orderBy string optional The field to order results by.
perPage number optional The number of results per page (max 100).
since string optional Filter results created after this ISO 8601 timestamp.
state string optional Filter by state: open, closed, or all.
githubmcp_list_pull_requests # List pull requests in a GitHub repository with optional filters. 9 params

List pull requests in a GitHub repository with optional filters.

Name Type Required Description
owner string required The GitHub repository owner (username or organization name).
repo string required The GitHub repository name.
base string optional The name of the branch you want the changes merged into.
direction string optional The sort direction: asc or desc.
head string optional The name of the branch where changes are implemented.
page number optional The page number for pagination.
perPage number optional The number of results per page (max 100).
sort string optional The field to sort results by.
state string optional Filter by state: open, closed, or all.
githubmcp_list_releases # List releases in a GitHub repository. 4 params

List releases in a GitHub repository.

Name Type Required Description
owner string required The GitHub repository owner (username or organization name).
repo string required The GitHub repository name.
page number optional The page number for pagination.
perPage number optional The number of results per page (max 100).
githubmcp_list_repository_collaborators # List collaborators of a GitHub repository. 5 params

List collaborators of a GitHub repository.

Name Type Required Description
owner string required The GitHub repository owner (username or organization name).
repo string required The GitHub repository name.
affiliation string optional Filter collaborators by affiliation: direct, outside, or all.
page number optional The page number for pagination.
perPage number optional The number of results per page (max 100).
githubmcp_list_tags # List git tags in a GitHub repository. 4 params

List git tags in a GitHub repository.

Name Type Required Description
owner string required The GitHub repository owner (username or organization name).
repo string required The GitHub repository name.
page number optional The page number for pagination.
perPage number optional The number of results per page (max 100).
githubmcp_merge_pull_request # Merge a pull request in a GitHub repository. 6 params

Merge a pull request in a GitHub repository.

Name Type Required Description
owner string required The GitHub repository owner (username or organization name).
pullNumber number required The pull request number.
repo string required The GitHub repository name.
commit_message string optional An optional longer message to accompany the commit title.
commit_title string optional The title for the merge commit.
merge_method string optional The merge method: merge, squash, or rebase.
githubmcp_pull_request_read # Get information about a specific pull request or its reviews, comments, or files. 6 params

Get information about a specific pull request or its reviews, comments, or files.

Name Type Required Description
method string required The operation to perform. Check the tool description for available methods.
owner string required The GitHub repository owner (username or organization name).
pullNumber number required The pull request number.
repo string required The GitHub repository name.
page number optional The page number for pagination.
perPage number optional The number of results per page (max 100).
githubmcp_pull_request_review_write # Create, submit, or delete a pull request review. Supported methods: create, submit, delete, resolve_thread, unresolve_thread. 8 params

Create, submit, or delete a pull request review. Supported methods: create, submit, delete, resolve_thread, unresolve_thread.

Name Type Required Description
method string required The operation to perform. Check the tool description for available methods.
owner string required The GitHub repository owner (username or organization name).
pullNumber number required The pull request number.
repo string required The GitHub repository name.
body string optional The text content of the comment, review, or description.
commitID string optional The SHA of the commit to associate with the review.
event string optional The review action: APPROVE, REQUEST_CHANGES, or COMMENT.
threadId string optional The ID of the review thread to resolve or unresolve.
githubmcp_push_files # Push multiple files to a GitHub repository in a single commit. 5 params

Push multiple files to a GitHub repository in a single commit.

Name Type Required Description
branch string required The branch name.
files array required List of files to push, each with a path and content.
message string required The commit message.
owner string required The GitHub repository owner (username or organization name).
repo string required The GitHub repository name.
githubmcp_request_copilot_review # Request a GitHub Copilot automated code review for a pull request. 3 params

Request a GitHub Copilot automated code review for a pull request.

Name Type Required Description
owner string required The GitHub repository owner (username or organization name).
pullNumber number required The pull request number.
repo string required The GitHub repository name.
githubmcp_run_secret_scanning # Scan files or content for exposed secrets such as API keys, passwords, and tokens. 3 params

Scan files or content for exposed secrets such as API keys, passwords, and tokens.

Name Type Required Description
files string required List of files to push, each with a path and content.
owner string required The GitHub repository owner (username or organization name).
repo string required The GitHub repository name.
githubmcp_search_code # Search for code across GitHub repositories using GitHub code search syntax. 5 params

Search for code across GitHub repositories using GitHub code search syntax.

Name Type Required Description
query string required The search query string.
order string optional The sort order: asc or desc.
page number optional The page number for pagination.
perPage number optional The number of results per page (max 100).
sort string optional The field to sort results by.
githubmcp_search_issues # Search for issues across GitHub repositories using GitHub issues search syntax. 7 params

Search for issues across GitHub repositories using GitHub issues search syntax.

Name Type Required Description
query string required The search query string.
order string optional The sort order: asc or desc.
owner string optional The GitHub repository owner (username or organization name).
page number optional The page number for pagination.
perPage number optional The number of results per page (max 100).
repo string optional The GitHub repository name.
sort string optional The field to sort results by.
githubmcp_search_pull_requests # Search for pull requests across GitHub repositories using GitHub search syntax. 7 params

Search for pull requests across GitHub repositories using GitHub search syntax.

Name Type Required Description
query string required The search query string.
order string optional The sort order: asc or desc.
owner string optional The GitHub repository owner (username or organization name).
page number optional The page number for pagination.
perPage number optional The number of results per page (max 100).
repo string optional The GitHub repository name.
sort string optional The field to sort results by.
githubmcp_search_repositories # Search for GitHub repositories by name, description, topics, or other metadata. 6 params

Search for GitHub repositories by name, description, topics, or other metadata.

Name Type Required Description
query string required The search query string.
minimal_output boolean optional Whether to return minimal output to reduce response size.
order string optional The sort order: asc or desc.
page number optional The page number for pagination.
perPage number optional The number of results per page (max 100).
sort string optional The field to sort results by.
githubmcp_search_users # Search for GitHub users by username, name, or other profile information. 5 params

Search for GitHub users by username, name, or other profile information.

Name Type Required Description
query string required The search query string.
order string optional The sort order: asc or desc.
page number optional The page number for pagination.
perPage number optional The number of results per page (max 100).
sort string optional The field to sort results by.
githubmcp_sub_issue_write # Add, remove, or reorder a sub-issue under a parent issue in a GitHub repository. 8 params

Add, remove, or reorder a sub-issue under a parent issue in a GitHub repository.

Name Type Required Description
issue_number number required The issue number.
method string required The operation to perform. Check the tool description for available methods.
owner string required The GitHub repository owner (username or organization name).
repo string required The GitHub repository name.
sub_issue_id number required The issue number of the sub-issue.
after_id number optional Insert the sub-issue after this sub-issue ID.
before_id number optional Insert the sub-issue before this sub-issue ID.
replace_parent boolean optional Whether to replace the existing parent issue.
githubmcp_update_pull_request # Update the title, body, state, or other fields of an existing pull request. 10 params

Update the title, body, state, or other fields of an existing pull request.

Name Type Required Description
owner string required The GitHub repository owner (username or organization name).
pullNumber number required The pull request number.
repo string required The GitHub repository name.
base string optional The name of the branch you want the changes merged into.
body string optional The text content of the comment, review, or description.
draft boolean optional Whether to create the pull request as a draft.
maintainer_can_modify boolean optional Whether maintainers can modify the pull request.
reviewers array optional List of GitHub usernames to request reviews from.
state string optional Filter by state: open, closed, or all.
title string optional The title of the issue or pull request.
githubmcp_update_pull_request_branch # Update a pull request branch with the latest changes from the base branch. 4 params

Update a pull request branch with the latest changes from the base branch.

Name Type Required Description
owner string required The GitHub repository owner (username or organization name).
pullNumber number required The pull request number.
repo string required The GitHub repository name.
expectedHeadSha string optional The expected SHA of the pull request HEAD ref for optimistic locking.