io.github.github/github-mcp-server
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
Versions
1.0.4 latest Tools 96
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
projects_list 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.
projects_get 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.
projects_write Add, update, or delete project items, or create status updates in a GitHub Project.
get_dependabot_alert Get details of a specific dependabot alert in a GitHub repository.
list_dependabot_alerts List dependabot alerts in a GitHub repository.
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.
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.
get_repository_tree Get the tree structure (files and directories) of a GitHub repository at a specific ref or SHA
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.
get_label Get a specific label from a repository.
list_label List labels from a repository
label_write Perform write operations on repository labels. To set labels on issues, use the 'update_issue' tool.
issue_read Get information about a specific issue in a GitHub repository.
list_issue_types List supported issue types for repository owner (organization).
add_issue_comment 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.
sub_issue_write Add a sub-issue to a parent issue in a GitHub repository.
search_issues Search for issues in GitHub repositories using issues search syntax already scoped to is:issue
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.
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.
assign_copilot_to_issue 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.
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.
create_issue Create a new issue in a GitHub repository with a title and optional body.
update_issue_labels Update the labels of an existing issue. This replaces the current labels with the provided list.
update_issue_type Update the type of an existing issue (e.g. 'bug', 'feature').
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.
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.
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 to an existing pull request comment. This creates a new comment that is linked as a reply to the specified comment.
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).
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.
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.
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. In order to obtain the SHA of original file version before updating, use the following git command: git rev-parse <branch>:<path to file> 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
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.
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
get_team_members Get member usernames of a specific team in an organization. Limited to organizations accessible with current credentials
Permissions 1
env_vars low