The GitHub MCP connector routes your AI agent's tool calls to GitHub's own MCP server through Scalekit. Each user signs in to GitHub once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 46 tools.
- Tools
- 46
- What they doRead · write · destructive
- 27 · 18 · 127 read18 write1 destructive
- Users sign in with
- OAuth
- OAuth app
- Scalekit's or your own
What you can do
- Manage issues: create, update, comment on, and search issues, including sub-issues
- Work with pull requests: open, update, review, merge, and search pull requests and their comments
- Edit repository files: read, create, update, and delete files, and push multiple files in one commit
- Manage repositories and branches: create or fork repositories, create branches, and list commits, tags, and releases
- Search code and people: search code, commits, repositories, and users across GitHub
- Scan for secrets: check files or content for exposed API keys, passwords, and tokens
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet 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>Create the GitHub MCP connection
In AgentKit > Connections, create a GitHub MCP connection. The name you give it is the
connection_nameyour code passes. See Configure connections.Scalekit credentials are available for GitHub, so you don't need to register an OAuth app. To show your own app on the consent screen, use your own credentials instead.
Use your own OAuth app
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 a user and make your first call
quickstart.mts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'import { createInterface } from 'node:readline/promises'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENVIRONMENT_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)const rl = createInterface({ input: process.stdin, output: process.stdout })await rl.question('Press Enter after authorizing...')rl.close()// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'githubmcp_get_me',toolInput: {},})console.log(result)Terminal window npx tsx quickstart.mtsquickstart.py import osfrom scalekit import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENVIRONMENT_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)Terminal window python quickstart.pyEach user signs in once. See Authorize a user for the full flow and statuses.
Tools
Pass the exact name toexecute_toolgithubmcp_get_commitGet details for a specific commit from a GitHub repository.Read-onlyGet Commit
Get details for a specific commit from a GitHub repository.
Inputs
ownerstringrequired- Repository owner
repostringrequired- Repository name
shastringrequired- Commit SHA, branch name, or tag name
detailstring- Level of detail to include for changed files. "none" omits stats and files entirely. "stats" (default) includes per-file metadata: filename, status, and lines-of-code counts (additions, deletions, changes), with no patch content. "full_patch" additionally includes the unified diff content for each file and can be very large.one of
nonestatsfull_patchdefaultstats pagenumber- Page number for pagination (min 1)
perPagenumber- Results per page for pagination (min 1, max 100)
githubmcp_get_file_contentsGet the contents of a file or directory from a GitHub repository.Read-onlyGet File Contents
Get the contents of a file or directory from a GitHub repository.
Inputs
ownerstringrequired- The GitHub repository owner (username or organization name).
repostringrequired- The GitHub repository name.
fieldsarray- Subset of fields to return for each entry when the path is a directory. If omitted, all fields are returned. Ignored when the path is a single file. Use this to reduce response size when listing directories and you only need specific fields, e.g. just 'name' and 'type'.
pathstring- The file path within the repository.default
/ refstring- The git ref (branch, tag, or commit SHA) to fetch the file from.
shastring- The blob SHA of the file being replaced. Required when updating an existing file.
githubmcp_get_labelGet a specific label from a GitHub repository.Read-onlyGet Label
Get a specific label from a GitHub repository.
Inputs
namestringrequired- The repository name.
ownerstringrequired- The GitHub repository owner (username or organization name).
repostringrequired- The GitHub repository name.
githubmcp_get_latest_releaseGet the latest release in a GitHub repository.Read-onlyGet Latest Release
Get the latest release in a GitHub repository.
Inputs
ownerstringrequired- The GitHub repository owner (username or organization name).
repostringrequired- The GitHub repository name.
githubmcp_get_meGet details of the authenticated GitHub user.Read-onlyGet Me
Get details of the authenticated GitHub user.
Inputs
This tool takes no inputs.
githubmcp_get_release_by_tagGet a specific release by its tag name in a GitHub repository.Read-onlyGet Release By Tag
Get a specific release by its tag name in a GitHub repository.
Inputs
ownerstringrequired- The GitHub repository owner (username or organization name).
repostringrequired- The GitHub repository name.
tagstringrequired- The tag name of the release.
githubmcp_get_tagGet details about a specific git tag in a GitHub repository.Read-onlyGet Tag
Get details about a specific git tag in a GitHub repository.
Inputs
ownerstringrequired- The GitHub repository owner (username or organization name).
repostringrequired- The GitHub repository name.
tagstringrequired- The tag name of the release.
githubmcp_get_team_membersGet the member usernames of a specific team in a GitHub organization.Read-onlyGet Team Members
Get the member usernames of a specific team in a GitHub organization.
Inputs
orgstringrequired- The GitHub organization slug.
team_slugstringrequired- The team slug within the organization.
githubmcp_get_teamsGet details of the teams the authenticated user is a member of.Read-onlyGet Teams
Get details of the teams the authenticated user is a member of.
Inputs
userstring- The GitHub username to filter teams by.
githubmcp_issue_readGet information about a specific issue or its comments in a GitHub repository.Read-onlyIssue Read
Get information about a specific issue or its comments in a GitHub repository.
Inputs
issue_numbernumberrequired- The issue number.
methodstringrequired- The operation to perform. Check the tool description for available methods.one of
getget_commentsget_sub_issuesget_parentget_labels ownerstringrequired- The GitHub repository owner (username or organization name).
repostringrequired- The GitHub repository name.
pagenumber- The page number for pagination.
perPagenumber- The number of results per page (max 100).
githubmcp_list_branchesList branches in a GitHub repository.Read-onlyList Branches
List branches in a GitHub repository.
Inputs
ownerstringrequired- The GitHub repository owner (username or organization name).
repostringrequired- The GitHub repository name.
pagenumber- The page number for pagination.
perPagenumber- The number of results per page (max 100).
githubmcp_list_commitsList commits on a branch in a GitHub repository.Read-onlyList Commits
List commits on a branch in a GitHub repository.
Inputs
ownerstringrequired- The GitHub repository owner (username or organization name).
repostringrequired- The GitHub repository name.
authorstring- Filter commits by author username or email.
fieldsarray- Subset of fields to return for each commit. If omitted, all fields are returned. Use this to reduce response size when you only need specific fields, e.g. just 'sha' and 'html_url'.
pagenumber- The page number for pagination.
pathstring- The file path within the repository.
perPagenumber- The number of results per page (max 100).
shastring- The blob SHA of the file being replaced. Required when updating an existing file.
sincestring- Filter results created after this ISO 8601 timestamp.
untilstring- Filter results created before this ISO 8601 timestamp.
githubmcp_list_issue_fieldsList custom issue fields available for a GitHub repository or organization.Read-onlyList Issue Fields
List custom issue fields available for a GitHub repository or organization.
Inputs
ownerstringrequired- The account owner of the repository or organization. The name is not case sensitive.
repostring- The name of the repository. When provided, returns fields for this specific repository (inherited from its organization). When omitted, returns org-level fields directly.
githubmcp_list_issue_typesList supported issue types for a GitHub organization.Read-onlyList Issue Types
List supported issue types for a GitHub organization.
Inputs
ownerstringrequired- The GitHub repository owner (username or organization name).
repostring- The name of the repository. When provided, returns issue types for this specific repository. When omitted, returns org-level issue types directly.
githubmcp_list_issuesList issues in a GitHub repository with optional filters for state, labels, and date range.Read-onlyList Issues
List issues in a GitHub repository with optional filters for state, labels, and date range.
Inputs
ownerstringrequired- Repository owner
repostringrequired- Repository name
afterstring- Cursor for pagination. Use the cursor from the previous response.
directionstring- Order direction. If provided, the 'orderBy' also needs to be provided.one of
ASCDESC field_filtersarray- Filter by custom issue field values. Each entry takes a field_name and a value; the server looks up the field and coerces the value to its type (single-select option name, text, number, or YYYY-MM-DD date).
fieldsarray- Subset of fields to return for each issue. If omitted, all fields are returned. Use this to reduce response size when you only need specific fields; omitting 'body' and 'field_values' in particular drops the largest per-result data.
labelsarray- Filter by labels
orderBystring- Order issues by field. If provided, the 'direction' also needs to be provided.one of
CREATED_ATUPDATED_ATCOMMENTS perPagenumber- Results per page for pagination (min 1, max 100)
sincestring- Filter by date (ISO 8601 timestamp)
statestring- Filter by state, by default both open and closed issues are returned when not providedone of
OPENCLOSED
githubmcp_list_pull_requestsList pull requests in a GitHub repository with optional filters.Read-onlyList Pull Requests
List pull requests in a GitHub repository with optional filters.
Inputs
ownerstringrequired- Repository owner
repostringrequired- Repository name
basestring- Filter by base branch
directionstring- Sort directionone of
ascdesc fieldsarray- Subset of fields to return for each pull request. If omitted, all fields are returned. Use this to reduce response size when you only need specific fields; omitting 'body' in particular drops the largest per-result data.
headstring- Filter by head user/org and branch
pagenumber- Page number for pagination (min 1)
perPagenumber- Results per page for pagination (min 1, max 100)
sortstring- Sort byone of
createdupdatedpopularitylong-running statestring- Filter by stateone of
openclosedall
githubmcp_list_releasesList releases in a GitHub repository.Read-onlyList Releases
List releases in a GitHub repository.
Inputs
ownerstringrequired- The GitHub repository owner (username or organization name).
repostringrequired- The GitHub repository name.
fieldsarray- Subset of fields to return for each release. If omitted, all fields are returned. Use this to reduce response size when you only need specific fields; omitting 'body' in particular drops the largest per-release data.
pagenumber- The page number for pagination.
perPagenumber- The number of results per page (max 100).
githubmcp_list_repository_collaboratorsList collaborators of a GitHub repository.Read-onlyList Repository Collaborators
List collaborators of a GitHub repository.
Inputs
ownerstringrequired- Repository owner
repostringrequired- Repository name
affiliationstring- Filter by affiliation. Can be one of: 'outside' (outside collaborators), 'direct' (all with permissions regardless of org membership), 'all' (all collaborators). Default: 'all'one of
outsidedirectall pagenumber- Page number for pagination (default 1, min 1)
perPagenumber- Results per page for pagination (default 30, min 1, max 100)
githubmcp_pull_request_readGet information about a specific pull request or its reviews, comments, or files.Read-onlyPull Request Read
Get information about a specific pull request or its reviews, comments, or files.
Inputs
methodstringrequired- Action to specify what pull request data needs to be retrieved from GitHub.
Possible options:
1. get - Get details of a specific pull request.
2. get_diff - Get the diff of a pull request.
3. get_status - Get combined commit status of a head commit in a pull request.
4. get_files - Get the list of files changed in a pull request. Use with pagination parameters to control the number of results returned.
5. get_commits - Get the list of commits on a pull request. Use with pagination parameters to control the number of results returned.
6. get_review_comments - Get review threads on a pull request. Each thread contains logically grouped review comments made on the same code location during pull request reviews. Returns threads with metadata (isResolved, isOutdated, isCollapsed) and their associated comments. Use cursor-based pagination (perPage, after) to control results.
7. get_reviews - Get the reviews on a pull request. When asked for review comments, use get_review_comments method. Use with pagination parameters to control the number of results returned.
8. get_comments - Get comments on a pull request. Use this if user doesn't specifically want review comments. Use with pagination parameters to control the number of results returned.
9. get_check_runs - Get check runs for the head commit of a pull request. Check runs are the individual CI/CD jobs and checks that run on the PR.
one of
getget_diffget_statusget_filesget_commitsget_review_commentsget_reviewsget_commentsget_check_runs ownerstringrequired- The GitHub repository owner (username or organization name).
pullNumbernumberrequired- The pull request number.
repostringrequired- The GitHub repository name.
afterstring- Cursor for pagination, used only by the get_review_comments method. Pass the endCursor from the previous page's PageInfo to fetch the next page.
pagenumber- The page number for pagination.
perPagenumber- The number of results per page (max 100).
githubmcp_run_secret_scanningScan files or content for exposed secrets such as API keys, passwords, and tokens.Read-onlyRun Secret Scanning
Scan files or content for exposed secrets such as API keys, passwords, and tokens.
Inputs
filesstringrequired- List of files to push, each with a path and content.
ownerstringrequired- The GitHub repository owner (username or organization name).
repostringrequired- The GitHub repository name.
githubmcp_search_codeSearch for code across GitHub repositories using GitHub code search syntax.Read-onlySearch Code
Search for code across GitHub repositories using GitHub code search syntax.
Inputs
querystringrequired- Search query (GitHub code search REST). Implicit AND between terms; supports `OR`, `NOT`, and `"quoted phrase"` for exact match. Qualifiers: `repo:owner/repo`, `org:`, `user:`, `language:`, `path:dir` (prefix match), `filename:exact.ext`, `extension:`, `in:file`, `in:path`, `size:`, `is:archived`, `is:fork`. Max 256 chars. Examples: `WithContext language:go org:github`; `"package main" repo:o/r`; `func extension:go path:cmd repo:o/r`; `NOT TODO language:go repo:o/r`.
fieldsarray- Subset of fields to return for each code search result. If omitted, all fields are returned. Use this to reduce response size when you only need specific fields; omitting 'repository' and 'text_matches' in particular drops the largest per-result data.
orderstring- Sort order for resultsone of
ascdesc pagenumber- Page number for pagination (min 1)
perPagenumber- Results per page for pagination (min 1, max 100)
sortstring- Sort field ('indexed' only)
githubmcp_search_commitsSearch for GitHub commits by commit message and other metadata.Read-onlySearch Commits
Search for GitHub commits by commit message and other metadata.
Inputs
querystringrequired- Commit search query (GitHub commit search REST). Searches commit messages on the default branch only. Scope the search with `repo:owner/repo`, `org:`, or `user:` (queries without a scope qualifier match across all of GitHub and are usually not what you want). Other qualifiers: `author:`, `committer:`, `author-name:`, `committer-name:`, `author-email:`, `committer-email:`, `author-date:`, `committer-date:` (supports `>`, `<`, `>=`, `<=`, and `YYYY-MM-DD..YYYY-MM-DD` ranges), `merge:true|false`, `hash:`, `tree:`, `parent:`, `is:public`. Examples: `repo:owner/repo fix panic`; `org:github author:defunkt committer-date:>=2024-01-01`; `"refactor cache" repo:o/r`; `hash:abc1234 repo:o/r`.
orderstring- Sort orderone of
ascdesc pagenumber- Page number for pagination (min 1)
perPagenumber- Results per page for pagination (min 1, max 100)
sortstring- Sort by author or committer date (defaults to best match)one of
author-datecommitter-date
githubmcp_search_issuesSearch for issues across GitHub repositories using GitHub issues search syntax.Read-onlySearch Issues
Search for issues across GitHub repositories using GitHub issues search syntax.
Inputs
querystringrequired- The search query, as natural language. When the user gives alternative wordings, include them as plain words rather than joining them with OR.
fieldsarray- Subset of fields to return for each issue result. If omitted, all fields are returned. Use this to reduce response size when you only need specific fields; omitting 'body', 'reactions', and 'labels' in particular drops the largest per-result data.
orderstring- Sort orderone of
ascdesc ownerstring- Optional repository owner. If provided with repo, only issues for this repository are listed.
pagenumber- Page number for pagination (min 1)
perPagenumber- Results per page for pagination (min 1, max 100)
repostring- Optional repository name. If provided with owner, only issues for this repository are listed.
sortstring- Sort field by number of matches of categories, defaults to best matchone of
commentsreactionsreactions-+1reactions--1reactions-smilereactions-thinking_facereactions-heartreactions-tadainteractionscreatedupdated
githubmcp_search_pull_requestsSearch for pull requests across GitHub repositories using GitHub search syntax.Read-onlySearch Pull Requests
Search for pull requests across GitHub repositories using GitHub search syntax.
Inputs
querystringrequired- Search query using GitHub pull request search syntax
fieldsarray- Subset of fields to return for each pull request result. If omitted, all fields are returned. Use this to reduce response size when you only need specific fields; omitting 'body', 'reactions', and 'labels' in particular drops the largest per-result data.
orderstring- Sort orderone of
ascdesc ownerstring- Optional repository owner. If provided with repo, only pull requests for this repository are listed.
pagenumber- Page number for pagination (min 1)
perPagenumber- Results per page for pagination (min 1, max 100)
repostring- Optional repository name. If provided with owner, only pull requests for this repository are listed.
sortstring- Sort field by number of matches of categories, defaults to best matchone of
commentsreactionsreactions-+1reactions--1reactions-smilereactions-thinking_facereactions-heartreactions-tadainteractionscreatedupdated
githubmcp_search_repositoriesSearch for GitHub repositories by name, description, topics, or other metadata.Read-onlySearch Repositories
Search for GitHub repositories by name, description, topics, or other metadata.
Inputs
querystringrequired- Repository search query. Examples: 'machine learning in:name stars:>1000 language:python', 'topic:react', 'user:facebook'. Supports advanced search syntax for precise filtering.
minimal_outputboolean- Return minimal repository information (default: true). When false, modern clients receive additional curated repository details, not the complete GitHub API object. Legacy clients retain full GitHub API repository objects.default
true orderstring- Sort orderone of
ascdesc pagenumber- Page number for pagination (min 1)
perPagenumber- Results per page for pagination (min 1, max 100)
sortstring- Sort repositories by field, defaults to best matchone of
starsforkshelp-wanted-issuesupdated
githubmcp_search_usersSearch for GitHub users by username, name, or other profile information.Read-onlySearch Users
Search for GitHub users by username, name, or other profile information.
Inputs
querystringrequired- User search query. Examples: 'john smith', 'location:seattle', 'followers:>100'. Search is automatically scoped to type:user.
orderstring- Sort orderone of
ascdesc pagenumber- Page number for pagination (min 1)
perPagenumber- Results per page for pagination (min 1, max 100)
sortstring- Sort users by number of followers or repositories, or when the person joined GitHub.one of
followersrepositoriesjoined
githubmcp_add_comment_to_pending_reviewAdd a review comment to the requester's latest pending pull request review.WriteAdd Comment To Pending Review
Add a review comment to the requester's latest pending pull request review.
Inputs
bodystringrequired- The text of the review comment
ownerstringrequired- Repository owner
pathstringrequired- The relative path to the file that necessitates a comment
pullNumbernumberrequired- Pull request number
repostringrequired- Repository name
subjectTypestringrequired- The level at which the comment is targetedone of
FILELINE linenumber- The line of the blob in the pull request diff that the comment applies to. For multi-line comments, the last line of the range
sidestring- The side of the diff to comment on. LEFT indicates the previous state, RIGHT indicates the new stateone of
LEFTRIGHT startLinenumber- For multi-line comments, the first line of the range that the comment applies to
startSidestring- For multi-line comments, the starting side of the diff that the comment applies to. LEFT indicates the previous state, RIGHT indicates the new stateone of
LEFTRIGHT
githubmcp_add_issue_commentAdd a comment to a specific issue in a GitHub repository.WriteAdd Issue Comment
Add a comment to a specific issue in a GitHub repository.
Inputs
issue_numbernumberrequired- Issue or pull request number to comment on or react to.
ownerstringrequired- Repository owner
repostringrequired- Repository name
bodystring- Comment content. Required unless reaction is provided.
comment_idinteger- The numeric ID of the issue or pull request comment to react to. Use this for reactions to comments; omit it to react to the issue or pull request itself. Cannot be combined with body.
reactionstring- Emoji reaction to add. Required unless body is provided.one of
+1-1laughconfusedhearthoorayrocketeyes
githubmcp_add_reply_to_pull_request_commentAdd a reply to an existing pull request review comment.WriteAdd Reply To Pull Request Comment
Add a reply to an existing pull request review comment.
Inputs
commentIdnumberrequired- The numeric ID of the pull request review comment to reply or react to. Use the number from a #discussion_r... anchor, not the GraphQL thread node ID (PRRT_...).
ownerstringrequired- Repository owner
repostringrequired- Repository name
bodystring- The text of the reply. Required unless reaction is provided.
pullNumbernumber- Pull request number. Required when body is provided.
reactionstring- Emoji reaction to add. Required unless body is provided.one of
+1-1laughconfusedhearthoorayrocketeyes
githubmcp_create_branchCreate a new branch in a GitHub repository.WriteCreate Branch
Create a new branch in a GitHub repository.
Inputs
branchstringrequired- The branch name.
ownerstringrequired- The GitHub repository owner (username or organization name).
repostringrequired- The GitHub repository name.
from_branchstring- The source branch to create the new branch from. Defaults to the default branch if omitted.
githubmcp_create_or_update_fileCreate or update a single file in a GitHub repository.WriteCreate Or Update File
Create or update a single file in a GitHub repository. Provide the file SHA when updating an existing file.
Inputs
branchstringrequired- Branch to create/update the file in
contentstringrequired- Content of the file, exactly as it should appear once written. Do not base64-encode it; this server does that before calling the REST API.
messagestringrequired- Commit message
ownerstringrequired- Repository owner (username or organization)
pathstringrequired- Path where to create/update the file
repostringrequired- Repository name
allow_symlink_writeboolean- Set true to update a symbolic link itself; content must be its new target path.default
false shastring- The blob SHA of the file being replaced. Required if the file already exists. Retrieve it with get_file_contents using the same owner, repo, and path, with ref set to this tool's branch value.
githubmcp_create_pull_requestCreate a new pull request in a GitHub repository.WriteCreate Pull Request
Create a new pull request in a GitHub repository.
Inputs
basestringrequired- The name of the branch you want the changes merged into.
headstringrequired- The name of the branch where changes are implemented.
ownerstringrequired- The GitHub repository owner (username or organization name).
repostringrequired- The GitHub repository name.
titlestringrequired- The title of the issue or pull request.
bodystring- The text content of the comment, review, or description.
draftboolean- Whether to create the pull request as a draft.
maintainer_can_modifyboolean- Whether maintainers can modify the pull request.
reviewersarray- GitHub usernames or ORG/team-slug team reviewers to request reviews from
githubmcp_create_repositoryCreate a new GitHub repository in your account or a specified organization.WriteCreate Repository
Create a new GitHub repository in your account or a specified organization.
Inputs
namestringrequired- The repository name.
autoInitboolean- Whether to initialize the repository with a README.
descriptionstring- Repository description
organizationstring- The GitHub organization to create the repository in. Defaults to your personal account.
privateboolean- Whether to make the repository private.
githubmcp_fork_repositoryFork a GitHub repository to your account or a specified organization.WriteFork Repository
Fork a GitHub repository to your account or a specified organization.
Inputs
ownerstringrequired- The GitHub repository owner (username or organization name).
repostringrequired- The GitHub repository name.
organizationstring- The GitHub organization to create the repository in. Defaults to your personal account.
githubmcp_issue_writeCreate a new issue or update an existing issue in a GitHub repository.WriteIssue Write
Create a new issue or update an existing issue in a GitHub repository.
Inputs
methodstringrequired- Write operation to perform on a single issue.
Options are:
- 'create' - creates a new issue.
- 'update' - updates an existing issue.
one of
createupdate ownerstringrequired- Repository owner
repostringrequired- Repository name
assigneesarray- Usernames to assign to this issue
bodystring- Issue body content
duplicate_ofnumber- Issue number that this issue is a duplicate of. Required when state_reason is 'duplicate'.
issue_fieldsarray- Issue field values to set or clear. Each item requires 'field_name' and exactly one of 'value', 'field_option_name', or 'delete: true'.
issue_numbernumber- Issue number to update
labelsarray- Labels to apply to this issue
milestonenumber- Milestone number
parent_issue_numbernumber- Issue number of the parent issue. Only used when method is 'create' and cannot be combined with issue_fields. The new issue is created and attached to this parent in the same operation.
parent_ownerstring- Repository owner of the parent issue. Must be provided with parent_repo. Omit both to use owner and repo. Only used when method is 'create' and parent_issue_number is provided.
parent_repostring- Repository name of the parent issue. Must be provided with parent_owner. Omit both to use owner and repo. Only used when method is 'create' and parent_issue_number is provided.
statestring- New stateone of
openclosed state_reasonstring- Reason for the state change. Ignored unless state is changed.one of
completednot_plannedduplicate titlestring- Issue title
typestring- Type of this issue. For updates, pass null to remove the current type. Only use if issue types are enabled for this repository. Use list_issue_types to get valid type values for this repository or its owner organization. If the repository doesn't support issue types, omit this parameter.
githubmcp_merge_pull_requestMerge a pull request in a GitHub repository.WriteMerge Pull Request
Merge a pull request in a GitHub repository.
Inputs
ownerstringrequired- Repository owner
pullNumbernumberrequired- Pull request number
repostringrequired- Repository name
commit_messagestring- Extra detail for merge commit
commit_titlestring- Title for merge commit
expectedHeadShastring- The expected SHA of the pull request's HEAD ref
merge_methodstring- Merge methodone of
mergesquashrebase
githubmcp_pull_request_review_writeCreate, submit, or delete a pull request review.WritePull Request Review Write
Create, submit, or delete a pull request review. Supported methods: create, submit, delete, resolve_thread, unresolve_thread.
Inputs
methodstringrequired- The write operation to perform on pull request review.one of
createsubmit_pendingdelete_pendingresolve_threadunresolve_thread ownerstringrequired- Repository owner
pullNumbernumberrequired- Pull request number
repostringrequired- Repository name
bodystring- Review comment text
commitIDstring- SHA of commit to review
eventstring- Review action to perform.one of
APPROVEREQUEST_CHANGESCOMMENT threadIdstring- The node ID of the review thread (e.g., PRRT_kwDOxxx). Required for resolve_thread and unresolve_thread methods. Get thread IDs from pull_request_read with method get_review_comments.
githubmcp_push_filesPush multiple files to a GitHub repository in a single commit.WritePush Files
Push multiple files to a GitHub repository in a single commit.
Inputs
branchstringrequired- The branch name.
filesarrayrequired- List of files to push, each with a path and content.
messagestringrequired- The commit message.
ownerstringrequired- The GitHub repository owner (username or organization name).
repostringrequired- The GitHub repository name.
githubmcp_request_copilot_reviewRequest a GitHub Copilot automated code review for a pull request.WriteRequest Copilot Review
Request a GitHub Copilot automated code review for a pull request.
Inputs
ownerstringrequired- The GitHub repository owner (username or organization name).
pullNumbernumberrequired- The pull request number.
repostringrequired- The GitHub repository name.
githubmcp_sub_issue_writeAdd, remove, or reorder a sub-issue under a parent issue in a GitHub repository.WriteSub Issue Write
Add, remove, or reorder a sub-issue under a parent issue in a GitHub repository.
Inputs
issue_numbernumberrequired- The issue number.
methodstringrequired- The operation to perform. Check the tool description for available methods.
ownerstringrequired- The GitHub repository owner (username or organization name).
repostringrequired- The GitHub repository name.
sub_issue_idnumberrequired- The issue number of the sub-issue.
after_idnumber- Insert the sub-issue after this sub-issue ID.
before_idnumber- Insert the sub-issue before this sub-issue ID.
replace_parentboolean- Whether to replace the existing parent issue.
githubmcp_ui_getFetch UI data for MCP Apps (labels, assignees, milestones, issue types, branches, issue fields, reviewers).WriteUi Get
Fetch UI data for MCP Apps (labels, assignees, milestones, issue types, branches, issue fields, reviewers).
Inputs
methodstringrequired- The type of data to fetchone of
labelsassigneesmilestonesissue_typesbranchesissue_fieldsreviewers ownerstringrequired- Repository owner (required for all methods)
repostring- Repository name (required for labels, assignees, milestones, branches, issue fields, reviewers)
githubmcp_update_issue_commentUpdate the body of an existing issue or pull request conversation comment.WriteUpdate Issue Comment
Update the body of an existing issue or pull request conversation comment. This tool cannot update pull request review comments.
Inputs
bodystringrequired- New comment content
comment_idintegerrequired- The numeric ID of the issue or pull request conversation comment to update. Do not use a pull request review comment ID.
ownerstringrequired- Repository owner
repostringrequired- Repository name
githubmcp_update_pull_requestUpdate the title, body, state, or other fields of an existing pull request.WriteUpdate Pull Request
Update the title, body, state, or other fields of an existing pull request.
Inputs
ownerstringrequired- Repository owner
pullNumbernumberrequired- Pull request number to update
repostringrequired- Repository name
basestring- New base branch name
bodystring- New description
draftboolean- Mark pull request as draft (true) or ready for review (false)
maintainer_can_modifyboolean- Allow maintainer edits
reviewersarray- GitHub usernames or ORG/team-slug team reviewers to request reviews from
statestring- New stateone of
openclosed titlestring- New title
githubmcp_update_pull_request_branchUpdate a pull request branch with the latest changes from the base branch.WriteUpdate Pull Request Branch
Update a pull request branch with the latest changes from the base branch.
Inputs
ownerstringrequired- The GitHub repository owner (username or organization name).
pullNumbernumberrequired- The pull request number.
repostringrequired- The GitHub repository name.
expectedHeadShastring- The expected SHA of the pull request HEAD ref for optimistic locking.
githubmcp_delete_fileDelete a file from a GitHub repository.DestructiveDelete File
Delete a file from a GitHub repository.
Inputs
branchstringrequired- The branch name.
messagestringrequired- The commit message.
ownerstringrequired- The GitHub repository owner (username or organization name).
pathstringrequired- The file path within the repository.
repostringrequired- The GitHub repository name.
No tools match.