Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

GitHub MCP connector

OAuth 2.1Developer 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 MCP 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.

NameTypeRequiredDescription
bodystringrequiredThe text content of the comment, review, or description.
ownerstringrequiredThe GitHub repository owner (username or organization name).
pathstringrequiredThe file path within the repository.
pullNumbernumberrequiredThe pull request number.
repostringrequiredThe GitHub repository name.
subjectTypestringrequiredThe subject type for the review comment: line or file.
linenumberoptionalThe line number in the file the comment applies to.
sidestringoptionalThe side of the diff the comment applies to: LEFT or RIGHT.
startLinenumberoptionalThe first line of a multi-line comment range.
startSidestringoptionalThe 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.

NameTypeRequiredDescription
bodystringrequiredThe text content of the comment, review, or description.
issue_numbernumberrequiredThe issue number.
ownerstringrequiredThe GitHub repository owner (username or organization name).
repostringrequiredThe 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.

NameTypeRequiredDescription
bodystringrequiredThe text content of the comment, review, or description.
commentIdnumberrequiredThe numeric ID of the comment to reply to.
ownerstringrequiredThe GitHub repository owner (username or organization name).
pullNumbernumberrequiredThe pull request number.
repostringrequiredThe GitHub repository name.
githubmcp_create_branch#Create a new branch in a GitHub repository.4 params

Create a new branch in a GitHub repository.

NameTypeRequiredDescription
branchstringrequiredThe branch name.
ownerstringrequiredThe GitHub repository owner (username or organization name).
repostringrequiredThe GitHub repository name.
from_branchstringoptionalThe 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.

NameTypeRequiredDescription
branchstringrequiredThe branch name.
contentstringrequiredThe base64-encoded file content.
messagestringrequiredThe commit message.
ownerstringrequiredThe GitHub repository owner (username or organization name).
pathstringrequiredThe file path within the repository.
repostringrequiredThe GitHub repository name.
shastringoptionalThe 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.

NameTypeRequiredDescription
basestringrequiredThe name of the branch you want the changes merged into.
headstringrequiredThe name of the branch where changes are implemented.
ownerstringrequiredThe GitHub repository owner (username or organization name).
repostringrequiredThe GitHub repository name.
titlestringrequiredThe title of the issue or pull request.
bodystringoptionalThe text content of the comment, review, or description.
draftbooleanoptionalWhether to create the pull request as a draft.
maintainer_can_modifybooleanoptionalWhether 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.

NameTypeRequiredDescription
namestringrequiredThe repository name.
autoInitbooleanoptionalWhether to initialize the repository with a README.
descriptionstringoptionalRepository description
organizationstringoptionalThe GitHub organization to create the repository in. Defaults to your personal account.
privatebooleanoptionalWhether to make the repository private.
githubmcp_delete_file#Delete a file from a GitHub repository.5 params

Delete a file from a GitHub repository.

NameTypeRequiredDescription
branchstringrequiredThe branch name.
messagestringrequiredThe commit message.
ownerstringrequiredThe GitHub repository owner (username or organization name).
pathstringrequiredThe file path within the repository.
repostringrequiredThe 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.

NameTypeRequiredDescription
ownerstringrequiredThe GitHub repository owner (username or organization name).
repostringrequiredThe GitHub repository name.
organizationstringoptionalThe 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.

NameTypeRequiredDescription
ownerstringrequiredThe GitHub repository owner (username or organization name).
repostringrequiredThe GitHub repository name.
shastringrequiredThe blob SHA of the file being replaced. Required when updating an existing file.
include_diffbooleanoptionalWhether to include the diff in the commit details.
pagenumberoptionalThe page number for pagination.
perPagenumberoptionalThe 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.

NameTypeRequiredDescription
ownerstringrequiredThe GitHub repository owner (username or organization name).
repostringrequiredThe GitHub repository name.
pathstringoptionalThe file path within the repository.
refstringoptionalThe git ref (branch, tag, or commit SHA) to fetch the file from.
shastringoptionalThe 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.

NameTypeRequiredDescription
namestringrequiredThe repository name.
ownerstringrequiredThe GitHub repository owner (username or organization name).
repostringrequiredThe 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.

NameTypeRequiredDescription
ownerstringrequiredThe GitHub repository owner (username or organization name).
repostringrequiredThe 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.

NameTypeRequiredDescription
ownerstringrequiredThe GitHub repository owner (username or organization name).
repostringrequiredThe GitHub repository name.
tagstringrequiredThe 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.

NameTypeRequiredDescription
ownerstringrequiredThe GitHub repository owner (username or organization name).
repostringrequiredThe GitHub repository name.
tagstringrequiredThe 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.

