B

GitHub MCP Server

Official GitHub MCP server providing repository, issue, PR, actions, and security tools for GitHub.

Overall Score80/100

Score Breakdown

Server Info

Package
ghcr.io/github/github-mcp-server
Registry
oci
Maintainer
GitHubVendor
Category
Developer Tools
Tags
gitreposissuespull-requests
Last Scanned
7 Apr 2026

Findings

5 issues

Authentication & Identity

MEDIUMHTTP/SSE transport supports per-request credentials

Stdio transport with PAT env var for local use. Also supports remote streamable-http via api.githubcopilot.com with bearer token. No MCP OAuth spec implementation in the open-source server itself; the remote endpoint handles auth separately.

Remediation

Implement the MCP OAuth spec so users authenticate directly without platform mediation.

Tool Schema Quality

HIGHRequired fields missing on 1 write operations

Write tools without required field declarations: mark_all_notifications_read.

Remediation

Add required arrays to all write/delete tool schemas.

MEDIUMOnly 15 of 79 schemas have parameter constraints

Most schemas lack maxLength, enum, or pattern constraints on string parameters.

Remediation

Add constraints to string parameters, especially on write operations.

LLM Safety

HIGHTool descriptions contain instructional language

Descriptions include directives that could influence LLM behavior beyond tool selection.

Remediation

Remove instructional language. Descriptions should be purely factual.

Data Exposure

LOWNo field selection on responses

Responses return full records rather than projected fields.

Remediation

Implement field selection to return only relevant fields.

Tools

79 total
NameDescriptionRisk
get_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.read
get_teamsGet details of the teams the user is a member of. Limited to organizations accessible with current credentialsread
get_team_membersGet member usernames of a specific team in an organization. Limited to organizations accessible with current credentialsread
search_repositoriesFind GitHub repositories by name, description, readme, topics, or other metadata. Perfect for discovering projects, finding examples, or locating specific repositories across GitHub.read
get_file_contentsGet the contents of a file or directory from a GitHub repositoryread
list_commitsGet list of commits of a branch in a GitHub repositoryread
search_codeFast and precise code search across ALL GitHub repositories using GitHub's native search engine.read
get_commitGet details for a commit from a GitHub repositoryread
list_branchesList branches in a GitHub repositoryread
list_tagsList git tags in a GitHub repositoryread
get_tagGet details about a specific git tag in a GitHub repositoryread
list_releasesList releases in a GitHub repositoryread
get_latest_releaseGet the latest release in a GitHub repositoryread
get_release_by_tagGet a specific release by its tag name in a GitHub repositoryread
create_or_update_fileCreate or update a single file in a GitHub repository.write
create_repositoryCreate a new GitHub repository in your account or specified organizationwrite
fork_repositoryFork a GitHub repository to your account or specified organizationwrite
create_branchCreate a new branch in a GitHub repositorywrite
push_filesPush multiple files to a GitHub repository in a single commitwrite
delete_fileDelete a file from a GitHub repositorywrite
list_starred_repositoriesList starred repositoriesread
star_repositoryStar a GitHub repositorywrite
unstar_repositoryUnstar a GitHub repositorywrite
get_repository_treeGet the tree structure (files and directories) of a GitHub repository at a specific ref or SHAread
issue_readGet information about a specific issue in a GitHub repository.read
search_issuesSearch for issues in GitHub repositories using issues search syntax already scoped to is:issueread
list_issuesList issues in a GitHub repository.read
list_issue_typesList supported issue types for repository owner (organization).read
issue_writeCreate a new or update an existing issue in a GitHub repository.write
add_issue_commentAdd a comment to a specific issue in a GitHub repository.write
sub_issue_writeAdd a sub-issue to a parent issue in a GitHub repository.write
search_usersFind GitHub users by username, real name, or other profile information.read
search_orgsFind GitHub organizations by name, location, or other organization metadata.read
pull_request_readGet information on a specific pull request in GitHub repository.read
list_pull_requestsList pull requests in a GitHub repository.read
search_pull_requestsSearch for pull requests in GitHub repositories using issues search syntax already scoped to is:prread
merge_pull_requestMerge a pull request in a GitHub repository.write
update_pull_request_branchUpdate the branch of a pull request with the latest changes from the base branch.write
create_pull_requestCreate a new pull request in a GitHub repository.write
update_pull_requestUpdate an existing pull request in a GitHub repository.write
pull_request_review_writeCreate and/or submit, delete review of a pull request.write
add_comment_to_pending_reviewAdd review comment to the requester's latest pending pull request review.write
add_reply_to_pull_request_commentAdd a reply to an existing pull request comment.write
assign_copilot_to_issueAssign GitHub Copilot coding agent to work on an issue.write
request_copilot_reviewRequest a GitHub Copilot code review for a pull request.write
get_code_scanning_alertGet details of a specific code scanning alert in a GitHub repository.read
list_code_scanning_alertsList code scanning alerts in a GitHub repository.read
get_secret_scanning_alertGet details of a specific secret scanning alert in a GitHub repository.read
list_secret_scanning_alertsList secret scanning alerts in a GitHub repository.read
get_dependabot_alertGet details of a specific dependabot alert in a GitHub repository.read
list_dependabot_alertsList dependabot alerts in a GitHub repository.read
list_notificationsList notifications for the authenticated user.read
get_notification_detailsGet detailed information for a specific GitHub notification.read
dismiss_notificationDismiss a notification by marking it as read or donewrite
mark_all_notifications_readMark all notifications as readwrite
manage_notification_subscriptionManage a notification subscription: ignore, watch, or delete a notification thread subscription.write
manage_repository_notification_subscriptionManage a repository notification subscription.write
list_discussionsList discussions for a repository or organisation.read
get_discussionGet a specific discussion by IDread
get_discussion_commentsGet comments from a discussionread
list_discussion_categoriesList discussion categories with their id and name, for a repository or organisation.read
actions_listList GitHub Actions resources: workflows, workflow runs, workflow jobs.read
actions_getGet details about specific GitHub Actions resources.read
actions_run_triggerTrigger GitHub Actions workflow operations, including running, re-running, cancelling workflow runs, and deleting workflow run logs.write
get_job_logsGet logs for GitHub Actions workflow jobs.read
list_global_security_advisoriesList global security advisories from GitHub.read
get_global_security_advisoryGet a global security advisoryread
list_repository_security_advisoriesList repository security advisories for a GitHub repository.read
list_org_repository_security_advisoriesList repository security advisories for a GitHub organization.read
list_gistsList gists for a userread
get_gistGet gist content of a particular gist, by gist IDread
create_gistCreate a new gistwrite
update_gistUpdate an existing gistwrite
projects_listList projects available in a GitHub organization.read
projects_getGet details about specific GitHub Projects resources.read
projects_writeAdd, update, or delete project items, or create status updates in a GitHub Project.write
get_labelGet a specific label from a repository.read
list_labelsList labels from a repositoryread
label_writePerform write operations on repository labels.write

Deploy GitHub MCP Server securely

CompleteFlow adds per-user authentication, permission scoping, and audit logging to any MCP server out of the box.

Deploy on CompleteFlow