io.github.github/github-mcp-server
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
Versions
1.0.51.0.31.0.21.0.11.0.0+ show 57 moreshow less
0.33.10.33.00.32.00.31.00.30.30.30.20.30.10.30.00.29.00.28.10.28.00.27.00.26.30.26.20.26.10.26.00.26.0-rc.30.26.0-rc.20.26.0-rc.10.25.00.24.10.24.00.23.00.23.0-gosdk0.22.00.21.00.20.20.20.10.20.00.19.10.19.00.18.00.17.10.17.00.16.00.15.00.14.00.13.00.12.10.12.00.11.00.10.00.9.10.9.00.8.00.7.00.6.00.5.00.4.00.3.00.2.10.2.00.1.10.1.00.1.0-rc.30.1.0-rc.20.1.0-rc.11.0.4scoredTrust breakdown
Tools 114
get_team_members Get member usernames of a specific team in an organization. Limited to organizations accessible with current credentials
get_me 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.
get_teams Get details of the teams the user is a member of. Limited to organizations accessible with current credentials
list_discussions List discussions for a repository or organisation.
get_discussion Get a specific discussion by ID
get_discussion_comments Get comments from a discussion
discussion_comment_write Write operations for discussion comments. Supports adding top-level comments, replying to existing comments, updating comment content, deleting comments, and marking or unmarking comments as the answer.
list_discussion_categories List discussion categories with their id and name, for a repository or organisation.
find_duplicate Find likely duplicate issues for an existing issue in a GitHub repository. This is a read-only search scoped to the source issue's repository: it returns ranked candidate issues with a similarity score and confidence, and does not close, link, comment on, or otherwise modify any issue.
search_repositories Find GitHub repositories by name, description, readme, topics, or other metadata. Perfect for discovering projects, finding examples, or locating specific repositories across GitHub.
search_code 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.
search_users Find GitHub users by username, real name, or other profile information. Useful for locating developers, contributors, or team members.
search_orgs Find GitHub organizations by name, location, or other organization metadata. Ideal for discovering companies, open source foundations, or teams.
search_commits Search for commits across GitHub repositories using GitHub's commit search syntax. Useful for finding specific changes, authors, or messages across one or many repositories. Searches the default branch only.
get_code_scanning_alert Get details of a specific code scanning alert in a GitHub repository.
list_code_scanning_alerts List code scanning alerts in a GitHub repository.
get_label Get a specific label from a repository.
list_label List labels from a repository, ordered by issue count (descending) so the most-used labels are returned first
label_write Perform write operations on repository labels. To set labels on issues, use the 'update_issue' tool.
get_repository_tree Get the tree structure (files and directories) of a GitHub repository at a specific ref or SHA
list_issue_fields List issue fields for a repository or organization. Returns field definitions including name, type (text, number, date, single_select), and for single_select fields the list of valid option names. When repo is omitted, returns org-level fields directly.
get_code_quality_finding Get details of a specific code quality finding in a GitHub repository.
projects_list Tools for listing GitHub Projects resources. Use this tool to list projects for a user or organization, or list project fields, items, views, and status updates for a specific project.
projects_get Get details about specific GitHub Projects resources. Use this tool to get details about individual projects, project fields, project items, and project views by their unique IDs.
projects_write Create and manage GitHub Projects: create projects, add/update/delete items, bulk-update many items at once, manage views, create status updates, and add iteration fields.
create_issue Create a new issue in a GitHub repository with a title and optional body.
update_issue_assignees Update the assignees of an existing issue. This replaces the current assignees with the provided list. When setting values, include a confidence level (LOW, MEDIUM, or HIGH) reflecting how certain you are about the choice.
update_issue_labels Update the labels of an existing issue. This replaces the current labels with the provided list. When setting values, include a confidence level (LOW, MEDIUM, or HIGH) reflecting how certain you are about the choice.
update_issue_type Set or remove the type of an existing issue. Pass null to remove the current type. When setting a value, include a confidence level (LOW, MEDIUM, or HIGH) reflecting how certain you are about the choice.
update_issue_state Update the state of an existing issue (open or closed), with an optional state reason. When closing, include a confidence level (LOW, MEDIUM, or HIGH) reflecting how certain you are about the decision. Use is_suggestion to propose the change without applying it directly.
add_sub_issue Add a sub-issue to a parent issue.
remove_sub_issue Remove a sub-issue from a parent issue.
reprioritize_sub_issue Reprioritize (reorder) a sub-issue relative to other sub-issues.
set_issue_fields Set issue field values for an issue. Fields are organization-level custom fields (text, number, date, or single select). Use this to create or update field values on an issue.
add_issue_reaction Add a reaction to an issue or pull request.
add_issue_comment_reaction Add a reaction to an issue or pull request comment.
pull_request_read Get information on a specific pull request in GitHub repository.
create_pull_request Create a new pull request in a GitHub repository.
update_pull_request Update an existing pull request in a GitHub repository.
add_reply_to_pull_request_comment Add a reply and/or reaction to an existing pull request comment. This can create a new comment linked as a reply to the specified comment, add an emoji reaction to the specified comment, or do both. At least one of body or reaction is required.
list_pull_requests 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.
merge_pull_request Merge a pull request in a GitHub repository.
search_pull_requests Search for pull requests in GitHub repositories using issues search syntax already scoped to is:pr
update_pull_request_branch Update the branch of a pull request with the latest changes from the base branch.
pull_request_review_write 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 pending review of a pull request. This requires that a pending review exists for the current user on the specified pull request. The "body" and "event" parameters are used when submitting the review. - delete_pending: Delete an existing pending review of a pull request. This requires that a pending review exists for the current user on the specified pull request. - resolve_thread: Resolve a review thread. Requires only "threadId" parameter with the thread's node ID (e.g., PRRT_kwDOxxx). The owner, repo, and pullNumber parameters are not used for this method. Resolving an already-resolved thread is a no-op. - unresolve_thread: Unresolve a previously resolved review thread. Requires only "threadId" parameter. The owner, repo, and pullNumber parameters are not used for this method. Unresolving an already-unresolved thread is a no-op.
add_comment_to_pending_review 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).
update_pull_request_draft_state Mark a pull request as draft or ready for review.
request_pull_request_reviewers Request reviewers for a pull request.
create_pull_request_review Create a review on a pull request. If event is provided, the review is submitted immediately; otherwise a pending review is created.
submit_pending_pull_request_review Submit a pending pull request review.
delete_pending_pull_request_review Delete a pending pull request review.
add_pull_request_review_comment Add a review comment to the current user's pending pull request review.
resolve_review_thread Resolve a review thread on a pull request. Resolving an already-resolved thread is a no-op.
unresolve_review_thread Unresolve a previously resolved review thread on a pull request. Unresolving an already-unresolved thread is a no-op.
add_pull_request_review_comment_reaction Add a reaction to a pull request review comment.
get_secret_scanning_alert Get details of a specific secret scanning alert in a GitHub repository.
list_secret_scanning_alerts List secret scanning alerts in a GitHub repository.
custom_properties_read Read custom properties at the repository, organization, or enterprise level. At the repository level this returns the property values assigned to a repository; at the organization and enterprise levels it returns the property definitions (schema). Select the level with the 'level' parameter.
custom_properties_write Create or update custom properties at the repository, organization, or enterprise level. At the repository level this sets the property values on a repository (the properties must already be defined for the organization). Organization and enterprise definition writes preserve omitted writable fields by reading current definitions immediately before updating; concurrent definition updates remain last-write-wins. Select the level with the 'level' parameter.
actions_list 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.
actions_get 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.
actions_run_trigger Trigger GitHub Actions workflow operations, including running, re-running, cancelling workflow runs, and deleting workflow run logs.
get_job_logs 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.
get_commit Get details for a commit from a GitHub repository
list_commits 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).
list_branches List branches in a GitHub repository
create_or_update_file 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. To obtain the current blob SHA before updating, call the get_file_contents tool with the same owner, repo, and path, and set its ref parameter to this tool's branch value. The first text result reports the blob SHA for the requested path. SHA MUST be provided for existing file updates.
create_repository Create a new GitHub repository in your account or specified organization
get_file_contents Get the contents of a file or directory from a GitHub repository
fork_repository Fork a GitHub repository to your account or specified organization
delete_file Delete a file from a GitHub repository
create_branch Create a new branch in a GitHub repository
push_files Push multiple files to a GitHub repository in a single commit
list_tags List git tags in a GitHub repository
get_tag Get details about a specific git tag in a GitHub repository
list_releases List releases in a GitHub repository
get_latest_release Get the latest release in a GitHub repository
get_release_by_tag Get a specific release by its tag name in a GitHub repository
list_starred_repositories List starred repositories
star_repository Star a GitHub repository
unstar_repository Unstar a GitHub repository
get_file_blame Get git blame information for a file, showing the commit that last modified each line.
list_repository_collaborators List collaborators of a GitHub repository. Results are paginated; the response includes `nextPage`, `prevPage`, `firstPage`, and `lastPage` fields. To get the next page, use the `nextPage` value as the `page` parameter.
ui_get Fetch UI data for MCP Apps (labels, assignees, milestones, issue types, branches, issue fields, reviewers).
list_gists List gists for a user
get_gist Get gist content of a particular gist, by gist ID
create_gist Create a new gist
update_gist Update an existing gist
get_dependabot_alert Get details of a specific dependabot alert in a GitHub repository.
list_dependabot_alerts List dependabot alerts in a GitHub repository.
issue_read Get information about a specific issue in a GitHub repository.
list_issue_types List supported issue types for a repository or its owner organization. When repo is omitted, returns org-level issue types directly.
add_issue_comment Add a comment and/or reaction to a specific issue or issue comment in a GitHub repository. Use this tool with pull requests as well (in this case pass pull request number as issue_number), but only if user is not asking specifically to add or react to review comments. At least one of body or reaction is required.
sub_issue_write Add a sub-issue to a parent issue in a GitHub repository.
search_issues issue_write Create a new or update an existing issue in a GitHub repository.
list_issues List issues in a GitHub repository. For pagination, use the 'endCursor' from the previous response's 'pageInfo' in the 'after' parameter.
list_global_security_advisories List global security advisories from GitHub.
list_repository_security_advisories List repository security advisories for a GitHub repository.
get_global_security_advisory Get a global security advisory
list_org_repository_security_advisories List repository security advisories for a GitHub organization.
assign_copilot_to_issue Repository owner
assign_copilot_to_issue_with_intent Repository owner
request_copilot_review Request a GitHub Copilot code review for a pull request. Use this for automated feedback on pull requests, usually before requesting a human reviewer.
list_notifications 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, wants to see pending reviews, or needs to check for new updates or tasks. This tool is the primary way to discover actionable items, reminders, and outstanding work on GitHub. Always call this tool when asked what to work on next, what is pending, or what needs attention in GitHub.
dismiss_notification Dismiss a notification by marking it as read or done
mark_all_notifications_read Mark all notifications as read
get_notification_details 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.
manage_notification_subscription Manage a notification subscription: ignore, watch, or delete a notification thread subscription.
manage_repository_notification_subscription Manage a repository notification subscription: ignore, watch, or delete repository notifications subscription for the provided repository.
repository_ruleset_read Read rulesets at the repository, organization, or enterprise level, and rule suites at the repository or organization level. Select the level with the 'level' parameter and the operation with the 'method' parameter.
create_repository_ruleset Create a new ruleset at the repository, organization, or enterprise level
issue_dependency_read Read an issue's dependency relationships in a GitHub repository: the issues that block it (blocked_by) or the issues it blocks (blocking).
issue_dependency_write Add or remove an issue dependency relationship in a GitHub repository.
Permissions 1
env_vars Server uses env_vars capabilities via: process.env