NameTypeRequiredDescription
orgstringrequiredThe GitHub organization slug.
team_slugstringrequiredThe 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.

NameTypeRequiredDescription
userstringoptionalThe 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.

NameTypeRequiredDescription
issue_numbernumberrequiredThe issue number.
methodstringrequiredThe operation to perform. Check the tool description for available methods.
ownerstringrequiredThe GitHub repository owner (username or organization name).
repostringrequiredThe GitHub repository name.
pagenumberoptionalThe page number for pagination.
perPagenumberoptionalThe 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.

NameTypeRequiredDescription
methodstringrequiredThe operation to perform. Check the tool description for available methods.
ownerstringrequiredThe GitHub repository owner (username or organization name).
repostringrequiredThe GitHub repository name.
assigneesarrayoptionalList of GitHub usernames to assign to the issue.
bodystringoptionalThe text content of the comment, review, or description.
duplicate_ofnumberoptionalThe issue number this issue is a duplicate of.
issue_numbernumberoptionalThe issue number.
labelsarrayoptionalList of label names to apply to the issue.
milestonenumberoptionalThe milestone number to associate with the issue.
statestringoptionalFilter by state: open, closed, or all.
state_reasonstringoptionalThe reason for closing: completed, not_planned, or reopened.
titlestringoptionalThe title of the issue or pull request.
typestringoptionalThe issue type name to assign.
githubmcp_list_branches#List branches in a GitHub repository.4 params

List branches in a GitHub repository.

NameTypeRequiredDescription
ownerstringrequiredThe GitHub repository owner (username or organization name).
repostringrequiredThe GitHub repository name.
pagenumberoptionalThe page number for pagination.
perPagenumberoptionalThe 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.

NameTypeRequiredDescription
ownerstringrequiredThe GitHub repository owner (username or organization name).
repostringrequiredThe GitHub repository name.
authorstringoptionalFilter commits by author username or email.
pagenumberoptionalThe page number for pagination.
pathstringoptionalThe file path within the repository.
perPagenumberoptionalThe number of results per page (max 100).
shastringoptionalThe blob SHA of the file being replaced. Required when updating an existing file.
sincestringoptionalFilter results created after this ISO 8601 timestamp.
untilstringoptionalFilter 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.

NameTypeRequiredDescription
ownerstringrequiredThe 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.

NameTypeRequiredDescription
ownerstringrequiredThe GitHub repository owner (username or organization name).
repostringrequiredThe GitHub repository name.
afterstringoptionalPagination cursor from the previous response to fetch the next page.
directionstringoptionalThe sort direction: asc or desc.
labelsarrayoptionalList of label names to apply to the issue.
orderBystringoptionalThe field to order results by.
perPagenumberoptionalThe number of results per page (max 100).
sincestringoptionalFilter results created after this ISO 8601 timestamp.
statestringoptionalFilter 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.

NameTypeRequiredDescription
ownerstringrequiredThe GitHub repository owner (username or organization name).
repostringrequiredThe GitHub repository name.
basestringoptionalThe name of the branch you want the changes merged into.
directionstringoptionalThe sort direction: asc or desc.
headstringoptionalThe name of the branch where changes are implemented.
pagenumberoptionalThe page number for pagination.
perPagenumberoptionalThe number of results per page (max 100).
sortstringoptionalThe field to sort results by.
statestringoptionalFilter by state: open, closed, or all.
githubmcp_list_releases#List releases in a GitHub repository.4 params

List releases in a GitHub repository.

NameTypeRequiredDescription
ownerstringrequiredThe GitHub repository owner (username or organization name).
repostringrequiredThe GitHub repository name.
pagenumberoptionalThe page number for pagination.
perPagenumberoptionalThe 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.

NameTypeRequiredDescription
ownerstringrequiredThe GitHub repository owner (username or organization name).
repostringrequiredThe GitHub repository name.
affiliationstringoptionalFilter collaborators by affiliation: direct, outside, or all.
pagenumberoptionalThe page number for pagination.
perPagenumberoptionalThe 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.

NameTypeRequiredDescription
ownerstringrequiredThe GitHub repository owner (username or organization name).
repostringrequiredThe GitHub repository name.
pagenumberoptionalThe page number for pagination.
perPagenumberoptionalThe 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.

NameTypeRequiredDescription
ownerstringrequiredThe GitHub repository owner (username or organization name).
pullNumbernumberrequiredThe pull request number.
repostringrequiredThe GitHub repository name.
commit_messagestringoptionalAn optional longer message to accompany the commit title.
commit_titlestringoptionalThe title for the merge commit.
merge_methodstringoptionalThe 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.

