Repository Analysis

github/github-mcp-server

GitHub's official MCP Server

0.6 Likely human-written View on GitHub
0.6
Adjusted Score
0.6
Raw Score
100%
Time Factor
2026-05-30
Last Push
30,285
Stars
Go
Language
89,043
Lines of Code
256
Files
43
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 0HIGH 1MEDIUM 0LOW 42

Pattern Findings

43 matches across 4 categories. Click a row to expand file-level details.

Over-Commented Block36 hits · 36 pts
SeverityFileLineSnippet
LOWinternal/githubv4mock/query.go1// Ths contents of this file are taken from https://github.com/shurcooL/graphql/blob/ed46e5a4646634fc16cb07c3b8db389542c
LOWinternal/githubv4mock/local_round_tripper.go1// Ths contents of this file are taken from https://github.com/shurcooL/graphql/blob/ed46e5a4646634fc16cb07c3b8db389542c
LOWinternal/githubv4mock/objects_are_equal_values.go1// The contents of this file are taken from https://github.com/stretchr/testify/blob/016e2e9c269209287f33ec203f340a9a723
LOWinternal/githubv4mock/githubv4mock.go101
LOWinternal/githubv4mock/githubv4mock.go121// } `graphql:"pullRequest(number: $prNum)"`
LOWinternal/githubv4mock/objects_are_equal_values_test.go1// The contents of this file are taken from https://github.com/stretchr/testify/blob/016e2e9c269209287f33ec203f340a9a723
LOWscript/print-mcp-diff-configs/main.go1// Command print-mcp-diff-configs emits the configuration matrix consumed by
LOW.github/workflows/docker-publish.yml121 # Sign the resulting Docker image digest except on PRs.
LOWpkg/octicons/required_icons.txt1# Required Octicons for the GitHub MCP Server
LOWpkg/github/feature_flags.go41}
LOWpkg/github/deprecated_tool_aliases.go1// deprecated_tool_aliases.go
LOWpkg/github/dependencies.go41// ContextWithDeps returns a new context with the ToolDependencies stored in it.
LOWpkg/github/scope_filter.go41// token is known at startup and won't change during the session.
LOWpkg/github/server_test.go181 require.NotNil(t, server, "expected server to be non-nil")
LOWpkg/github/repositories_helper.go181// The resolution logic follows a clear priority:
LOWpkg/http/server.go41
LOWpkg/http/middleware/mcp_parse.go21 // For prompts/get
LOWpkg/http/oauth/oauth.go41 // This is used to construct the OAuth resource URL.
LOWpkg/http/transport/graphql_features.go21// import "github.com/github/github-mcp-server/pkg/http/transport"
LOWpkg/http/mark/mark.go1// Package mark provides a mechanism for tagging errors with a well-known error value.
LOWpkg/inventory/registry.go21// Build()
LOWpkg/inventory/registry.go41 toolsetDescriptions map[ToolsetID]string // toolset ID -> description
LOWpkg/inventory/registry.go81)
LOWpkg/inventory/registry.go161// The IDs are returned in sorted order for deterministic output.
LOWpkg/inventory/registry.go201 return true
LOWpkg/inventory/server_tool.go41// Icons are provided in both 16x16 and 24x24 sizes.
LOWpkg/inventory/server_tool.go61 HandlerFunc HandlerFunc
LOWpkg/inventory/builder.go21
LOWpkg/inventory/builder.go101}
LOWpkg/inventory/builder.go121// Deprecated tool aliases are automatically resolved to their canonical names during Build().
LOWpkg/inventory/builder.go201 return cleaned
LOWpkg/inventory/filters.go261
LOWpkg/toolvalidation/readonlyhint.go21// candidates for tool-literal validation.
LOWpkg/toolvalidation/readonlyhint.go41func (v ReadOnlyHintViolation) String() string {
LOWpkg/ifc/ifc.go81func LabelGetFileContents(isPrivate bool) SecurityLabel {
LOWpkg/buffer/buffer.go21// httpResp: The HTTP response whose body will be read.
Verbosity Indicators5 hits · 8 pts
SeverityFileLineSnippet
LOWcmd/mcpcurl/main.go329 // For boolean, we need to check if it was explicitly set
LOWpkg/github/projects.go1570 // Step 1: Create the iteration field.
LOWpkg/github/projects.go1595 // Step 2: Configure the iteration field with start date and duration.
LOWpkg/github/repositories_helper.go96 // Step 1: Get Git Tree recursively
LOWpkg/github/repositories_helper.go107 // Step 2: Filter tree for matching paths
Magic Placeholder Names1 hit · 5 pts
SeverityFileLineSnippet
HIGHREADME.md382 "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippet
LOWpkg/github/scope_filter.go48// Example usage: