
GitHub
The GitHub MCP Server enables AI agents and assistants to interact with GitHub's platform through natural language, providing tools to browse and analyze repositories, manage issues and pull requests, monitor CI/CD workflows, review code security findings, and access team collaboration features. It solves the problem of connecting AI tools to GitHub context without requiring manual API integration, allowing developers to automate repository management, code analysis, and development workflows through conversational interfaces. The server is available as both a remote hosted service and a local installation option, supporting various MCP-compatible hosts including VS Code, Claude Desktop, and other AI development tools.
- GitHub stars
- 34.3K
- tools
- 80
- auth
- Secret needed
- transport
- STDIO, HTTP
- last updated
- Nov 3, 2026
Tools
80 toolsPublic tool metadata for what this MCP can expose to an agent.
actions_getGet details about specific GitHub Actions resources. Use this tool to get details about individual workflows, workflow runs, jobs, and artifacts by their unique IDs.4 params
Get details about specific GitHub Actions resources. Use this tool to get details about individual workflows, workflow runs, jobs, and artifacts by their unique IDs.
methodstringget_workflow · get_workflow_run · get_workflow_job · download_workflow_run_artifact · get_workflow_run_usage · get_workflow_run_logs_urlownerstringrepostringresource_idstringactions_listTools for listing GitHub Actions resources. Use this tool to list workflows in a repository, or list workflow runs, jobs, and artifacts for a specific workflow or workflow run.8 params
Tools for listing GitHub Actions resources. Use this tool to list workflows in a repository, or list workflow runs, jobs, and artifacts for a specific workflow or workflow run.
methodstringlist_workflows · list_workflow_runs · list_workflow_jobs · list_workflow_run_artifactsownerstringpagenumberper_pagenumberrepostringresource_idstringworkflow_jobs_filterobjectworkflow_runs_filterobjectactions_run_triggerTrigger GitHub Actions workflow operations, including running, re-running, cancelling workflow runs, and deleting workflow run logs.7 params
Trigger GitHub Actions workflow operations, including running, re-running, cancelling workflow runs, and deleting workflow run logs.
inputsobjectmethodstringrun_workflow · rerun_workflow_run · rerun_failed_jobs · cancel_workflow_run · delete_workflow_run_logsownerstringrefstringrepostringrun_idnumberworkflow_idstringadd_comment_to_pending_reviewAdd review comment to the requester's latest pending pull request review. A pending review needs to already exist to call this (check with the user if not sure).10 params
Add review comment to the requester's latest pending pull request review. A pending review needs to already exist to call this (check with the user if not sure).
bodystringlinenumberownerstringpathstringpullNumbernumberrepostringsidestringLEFT · RIGHTstartLinenumberstartSidestringLEFT · RIGHTsubjectTypestringFILE · LINEadd_issue_commentAdd a comment to a specific issue in a GitHub repository. Use this tool to add comments to pull requests as well (in this case pass pull request number as issue_number), but only if user is not asking specifically to add review comments.4 params
Add a comment to a specific issue in a GitHub repository. Use this tool to add comments to pull requests as well (in this case pass pull request number as issue_number), but only if user is not asking specifically to add review comments.
bodystringissue_numbernumberownerstringrepostringadd_reply_to_pull_request_commentAdd a reply to an existing pull request comment. This creates a new comment that is linked as a reply to the specified comment.5 params
Add a reply to an existing pull request comment. This creates a new comment that is linked as a reply to the specified comment.
bodystringcommentIdnumberownerstringpullNumbernumberrepostringassign_copilot_to_issueAssign Copilot to a specific issue in a GitHub repository. This tool can help with the following outcomes: - a Pull Request created with source code changes to resolve the issue More information can be found at: - https://docs.github.com/en/copilot/using-github-copilot/using-c...5 params
Assign Copilot to a specific issue in a GitHub repository. This tool can help with the following outcomes: - a Pull Request created with source code changes to resolve the issue More information can be found at: - https://docs.github.com/en/copilot/using-github-copilot/using-c...
base_refstringcustom_instructionsstringissue_numbernumberownerstringrepostringcreate_branchCreate a new branch in a GitHub repository4 params
Create a new branch in a GitHub repository
branchstringfrom_branchstringownerstringrepostringcreate_gistCreate a new gist4 params
Create a new gist
contentstringdescriptionstringfilenamestringpublicbooleancreate_or_update_fileCreate or update a single file in a GitHub repository. If updating, you should provide the SHA of the file you want to update. Use this tool to create or update a file in a GitHub repository remotely; do not use it for local file operations. In order to obtain the SHA of origi...7 params
Create or update a single file in a GitHub repository. If updating, you should provide the SHA of the file you want to update. Use this tool to create or update a file in a GitHub repository remotely; do not use it for local file operations. In order to obtain the SHA of origi...
branchstringcontentstringmessagestringownerstringpathstringrepostringshastringcreate_pull_requestCreate a new pull request in a GitHub repository.8 params
Create a new pull request in a GitHub repository.
basestringbodystringdraftbooleanheadstringmaintainer_can_modifybooleanownerstringrepostringtitlestringcreate_pull_request_with_copilotDelegate a task to GitHub Copilot coding agent to perform in the background. The agent will create a pull request with the implementation. You should use this tool if the user asks to create a pull request to perform a specific task, or if the user asks Copilot to do something.5 params
Delegate a task to GitHub Copilot coding agent to perform in the background. The agent will create a pull request with the implementation. You should use this tool if the user asks to create a pull request to perform a specific task, or if the user asks Copilot to do something.
base_refstringownerstringproblem_statementstringrepostringtitlestringcreate_repositoryCreate a new GitHub repository in your account or specified organization5 params
Create a new GitHub repository in your account or specified organization
autoInitbooleandescriptionstringnamestringorganizationstringprivatebooleandelete_fileDelete a file from a GitHub repository5 params
Delete a file from a GitHub repository
branchstringmessagestringownerstringpathstringrepostringdismiss_notificationDismiss a notification by marking it as read or done2 params
Dismiss a notification by marking it as read or done
statestringread · donethreadIDstringfork_repositoryFork a GitHub repository to your account or specified organization3 params
Fork a GitHub repository to your account or specified organization
organizationstringownerstringrepostringget_code_scanning_alertGet details of a specific code scanning alert in a GitHub repository.3 params
Get details of a specific code scanning alert in a GitHub repository.
alertNumbernumberownerstringrepostringget_commitGet details for a commit from a GitHub repository6 params
Get details for a commit from a GitHub repository
include_diffbooleanownerstringpagenumberperPagenumberrepostringshastringget_copilot_job_statusGet the status of a GitHub Copilot coding agent job. Use this to check if a previously submitted task has completed and to get the pull request URL once it's created. Provide the job ID (from create_pull_request_with_copilot) or pull request number (from assign_copilot_to_issu...3 params
Get the status of a GitHub Copilot coding agent job. Use this to check if a previously submitted task has completed and to get the pull request URL once it's created. Provide the job ID (from create_pull_request_with_copilot) or pull request number (from assign_copilot_to_issu...
idstringownerstringrepostringget_copilot_spaceThis tool can be used to provide additional context to the chat from a specific Copilot space. If the user mentions the keyword 'Copilot space' with the name and owner of the space, execute this tool. The response includes a table of contents (TOC) listing all documents in the...2 params
This tool can be used to provide additional context to the chat from a specific Copilot space. If the user mentions the keyword 'Copilot space' with the name and owner of the space, execute this tool. The response includes a table of contents (TOC) listing all documents in the...
namestringownerstringget_dependabot_alertGet details of a specific dependabot alert in a GitHub repository.3 params
Get details of a specific dependabot alert in a GitHub repository.
alertNumbernumberownerstringrepostringget_discussionGet a specific discussion by ID3 params
Get a specific discussion by ID
discussionNumbernumberownerstringrepostringget_discussion_commentsGet comments from a discussion5 params
Get comments from a discussion
afterstringdiscussionNumbernumberownerstringperPagenumberrepostringget_file_contentsGet the contents of a file or directory from a GitHub repository5 params
Get the contents of a file or directory from a GitHub repository
ownerstringpathstringrefstringrepostringshastringget_gistGet gist content of a particular gist, by gist ID1 params
Get gist content of a particular gist, by gist ID
gist_idstringget_global_security_advisoryGet a global security advisory1 params
Get a global security advisory
ghsaIdstringget_job_logsGet logs for GitHub Actions workflow jobs. Use this tool to retrieve logs for a specific job or all failed jobs in a workflow run. For single job logs, provide job_id. For all failed jobs in a run, provide run_id with failed_only=true.7 params
Get logs for GitHub Actions workflow jobs. Use this tool to retrieve logs for a specific job or all failed jobs in a workflow run. For single job logs, provide job_id. For all failed jobs in a run, provide run_id with failed_only=true.
failed_onlybooleanjob_idnumberownerstringrepostringreturn_contentbooleanrun_idnumbertail_linesnumberget_labelGet a specific label from a repository.3 params
Get a specific label from a repository.
namestringownerstringrepostringget_latest_releaseGet the latest release in a GitHub repository2 params
Get the latest release in a GitHub repository
ownerstringrepostringget_meGet details of the authenticated GitHub user. Use this when a request is about the user's own profile for GitHub. Or when information is missing to build other tool calls.
Get details of the authenticated GitHub user. Use this when a request is about the user's own profile for GitHub. Or when information is missing to build other tool calls.
No parameter schema in public metadata yet.
get_notification_detailsGet detailed information for a specific GitHub notification, always call this tool when the user asks for details about a specific notification, if you don't know the ID list notifications first.1 params
Get detailed information for a specific GitHub notification, always call this tool when the user asks for details about a specific notification, if you don't know the ID list notifications first.
notificationIDstringget_release_by_tagGet a specific release by its tag name in a GitHub repository3 params
Get a specific release by its tag name in a GitHub repository
ownerstringrepostringtagstringget_repository_treeGet the tree structure (files and directories) of a GitHub repository at a specific ref or SHA5 params
Get the tree structure (files and directories) of a GitHub repository at a specific ref or SHA
ownerstringpath_filterstringrecursivebooleanrepostringtree_shastringget_secret_scanning_alertGet details of a specific secret scanning alert in a GitHub repository.3 params
Get details of a specific secret scanning alert in a GitHub repository.
alertNumbernumberownerstringrepostringget_tagGet details about a specific git tag in a GitHub repository3 params
Get details about a specific git tag in a GitHub repository
ownerstringrepostringtagstringget_team_membersGet member usernames of a specific team in an organization. Limited to organizations accessible with current credentials2 params
Get member usernames of a specific team in an organization. Limited to organizations accessible with current credentials
orgstringteam_slugstringget_teamsGet details of the teams the user is a member of. Limited to organizations accessible with current credentials1 params
Get details of the teams the user is a member of. Limited to organizations accessible with current credentials
userstringgithub_support_docs_searchRetrieve documentation relevant to answer GitHub product and support questions. Support topics include: GitHub Actions Workflows, Authentication, GitHub Support Inquiries, Pull Request Practices, Repository Maintenance, GitHub Pages, GitHub Packages, GitHub Discussions, Copilo...1 params
Retrieve documentation relevant to answer GitHub product and support questions. Support topics include: GitHub Actions Workflows, Authentication, GitHub Support Inquiries, Pull Request Practices, Repository Maintenance, GitHub Pages, GitHub Packages, GitHub Discussions, Copilo...
querystringissue_readGet information about a specific issue in a GitHub repository.6 params
Get information about a specific issue in a GitHub repository.
issue_numbernumbermethodstringget · get_comments · get_sub_issues · get_labelsownerstringpagenumberperPagenumberrepostringissue_writeCreate a new or update an existing issue in a GitHub repository.13 params
Create a new or update an existing issue in a GitHub repository.
assigneesarraybodystringduplicate_ofnumberissue_numbernumberlabelsarraymethodstringcreate · updatemilestonenumberownerstringrepostringstatestringopen · closedstate_reasonstringcompleted · not_planned · duplicatetitlestringtypestringlabel_writePerform write operations on repository labels. To set labels on issues, use the 'update_issue' tool.7 params
Perform write operations on repository labels. To set labels on issues, use the 'update_issue' tool.
colorstringdescriptionstringmethodstringcreate · update · deletenamestringnew_namestringownerstringrepostringlist_branchesList branches in a GitHub repository4 params
List branches in a GitHub repository
ownerstringpagenumberperPagenumberrepostringlist_code_scanning_alertsList code scanning alerts in a GitHub repository.6 params
List code scanning alerts in a GitHub repository.
ownerstringrefstringrepostringseveritystringcritical · high · medium · low · warning · notestatestringopen · closed · dismissed · fixeddefault: opentool_namestringlist_commitsGet list of commits of a branch in a GitHub repository. Returns at least 30 results per page by default, but can return more if specified using the perPage parameter (up to 100).6 params
Get list of commits of a branch in a GitHub repository. Returns at least 30 results per page by default, but can return more if specified using the perPage parameter (up to 100).
authorstringownerstringpagenumberperPagenumberrepostringshastringlist_copilot_spacesRetrieves the list of Copilot Spaces accessible to the user, including their names and owners.
Retrieves the list of Copilot Spaces accessible to the user, including their names and owners.
No parameter schema in public metadata yet.
list_dependabot_alertsList dependabot alerts in a GitHub repository.4 params
List dependabot alerts in a GitHub repository.
ownerstringrepostringseveritystringlow · medium · high · criticalstatestringopen · fixed · dismissed · auto_dismisseddefault: openlist_discussion_categoriesList discussion categories with their id and name, for a repository or organisation.2 params
List discussion categories with their id and name, for a repository or organisation.
ownerstringrepostringlist_discussionsList discussions for a repository or organisation.7 params
List discussions for a repository or organisation.
afterstringcategorystringdirectionstringASC · DESCorderBystringCREATED_AT · UPDATED_ATownerstringperPagenumberrepostringlist_gistsList gists for a user4 params
List gists for a user
pagenumberperPagenumbersincestringusernamestringlist_global_security_advisoriesList global security advisories from GitHub.11 params
List global security advisories from GitHub.
affectsstringcveIdstringcwesarrayecosystemstringactions · composer · erlang · go · maven · npmghsaIdstringisWithdrawnbooleanmodifiedstringpublishedstringseveritystringunknown · low · medium · high · criticaltypestringreviewed · malware · unrevieweddefault: reviewedupdatedstringlist_issue_typesList supported issue types for repository owner (organization).1 params
List supported issue types for repository owner (organization).
ownerstringlist_issuesList issues in a GitHub repository. For pagination, use the 'endCursor' from the previous response's 'pageInfo' in the 'after' parameter.9 params
List issues in a GitHub repository. For pagination, use the 'endCursor' from the previous response's 'pageInfo' in the 'after' parameter.
afterstringdirectionstringASC · DESClabelsarrayorderBystringCREATED_AT · UPDATED_AT · COMMENTSownerstringperPagenumberrepostringsincestringstatestringOPEN · CLOSEDlist_labelList labels from a repository2 params
List labels from a repository
ownerstringrepostringlist_notificationsLists all GitHub notifications for the authenticated user, including unread notifications, mentions, review requests, assignments, and updates on issues or pull requests. Use this tool whenever the user asks what to work on next, requests a summary of their GitHub activity, wa...7 params
Lists all GitHub notifications for the authenticated user, including unread notifications, mentions, review requests, assignments, and updates on issues or pull requests. Use this tool whenever the user asks what to work on next, requests a summary of their GitHub activity, wa...
beforestringfilterstringdefault · include_read_notifications · only_participatingownerstringpagenumberperPagenumberrepostringsincestringlist_org_repository_security_advisoriesList repository security advisories for a GitHub organization.4 params
List repository security advisories for a GitHub organization.
directionstringasc · descorgstringsortstringcreated · updated · publishedstatestringtriage · draft · published · closedlist_pull_requestsList pull requests in a GitHub repository. If the user specifies an author, then DO NOT use this tool and use the search_pull_requests tool instead.9 params
List pull requests in a GitHub repository. If the user specifies an author, then DO NOT use this tool and use the search_pull_requests tool instead.
basestringdirectionstringasc · descheadstringownerstringpagenumberperPagenumberrepostringsortstringcreated · updated · popularity · long-runningstatestringopen · closed · alllist_releasesList releases in a GitHub repository4 params
List releases in a GitHub repository
ownerstringpagenumberperPagenumberrepostringlist_repository_security_advisoriesList repository security advisories for a GitHub repository.5 params
List repository security advisories for a GitHub repository.
directionstringasc · descownerstringrepostringsortstringcreated · updated · publishedstatestringtriage · draft · published · closedlist_secret_scanning_alertsList secret scanning alerts in a GitHub repository.5 params
List secret scanning alerts in a GitHub repository.
ownerstringrepostringresolutionstringfalse_positive · wont_fix · revoked · pattern_edited · pattern_deleted · used_in_testssecret_typestringstatestringopen · resolvedlist_starred_repositoriesList starred repositories5 params
List starred repositories
directionstringasc · descpagenumberperPagenumbersortstringcreated · updatedusernamestringlist_tagsList git tags in a GitHub repository4 params
List git tags in a GitHub repository
ownerstringpagenumberperPagenumberrepostringmanage_notification_subscriptionManage a notification subscription: ignore, watch, or delete a notification thread subscription.2 params
Manage a notification subscription: ignore, watch, or delete a notification thread subscription.
actionstringignore · watch · deletenotificationIDstringmanage_repository_notification_subscriptionManage a repository notification subscription: ignore, watch, or delete repository notifications subscription for the provided repository.3 params
Manage a repository notification subscription: ignore, watch, or delete repository notifications subscription for the provided repository.
actionstringignore · watch · deleteownerstringrepostringmark_all_notifications_readMark all notifications as read3 params
Mark all notifications as read
lastReadAtstringownerstringrepostringmerge_pull_requestMerge a pull request in a GitHub repository.6 params
Merge a pull request in a GitHub repository.
commit_messagestringcommit_titlestringmerge_methodstringmerge · squash · rebaseownerstringpullNumbernumberrepostringprojects_getGet details about specific GitHub Projects resources. Use this tool to get details about individual projects, project fields, and project items by their unique IDs.8 params
Get details about specific GitHub Projects resources. Use this tool to get details about individual projects, project fields, and project items by their unique IDs.
field_idnumberfieldsarrayitem_idnumbermethodstringget_project · get_project_field · get_project_item · get_project_status_updateownerstringowner_typestringuser · orgproject_numbernumberstatus_update_idstringprojects_listTools for listing GitHub Projects resources. Use this tool to list projects for a user or organization, or list project fields and items for a specific project.9 params
Tools for listing GitHub Projects resources. Use this tool to list projects for a user or organization, or list project fields and items for a specific project.
afterstringbeforestringfieldsarraymethodstringlist_projects · list_project_fields · list_project_items · list_project_status_updatesownerstringowner_typestringuser · orgper_pagenumberproject_numbernumberquerystringprojects_writeAdd, update, or delete project items, or create status updates in a GitHub Project.15 params
Add, update, or delete project items, or create status updates in a GitHub Project.
bodystringissue_numbernumberitem_idnumberitem_ownerstringitem_repostringitem_typestringissue · pull_requestmethodstringadd_project_item · update_project_item · delete_project_item · create_project_status_updateownerstringowner_typestringuser · orgproject_numbernumberpull_request_numbernumberstart_datestringstatusstringINACTIVE · ON_TRACK · AT_RISK · OFF_TRACK · COMPLETEtarget_datestringupdated_fieldobjectpull_request_readGet information on a specific pull request in GitHub repository.6 params
Get information on a specific pull request in GitHub repository.
methodstringget · get_diff · get_status · get_files · get_review_comments · get_reviewsownerstringpagenumberperPagenumberpullNumbernumberrepostringpull_request_review_writeCreate and/or submit, delete review of a pull request. Available methods: - create: Create a new review of a pull request. If "event" parameter is provided, the review is submitted. If "event" is omitted, a pending review is created. - submit_pending: Submit an existing pendin...7 params
Create and/or submit, delete review of a pull request. Available methods: - create: Create a new review of a pull request. If "event" parameter is provided, the review is submitted. If "event" is omitted, a pending review is created. - submit_pending: Submit an existing pendin...
bodystringcommitIDstringeventstringAPPROVE · REQUEST_CHANGES · COMMENTmethodstringcreate · submit_pending · delete_pendingownerstringpullNumbernumberrepostringpush_filesPush multiple files to a GitHub repository in a single commit5 params
Push multiple files to a GitHub repository in a single commit
branchstringfilesarraymessagestringownerstringrepostringrequest_copilot_reviewRequest a GitHub Copilot code review for a pull request. Use this for automated feedback on pull requests, usually before requesting a human reviewer.3 params
Request a GitHub Copilot code review for a pull request. Use this for automated feedback on pull requests, usually before requesting a human reviewer.
ownerstringpullNumbernumberrepostringrun_secret_scanningScan files, content, or recent changes for secrets such as API keys, passwords, tokens, and credentials. This tool is intended for targeted scans of specific files, snippets, or diffs provided directly as content. It accepts file contents or diffs and returns detected secrets...3 params
Scan files, content, or recent changes for secrets such as API keys, passwords, tokens, and credentials. This tool is intended for targeted scans of specific files, snippets, or diffs provided directly as content. It accepts file contents or diffs and returns detected secrets...
filesarrayownerstringrepostringsearch_codeFast and precise code search across ALL GitHub repositories using GitHub's native search engine. Best for finding exact symbols, functions, classes, or specific code patterns.5 params
Fast and precise code search across ALL GitHub repositories using GitHub's native search engine. Best for finding exact symbols, functions, classes, or specific code patterns.
orderstringasc · descpagenumberperPagenumberquerystringsortstringsearch_issuesSearch for issues in GitHub repositories using issues search syntax already scoped to is:issue7 params
Search for issues in GitHub repositories using issues search syntax already scoped to is:issue
orderstringasc · descownerstringpagenumberperPagenumberquerystringrepostringsortstringcomments · reactions · reactions-+1 · reactions--1 · reactions-smile · reactions-thinking_facesearch_orgsFind GitHub organizations by name, location, or other organization metadata. Ideal for discovering companies, open source foundations, or teams.5 params
Find GitHub organizations by name, location, or other organization metadata. Ideal for discovering companies, open source foundations, or teams.
orderstringasc · descpagenumberperPagenumberquerystringsortstringfollowers · repositories · joinedsearch_pull_requestsSearch for pull requests in GitHub repositories using issues search syntax already scoped to is:pr7 params
Search for pull requests in GitHub repositories using issues search syntax already scoped to is:pr
orderstringasc · descownerstringpagenumberperPagenumberquerystringrepostringsortstringcomments · reactions · reactions-+1 · reactions--1 · reactions-smile · reactions-thinking_facesearch_repositoriesFind GitHub repositories by name, description, readme, topics, or other metadata. Perfect for discovering projects, finding examples, or locating specific repositories across GitHub.6 params
Find GitHub repositories by name, description, readme, topics, or other metadata. Perfect for discovering projects, finding examples, or locating specific repositories across GitHub.
minimal_outputbooleanorderstringasc · descpagenumberperPagenumberquerystringsortstringstars · forks · help-wanted-issues · updatedsearch_usersFind GitHub users by username, real name, or other profile information. Useful for locating developers, contributors, or team members.5 params
Find GitHub users by username, real name, or other profile information. Useful for locating developers, contributors, or team members.
orderstringasc · descpagenumberperPagenumberquerystringsortstringfollowers · repositories · joinedstar_repositoryStar a GitHub repository2 params
Star a GitHub repository
ownerstringrepostringSponsors
Readme
GitHub MCP Server
The GitHub MCP Server connects AI tools directly to GitHub's platform. This gives AI agents, assistants, and chatbots the ability to read repositories and code files, manage issues and PRs, analyze code, and automate workflows. All through natural language interactions.
Use Cases
Details
- Repository
- github.com/github/github-mcp-server
- Category
- Developer Tools
- Package
ghcr.io/github/github-mcp-server:2.1.0- Transport
- STDIO, HTTP
- Auth
- Required
- Registry
- MCP registry, active