GitHub MCP connector
OAuth 2.1Developer ToolsCollaborationConnect to GitHub MCP. Manage repositories, issues, pull requests, branches, and files directly from your AI workflows.
GitHub MCP connector
-
Install the SDK
Section titled “Install the SDK”Terminal window npm install @scalekit-sdk/nodeTerminal window pip install scalekit -
Set your credentials
Section titled “Set your credentials”Add your Scalekit credentials to your
.envfile. 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> -
Set up the connector
Section titled “Set up the connector”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.
-
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.
-
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.

-
-
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
-
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)

-
Click Save.
-
-
-
Authorize and make your first call
Section titled “Authorize and make your first call”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.actionsconst connector = 'githubmcp'const identifier = 'user_123'// Generate an authorization link for the userconst { 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 callconst result = await actions.executeTool({connector,identifier,toolName: 'githubmcp_get_me',toolInput: {},})console.log(result)quickstart.py import osfrom scalekit.client import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENV_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "githubmcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize GitHub MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="githubmcp_get_me",connection_name=connection_name,identifier=identifier,)print(result)
What you can do
Section titled “What you can do”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
Tool list
Section titled “Tool list”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.
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.
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.
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.
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.
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.
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.
namestringrequiredThe repository name.autoInitbooleanoptionalWhether to initialize the repository with a README.descriptionstringoptionalRepository descriptionorganizationstringoptionalThe 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.