Releases: github/github-mcp-server
Releases Β· github/github-mcp-server
Release list
GitHub MCP Server 1.12.1
Immutable
release. Only release title and notes can be modified.
Bugfix release
Oauth protected resource metadata became too permissive in the supported scopes advertised, which has been addressed in this release.
What's Changed
- Return a clear error for missing owner/repo/issue_number in the copilot assignment tools by @thejdubb02 in #3221
- build(deps): bump golang from 1.27.0-alpine to 1.27.1-alpine by @dependabot[bot] in #3239
- fix(oauth): advertise only default scopes in protected resource metadata by @SamMorrowDrums in #3251
New Contributors
- @thejdubb02 made their first contribution in #3221
Full Changelog: v1.12.0...v1.12.1
GitHub MCP Server 1.12.0
Immutable
release. Only release title and notes can be modified.
Highlights
- New governance tools for agents. Read and manage repository rulesets and custom properties across repository, organization, and enterprise levels.
- Faster, safer feature flags. Functional availability rules evaluate lazily after static filtering, deduplicate checks per request, and preserve precise availability errors.
- Safer write operations. Pin merge HEADs, recover file SHAs, use least-privilege public-repository access, and detect silently dropped labels.
- Richer review and discovery support. Adds review range coordinates, thread resolution reasons, projected-header preflights, Server Card support, and Agent Plugins.
- Better content fidelity. Markdown bodies, titles, release notes, comments, and commit messages preserve visible content while filtering unsafe invisible characters.
What's Changed
- Remove documentation for unavailable tool-search command by @tommaso-moro in #3162
- Expose Copilot review thread resolution reasons by @cagesellchen in #3123
- fix(repos): give create_or_update_file callers a SHA they can actually get by @dylanpulver in #3131
- fix: allow public_repo for public contribution tools by @paulcakeface in #3140
- Enable feature flags via URL query parameter (?features=) for headerless hosted connections by @CAOShurong in #3146
- Add expectedHeadSha pinning to merge_pull_request by @jcosta1970 in #3182
- Fix e2e harness compilation against go-github v89 and go-sdk v1.7 by @ppoffice in #3187
- Return range coordinates for review comments by @yiheng-kkk in #3193
- Fix issue_write silently dropped label errors by @SamMorrowDrums in #3195
- fix(http): allow projected MCP headers in preflights by @SamMorrowDrums in #3167
- Spell perPage the same way in every paginated tool by @karpovantonme in #3142
- Add MCP Server Card (SEP-2127) types + handler by @SamMorrowDrums in #2768
- Refactor feature flags to use functional availability rules by @SamMorrowDrums in #3166
- feat(governance): add repository ruleset tools with multi-level scope challenge by @SamMorrowDrums in #2991
- feat(governance): add custom properties tools by @SamMorrowDrums in #2992
- Fix HTML entities in sanitized titles by @SamMorrowDrums in #3216
- build(deps): bump fast-uri from 3.1.5 to 3.1.7 in /ui in the npm_and_yarn group across 1 directory by @dependabot[bot] in #3208
- build(deps): bump the npm_and_yarn group across 1 directory with 2 updates by @dependabot[bot] in #3217
- build(deps): bump github/codeql-action from 4.37.4 to 4.37.9 by @dependabot[bot] in #3192
- feat: add Agent Plugins 1.0 package by @777genius in #3169
- fix(sanitize): preserve Markdown body fidelity on read surfaces by @SamMorrowDrums in #3177
- build(deps): bump actions/stale from 10 to 11 by @dependabot[bot] in #3003
- Fix main CI sanitizer integration by @SamMorrowDrums in #3219
New Contributors
- @cagesellchen made their first contribution in #3123
- @paulcakeface made their first contribution in #3140
- @CAOShurong made their first contribution in #3146
- @jcosta1970 made their first contribution in #3182
- @ppoffice made their first contribution in #3187
- @yiheng-kkk made their first contribution in #3193
- @karpovantonme made their first contribution in #3142
- @777genius made their first contribution in #3169
Full Changelog: v1.11.0...v1.12.0
GitHub MCP Server 1.11.0
Immutable
release. Only release title and notes can be modified.
Highlights
- Smarter OAuth challenges: per-call scope checks request only the permissions each tool invocation needs with runtime checks where required.
- Improved browser OAuth support: CORS now works across OAuth discovery routes, with configurable authorization-server URLs.
- Improved sub-issue workflow: create parent and sub-issues atomically.
- Better HTTP caching for STDIO: REST responses support ETag conditional requests.
- Runtime refresh: upgraded to Go 1.27authorizationauthorization plus routine security and dependency updates.
What's Changed
- feat(http): add --authorization-server flag to override OAuth AS URL by @Anika-Sol in #2900
- Name the root command after the installed binary by @plusky in #2998
- fix(http): preserve CORS across OAuth routes by @SamMorrowDrums in #3147
- Add atomic parent issue creation by @zwick in #3134
- Add ETag conditional requests to the REST transport by @joshfree in #3026
- build(deps): bump github/codeql-action from 4 to 4.37.4 by @dependabot[bot] in #3004
- Add per-call OAuth scope checks by @SamMorrowDrums in #3128
- build(deps): bump docker/setup-buildx-action from 4.2.0 to 4.3.0 by @dependabot[bot] in #3157
- build(deps): bump github.com/go-chi/chi/v5 from 5.3.1 to 5.3.2 by @dependabot[bot] in #3156
- build(deps): bump distroless/base-debian12 from
76b3162tofabbf1cby @dependabot[bot] in #3154 - build(deps): bump golang from 1.25.13-alpine to 1.27.0-alpine by @dependabot[bot] in #3153
- build(deps): bump github.com/stretchr/testify from 1.12.0 to 1.12.1 by @dependabot[bot] in #3155
New Contributors
- @Anika-Sol made their first contribution in #2900
- @plusky made their first contribution in #2998
- @joshfree made their first contribution in #3026
Full Changelog: v1.10.1...v1.11.0
GitHub MCP Server 1.10.1
Immutable
release. Only release title and notes can be modified.
What's Changed
- Fix add_issue_comment schema compatibility regression by @SamMorrowDrums in #3127
Full Changelog: v1.10.0...v1.10.1
GitHub MCP Server 1.10.0
Immutable
release. Only release title and notes can be modified.
Highlights
v1.10.0 is a substantial security, reliability, and compatibility release for the GitHub MCP Server.
Safer by default
- Added confirmed repository deletion with form elicitation and protected multi-round-trip state (#3076).
- Restricted bearer credentials to configured GitHub authorities (#3056).
- Enforced HTTPS for GitHub Enterprise hosts (#3069).
- Made invalid static
--toolsconfiguration fail closed (#3050). - Hardened lockdown, request limits, cache isolation, URL traversal, and response sanitization (#3109, #3112, #3113, #3111, #3108, #3114, #3110).
Better GitHub Enterprise Server compatibility
list_issuesandsearch_issuesnow degrade safely when issue custom-field GraphQL types are unavailable (#3086, #2897).list_issuesnow returns assignee logins and stable empty arrays for unassigned issues (#3064).- Validation failures expose safe ruleset details when supplied by the GitHub API (#3081).
Safer repository file operations
get_file_contentsnow identifies symbolic links and clearly labels dereferenced content.- Symbolic-link writes require explicit
allow_symlink_write: trueopt-in (#3071). - Fixed binary MCP resources being base64-encoded twice (#3098).
More reliable tool contracts
- Corrected
add_issue_commentinput modes (#3085). issue_write.issue_fields[].delete: falseis now a valid no-op for strict-schema clients (#3077).- Zero-parameter tools accept an omitted
argumentsproperty while rejecting explicitnulland malformed JSON (#3099). - Notification subscription tools explicitly advertise destructive behavior (#2936).
- Copilot review-request denials now return actionable guidance instead of a bare 404 (#3119).
Projects, Actions, and efficiency
- Added Project view lifecycle operations and visible-field configuration (#2961, #2988).
- Reduced Actions and other successful response payloads (#3047, #3055).
- Improved sanitization performance and refreshed UI/build dependencies (#3120, #3100).
Behavior changes to note
- Unknown static
--toolsnames now prevent startup. - Symbolic-link updates require explicit opt-in.
- Requests cannot relax server-enforced lockdown.
- Oversized HTTP request bodies are rejected early.
add_issue_commentperforms stricter mutually exclusive mode validation.- Repository deletion requires an eligible modern MCP client, form elicitation support, and the appropriate scopes.
What's Changed
- Reduce Actions workflow list response payloads by @tommaso-moro in #3047
- Use minimal response types for tool results by @tommaso-moro in #3055
- Add basic project view management by @zwick in #2961
- Add visible fields to project views by @zwick in #2988
- fix(actions): avoid malformed response on log download failure by @SamMorrowDrums in #3066
- fix(security): enforce HTTPS for gh-host/GITHUB_HOST to prevent cleartext credentials by @SamMorrowDrums in #3069
- Reject unsupported subscription streams by @SamMorrowDrums in #3073
- build(deps): bump distroless/base-debian12 from
348dac1to76b3162by @dependabot[bot] in #3088 - build(deps): bump golang from 1.25.12-alpine to 1.25.13-alpine by @dependabot[bot] in #3087
- build(deps): bump github.com/stretchr/testify from 1.11.1 to 1.12.0 by @dependabot[bot] in #3089
- build(deps): bump the npm_and_yarn group across 1 directory with 2 updates by @dependabot[bot] in #3007
- build(deps): bump docker/login-action from 4.4.0 to 4.6.0 by @dependabot[bot] in #3005
- Add confirmed repository deletion tool by @SamMorrowDrums in #3076
- fix(issues): validate add_issue_comment input modes by @SamMorrowDrums in #3085
- Fix static --tools validation fallback by @Mahmoud772122777 in #3050
- Attach GitHub token only to configured GitHub hosts by @SyedAnas01 in #3056
- Show ruleset violation details when create_branch fails by @Hashim1999164 in #3081
- fix(notifications): mark subscription tools destructive by @SamMorrowDrums in #2936
- Fix binary resource blob encoding by @SamMorrowDrums in #3098
- Return assignees from list_issues by @tgockel in #3064
- Fix list_issues on GHES schemas without issue fields by @SamMorrowDrums in #3086
- Fix omitted tool arguments by @SamMorrowDrums in #3099
- Clarify symlink behavior for repository file reads and writes by @theinfosecguy in #3071
- fix(issues): allow delete:false in issue_write issue_fields by @tgockel in #3077
- Handle unsupported issueFieldValues enrichment in search_issues by @kerobbi in #2897
- build(deps): clear UI dependency alerts by @SamMorrowDrums in #3100
- fix(lockdown): harden pull_request_read get_commits handling by @SamMorrowDrums in #3109
- fix(http): make server lockdown mode an upper bound over requests by @SamMorrowDrums in #3112
- Centralize sanitization of untrusted GitHub response fields by @SamMorrowDrums in #3114
- Filter invisible Unicode after HTML entity normalization by @SamMorrowDrums in #3110
- fix(raw): reject traversal segments when constructing raw content URLs by @SamMorrowDrums in #3108
- refactor: condense lockdown comments in GetPullRequestCommits by @SamMorrowDrums in #3115
- Limit HTTP request bodies before MCP middleware parsing by @SamMorrowDrums in #3111
- fix(lockdown): isolate repo-access cache per caller identity by @SamMorrowDrums in #3113
- perf(sanitize): make clean text allocation-free on the hot path by @SamMorrowDrums in #3120
- test(sanitize): drop the optimization scaffolding by @SamMorrowDrums in #3121
- fix(copilot): explain review request denials instead of forwarding a bare 404 by @dylanpulver in #3119
- build(deps): bump the npm_and_yarn group across 1 directory with 4 updates by @dependabot[bot] in #3091
New Contributors
- @Mahmoud772122777 made their first contribution in #3050
- @SyedAnas01 made their first contribution in #3056
- @Hashim1999164 made their first contribution in #3081
- @tgockel made their first contribution in #3064
- @theinfosecguy made their first contribution in #3071
- @dylanpulver made their first contribution in #3119
Full Changelog: v1.9.0...v1.10.0
GitHub MCP Server 1.9.0
Immutable
release. Only release title and notes can be modified.
Changelog
What's Changed
- Clarify that create_or_update_file content is plain text, not base64 by @ericsciple in #2983
- Return closing pull requests from issue_read by @zwick in #3006
- Make search_issues semantic by default by @kelsey-myers in #2964
- Support removing issue types by @zwick in #2999
- Add non-default find_duplicate tool gated by duplicate_detection flag by @michaeljacholke in #3020
- Support singular Project Issue Field updates by @zwick in #2941
- Order list_label results by issue count (descending) by @iulia-b in #2974
New Contributors
- @ericsciple made their first contribution in #2983
- @michaeljacholke made their first contribution in #3020
Full Changelog: v1.8.0...v1.9.0
GitHub MCP Server 1.8.0
Immutable
release. Only release title and notes can be modified.
Highlights
- Tool response filtering: We added a new
fieldsparameter to selected tools which allows models to specify which fields they need when they call those tools, thus shrinking tool response size and optimizing context usage.
What's Changed
- Bump go-github to pick up SearchType support by @kelsey-myers in #2972
- Make fields parameter available by default by @tommaso-moro in #2952
- Add batched update_project_items writes via GraphQL by @veralizeth in #2903
- Upgrade go-sdk to v1.7.0 by @SamMorrowDrums in #2968
Full Changelog: v1.7.0...v1.8.0
GitHub MCP Server 1.7.0
Immutable
release. Only release title and notes can be modified.
Highlights
- Server to Server auth is now supported for GitHub apps via stdio so enterprise/cloud workloads can be supported
- Projects tools improved pagination
- The latest changes for the MCP 2026-07-28 spec are included via
go-sdk to 1.7.0-pre.3 - Lockdown mode improvements
What's Changed
- build(deps): bump go-sdk to 1.7.0-pre.2 and migrate OAuth to multi-round-trip elicitation by @SamMorrowDrums in #2870
- build(deps): bump github.com/go-chi/chi/v5 from 5.3.0 to 5.3.1 by @dependabot[bot] in #2824
- build(deps): bump docker/metadata-action from 6.1.0 to 6.2.0 by @dependabot[bot] in #2825
- build(deps): bump docker/setup-buildx-action from 4.1.0 to 4.2.0 by @dependabot[bot] in #2826
- build(deps): bump docker/login-action from 4.2.0 to 4.4.0 by @dependabot[bot] in #2827
- build(deps): bump golang from 1.25.11-alpine to 1.25.12-alpine by @dependabot[bot] in #2867
- build(deps): bump distroless/base-debian12 from
e7e678cto9c05cfdby @dependabot[bot] in #2868 - Centralise lockdown author checks by @kerobbi in #2881
- build(deps): bump actions/cache from 5 to 6 by @dependabot[bot] in #2794
- build(deps): bump node from
a2dc166toe88a35bby @dependabot[bot] in #2792 - perf(octicons): embed precomputed data URIs by @SamMorrowDrums in #2895
- fix(labels): add DestructiveHint to label_write tool by @syf2211 in #2763
- build(deps): bump go-sdk to 1.7.0-pre.3 by @SamMorrowDrums in #2907
- build(deps): bump distroless/base-debian12 from
9c05cfdto348dac1by @dependabot[bot] in #2915 - Paginate project item lookup across memberships by @zwick in #2914
- Add opt-in intent-aware Copilot issue assignment tool by @boazreicher in #2909
- Add node IDs to project resolver results by @zwick in #2922
- Extract aliased project mutation primitive by @zwick in #2923
- build: use patched Go toolchain and UI dependency by @loganrosen in #2927
- feat(auth): add GitHub App server-to-server authentication for stdio by @SamMorrowDrums in #2797
- build(deps): bump actions/setup-go from 6 to 7 by @dependabot[bot] in #2916
- build(deps): bump actions/setup-node from 6 to 7 by @dependabot[bot] in #2917
- build(deps): bump golang.org/x/oauth2 from 0.35.0 to 0.36.0 by @dependabot[bot] in #2793
- Add MCP App form deferral opt-out by @connor4312 in #2921
- build(deps): bump the npm_and_yarn group across 1 directory with 2 updates by @dependabot[bot] in #2932
New Contributors
- @loganrosen made their first contribution in #2927
Full Changelog: v1.6.0...v1.7.0
GitHub MCP Server 1.6.0
Immutable
release. Only release title and notes can be modified.
Highlights βοΈ
- Tool response filtering: We added a new
fieldsparameter to selected tools in Insiders mode, allowing models to specify which fields they need when they call those tools, thus shrinking tool response size and optimizing context usage. Try it out and let us know if you have any feedback!
What's Changed
- chore(deps): upgrade go-sdk to v1.7.0-pre.1 (new MCP spec) by @SamMorrowDrums in #2787
- build(deps): bump SamMorrowDrums/mcp-server-diff from 3521651bb0d3cc267a23df8d94a2a645556980a4 to 40d992e0a220e5b63378758f9a40d6a8982898d2 by @dependabot[bot] in #2795
- build(deps): bump golang.org/x/net from 0.38.0 to 0.55.0 in the go_modules group across 1 directory by @dependabot[bot] in #2806
- build(deps): bump goreleaser/goreleaser-action from 7.2.2 to 7.2.3 by @dependabot[bot] in #2796
- Add is_suggestion + rationale to update_issue_assignees by @kelsey-myers in #2821
- Add rationale and confidence to closing an issue by @iulia-b in #2802
- Sanitize and lockdown-gate issue_read get_parent title by @zwick in #2780
- Enrich issue_read get with hierarchy relationship signals by @zwick in #2764
- build(deps): bump docker/build-push-action from 7.2.0 to 7.3.0 by @dependabot[bot] in #2828
- chore(deps): bump go-github v87 β v89 and resolve breaking changes by @tommaso-moro in #2840
- Reimplement issue dependencies on go-github v89 REST API by @tommaso-moro in #2839
- Add README links for community resources by @insonmia0126-lovable in #2848
- Add fields param to search_code and get_file_contents by @tommaso-moro in #2775
- Add fields param to six more list/search tools by @tommaso-moro in #2810
- MCP: name-based resolution for Projects fields by @veralizeth in #2760
- Enable fields param in Insiders mode by @tommaso-moro in #2890
New Contributors
- @insonmia0126-lovable made their first contribution in #2848
- @veralizeth made their first contribution in #2760
Full Changelog: v1.5.0...v1.6.0
GitHub MCP Server 1.5.0
Immutable
release. Only release title and notes can be modified.
Highlights β
- STDIO server now has baked in Oauth so you don't need a PAT token! Feedback discussion here
- React to issue and pull request comments! ποΈ
- Get parent issues via the issue_read tool
- MCP App for Issues now shows labels, miletones and more!
What's Changed
- Promote issue fields and deprecate legacy issue write tool by @reneexeener in #2696
- build(deps): bump actions/checkout from 6 to 7 by @dependabot[bot] in #2754
- build(deps): bump golang from
8d95af5to523c3efby @dependabot[bot] in #2753 - build(deps): bump node from
3ad34catoa2dc166by @dependabot[bot] in #2752 - build(deps): bump hono from 4.12.23 to 4.12.26 in /ui in the npm_and_yarn group across 1 directory by @dependabot[bot] in #2735
- Add get_parent method to issue_read by @zwick in #2726
- Show issue_write MCP App form for labels/assignees/milestone/type by @mattdholloway in #2767
- fix(ui_get): bound pagination to cap latency by @mattdholloway in #2766
- feat(oauth): add stdio OAuth 2.1 login core library (1/4) by @SamMorrowDrums in #2704
- docs: lead local/stdio install with OAuth login by @SamMorrowDrums in #2776
- fix(pull_requests): validate required params in add_comment_to_pending_review by @syf2211 in #2770
- fix(mcp-apps): reconcile the show/defer contract β render results, remove show_ui by @SamMorrowDrums in #2774
- Add issue dependency read/write MCP tools by @zwick in #2751
- Fix delete:true on issue fields by calling deleteIssueFieldValue mutation by @owenniblock in #2755
- Add reaction tools for issues and pull requests by @timrogers in #2732
New Contributors
- @zwick made their first contribution in #2726
- @syf2211 made their first contribution in #2770
- @owenniblock made their first contribution in #2755
Full Changelog: v1.4.0...v1.5.0