NameTypeRequiredDescription
methodstringrequiredThe operation to perform. Check the tool description for available methods.
ownerstringrequiredThe GitHub repository owner (username or organization name).
pullNumbernumberrequiredThe pull request number.
repostringrequiredThe GitHub repository name.
pagenumberoptionalThe page number for pagination.
perPagenumberoptionalThe 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.

NameTypeRequiredDescription
methodstringrequiredThe operation to perform. Check the tool description for available methods.
ownerstringrequiredThe GitHub repository owner (username or organization name).
pullNumbernumberrequiredThe pull request number.
repostringrequiredThe GitHub repository name.
bodystringoptionalThe text content of the comment, review, or description.
commitIDstringoptionalThe SHA of the commit to associate with the review.
eventstringoptionalThe review action: APPROVE, REQUEST_CHANGES, or COMMENT.
threadIdstringoptionalThe 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.

NameTypeRequiredDescription
branchstringrequiredThe branch name.
filesarrayrequiredList of files to push, each with a path and content.
messagestringrequiredThe commit message.
ownerstringrequiredThe GitHub repository owner (username or organization name).
repostringrequiredThe 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.

NameTypeRequiredDescription
ownerstringrequiredThe GitHub repository owner (username or organization name).
pullNumbernumberrequiredThe pull request number.
repostringrequiredThe 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.

NameTypeRequiredDescription
filesstringrequiredList of files to push, each with a path and content.
ownerstringrequiredThe GitHub repository owner (username or organization name).
repostringrequiredThe 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.

NameTypeRequiredDescription
querystringrequiredThe search query string.
orderstringoptionalThe sort order: asc or desc.
pagenumberoptionalThe page number for pagination.
perPagenumberoptionalThe number of results per page (max 100).
sortstringoptionalThe 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.

NameTypeRequiredDescription
querystringrequiredThe search query string.
orderstringoptionalThe sort order: asc or desc.
ownerstringoptionalThe GitHub repository owner (username or organization name).
pagenumberoptionalThe page number for pagination.
perPagenumberoptionalThe number of results per page (max 100).
repostringoptionalThe GitHub repository name.
sortstringoptionalThe 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.

NameTypeRequiredDescription
querystringrequiredThe search query string.
orderstringoptionalThe sort order: asc or desc.
ownerstringoptionalThe GitHub repository owner (username or organization name).
pagenumberoptionalThe page number for pagination.
perPagenumberoptionalThe number of results per page (max 100).
repostringoptionalThe GitHub repository name.
sortstringoptionalThe 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.

NameTypeRequiredDescription
querystringrequiredThe search query string.
minimal_outputbooleanoptionalWhether to return minimal output to reduce response size.
orderstringoptionalThe sort order: asc or desc.
pagenumberoptionalThe page number for pagination.
perPagenumberoptionalThe number of results per page (max 100).
sortstringoptionalThe 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.

NameTypeRequiredDescription
querystringrequiredThe search query string.
orderstringoptionalThe sort order: asc or desc.
pagenumberoptionalThe page number for pagination.
perPagenumberoptionalThe number of results per page (max 100).
sortstringoptionalThe 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.

NameTypeRequiredDescription
issue_numbernumberrequiredThe issue number.
methodstringrequiredThe operation to perform. Check the tool description for available methods.
ownerstringrequiredThe GitHub repository owner (username or organization name).
repostringrequiredThe GitHub repository name.
sub_issue_idnumberrequiredThe issue number of the sub-issue.
after_idnumberoptionalInsert the sub-issue after this sub-issue ID.
before_idnumberoptionalInsert the sub-issue before this sub-issue ID.
replace_parentbooleanoptionalWhether 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.

NameTypeRequiredDescription
ownerstringrequiredThe GitHub repository owner (username or organization name).
pullNumbernumberrequiredThe pull request number.
repostringrequiredThe GitHub repository name.
basestringoptionalThe name of the branch you want the changes merged into.
bodystringoptionalThe text content of the comment, review, or description.
draftbooleanoptionalWhether to create the pull request as a draft.
maintainer_can_modifybooleanoptionalWhether maintainers can modify the pull request.
reviewersarrayoptionalList of GitHub usernames to request reviews from.
statestringoptionalFilter by state: open, closed, or all.
titlestringoptionalThe 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.

NameTypeRequiredDescription
ownerstringrequiredThe GitHub repository owner (username or organization name).
pullNumbernumberrequiredThe pull request number.
repostringrequiredThe GitHub repository name.
expectedHeadShastringoptionalThe expected SHA of the pull request HEAD ref for optimistic locking.