-
Notifications
You must be signed in to change notification settings - Fork 0
Comparing changes
Open a pull request
base repository: codebmn17/github-mcp-server
base: eb088df
head repository: github/github-mcp-server
compare: 0ea1f77
- 20 commits
- 83 files changed
- 12 contributors
Commits on Jul 29, 2026
-
Bump go-github to pick up SearchType support (github#2972)
* Bump go-github for search_type support * chore: regenerate license files Auto-generated by license-check workflow --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 1348c47 - Browse repository at this point
Copy the full SHA 1348c47View commit details -
Make fields parameter available by default (github#2952)
* Promote fields parameter beyond Insiders Keep fields_param as an independently controlled feature flag while removing it from the Insiders expansion. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Make fields parameter available by default Remove the fields_param feature flag and legacy tool variants so selected read tools always advertise and honor fields. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 5c43cc70-27b5-47b4-bbd1-99d20f42d61b --------- Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 5c43cc70-27b5-47b4-bbd1-99d20f42d61b
Configuration menu - View commit details
-
Copy full SHA for 456fae9 - Browse repository at this point
Copy the full SHA 456fae9View commit details -
Add batched update_project_items writes via GraphQL (github#2903)
* Implement batch project write engine Resolve and validate shared field updates and item references before executing ordered, chunked GraphQL writes with explicit ambiguous outcomes. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 7ae767ff-c1d0-46a9-b126-2e91403993a0 * Expose update_project_items Add the public projects_write contract, routing, handler coverage, and generated documentation for shared field updates across batches of up to 50 items. Co-authored-by: Lizeth Vera <47796851+veralizeth@users.noreply.github.com> Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 7ae767ff-c1d0-46a9-b126-2e91403993a0 * Classify batch resolution failures Use a neutral code for non-structured lookup failures while preserving structured resolution details. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 7ae767ff-c1d0-46a9-b126-2e91403993a0 * Resolve issue references concurrently Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 7ae767ff-c1d0-46a9-b126-2e91403993a0 Copilot-Session: 5709a470-df75-43ec-9a9c-98868e6065d2 --------- Co-authored-by: Bryan Zwicker <zwick@github.com> Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 7ae767ff-c1d0-46a9-b126-2e91403993a0 Copilot-Session: 5709a470-df75-43ec-9a9c-98868e6065d2
Configuration menu - View commit details
-
Copy full SHA for d080b23 - Browse repository at this point
Copy the full SHA d080b23View commit details
Commits on Jul 30, 2026
-
build(deps): bump modelcontextprotocol/go-sdk to v1.7.0
Move from the v1.7.0-pre.3 pre-release to the final v1.7.0 release, which consolidates the pre-releases with no further changes. Regenerate the third-party license files to reflect the new version tag. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 95b8432c-f280-472e-a242-d3ca6dc31f19
Configuration menu - View commit details
-
Copy full SHA for 96a3d78 - Browse repository at this point
Copy the full SHA 96a3d78View commit details -
fix: don't advertise unsupported list-changed capabilities
The server exposes a static set of tools, prompts, and resources and never mutates them at runtime, so it never emits list_changed notifications. When capabilities are left unset, the go-sdk infers listChanged:true from the presence of items and advertises tools/prompts/resources list-change support we don't actually provide - and the 2026-07-28 spec (subscriptions/listen) tightens expectations around this. Declare empty tools/prompts/resources capabilities in NewMCPServer so both the stdio and remote servers advertise honestly. The remote HTTP handler already set these explicitly; that duplication is now removed in favour of the shared default, leaving only the remote-specific schema cache. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 95b8432c-f280-472e-a242-d3ca6dc31f19
Configuration menu - View commit details
-
Copy full SHA for ea8099d - Browse repository at this point
Copy the full SHA ea8099dView commit details -
test: assert advertised capabilities omit list-changed
Add a regression test locking in the capability contract set by NewMCPServer: tools, prompts, and resources are advertised without list-changed notifications, the deprecated logging capability is not advertised, and the inferred completions capability is preserved. Covers both the stdio path (full inventory, items present) and the HTTP path (inventory emptied for the discovery request), which share the same NewMCPServer entry point. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 95b8432c-f280-472e-a242-d3ca6dc31f19
Configuration menu - View commit details
-
Copy full SHA for ca8ab52 - Browse repository at this point
Copy the full SHA ca8ab52View commit details
Commits on Jul 31, 2026
-
Clarify that create_or_update_file content is plain text (github#2983)
The content parameter is passed to the API as plain text and the server base64-encodes it, but the description said only "Content of the file". The REST endpoint this wraps documents its own content field as base64, so a model reading the tool description has a strong reason to encode the content itself. When it does, the server encodes again and the file is committed containing base64 text. Every layer reports success. Describe the value by how it should end up on disk rather than by what not to do, so a file whose contents are legitimately base64 is still unambiguous, and name the encoding step so the conflict with the REST API docs is resolved rather than merely overridden.
Configuration menu - View commit details
-
Copy full SHA for 3778a41 - Browse repository at this point
Copy the full SHA 3778a41View commit details
Commits on Aug 6, 2026
-
Return closing pull requests from issue_read (github#3006)
* Return closing pull requests from issue_read Answering "is there a PR that closes this issue?" previously required listing pull requests and grepping their bodies for closing keywords, which is expensive and unreliable. GraphQL already exposes Issue.closedByPullRequestsReferences. Add it to the existing issue_read `get` enrichment query so the answer comes back in the same round-trip as the hierarchy signals, as a compact `closed_by_pull_requests` list. An enriched issue with no closing pull requests serializes an explicit empty list so an agent can stop looking. Lockdown mode filters references whose author cannot be verified as safe content, mirroring the existing parent reference handling. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: a0b58914-0d94-47a9-8229-c0ef7e32e69f * Cap embedded closing pull requests and report the total This enrichment runs on every issue_read get, so embedding up to 25 references costs more than the common case is worth. Embed at most 5, keeping orderByState so open pull requests are the ones that survive. Select totalCount alongside the nodes and return the summary as an object of total_count plus references, so the rare issue with more than five linked pull requests cannot be read as a complete list. The common zero-to-two case stays compact and an empty result stays definitive. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: a0b58914-0d94-47a9-8229-c0ef7e32e69f --------- Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: a0b58914-0d94-47a9-8229-c0ef7e32e69f
Configuration menu - View commit details
-
Copy full SHA for e6e3a4e - Browse repository at this point
Copy the full SHA e6e3a4eView commit details -
Make search_issues semantic by default (github#2964)
* Make search_issues semantic by default * initialize description depending on the host --------- Co-authored-by: Iulia B <iulia-b@github.com> Co-authored-by: Iulia Bejan <64602043+iulia-b@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for f3cb662 - Browse repository at this point
Copy the full SHA f3cb662View commit details
Commits on Aug 7, 2026
-
Support removing issue types (github#2999)
* Render union types in generated docs Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: ea8faa5c-7f26-4e2d-bf9c-6f0b5f173e8c * Support clearing issue types with issue_write Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: ea8faa5c-7f26-4e2d-bf9c-6f0b5f173e8c * Support clearing issue types with granular tool Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: ea8faa5c-7f26-4e2d-bf9c-6f0b5f173e8c * Validate duplicate closures before updates Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: ea8faa5c-7f26-4e2d-bf9c-6f0b5f173e8c --------- Copilot-Session: ea8faa5c-7f26-4e2d-bf9c-6f0b5f173e8c
Configuration menu - View commit details
-
Copy full SHA for e7f7bb8 - Browse repository at this point
Copy the full SHA e7f7bb8View commit details -
Add non-default find_duplicate tool gated by duplicate_detection flag (…
…github#3020) * Add non-default find_duplicate tool gated by duplicate_detection flag * Trim find_duplicate output to spec fields and relax confidence_threshold bounds * Attach repo-visibility IFC label to find_duplicate results
Configuration menu - View commit details
-
Copy full SHA for 1b3f89a - Browse repository at this point
Copy the full SHA 1b3f89aView commit details -
Support singular Project Issue Field updates (github#2941)
* Implement batch project write engine Resolve and validate shared field updates and item references before executing ordered, chunked GraphQL writes with explicit ambiguous outcomes. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 7ae767ff-c1d0-46a9-b126-2e91403993a0 * Expose update_project_items Add the public projects_write contract, routing, handler coverage, and generated documentation for shared field updates across batches of up to 50 items. Co-authored-by: Lizeth Vera <47796851+veralizeth@users.noreply.github.com> Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 7ae767ff-c1d0-46a9-b126-2e91403993a0 * Classify batch resolution failures Use a neutral code for non-structured lookup failures while preserving structured resolution details. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 7ae767ff-c1d0-46a9-b126-2e91403993a0 * Resolve issue references concurrently Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 7ae767ff-c1d0-46a9-b126-2e91403993a0 Copilot-Session: 5709a470-df75-43ec-9a9c-98868e6065d2 * Add singular Issue Field project updates Support name-based attached Issue Field updates for singular Project items while preserving existing read and standard field behavior. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4c94f3ce-c04a-482f-830b-ab85abc3f6e4 * Preserve iteration project field updates Bypass Issue Field metadata resolution for standard field data types and recognize exact missing fragment-type schema errors. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4c94f3ce-c04a-482f-830b-ab85abc3f6e4 * Adding GraphQL-Features: update_issue_suggestions --------- Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Co-authored-by: Lizeth Vera <47796851+veralizeth@users.noreply.github.com> Copilot-Session: 7ae767ff-c1d0-46a9-b126-2e91403993a0 Copilot-Session: 5709a470-df75-43ec-9a9c-98868e6065d2 Copilot-Session: 4c94f3ce-c04a-482f-830b-ab85abc3f6e4
Configuration menu - View commit details
-
Copy full SHA for eb4c099 - Browse repository at this point
Copy the full SHA eb4c099View commit details
Commits on Aug 10, 2026
-
Order list_label results by issue count (descending) (github#2974)
* Order list_label results by issue count (descending) Sends orderBy: {field: ISSUE_COUNT, direction: DESC} on the GraphQL labels query so the most-used labels (by issue count) are returned first. ISSUE_COUNT is accepted by the GitHub GraphQL API but is not part of the public schema docs or the githubv4 client library's LabelOrderField constants, so it is defined locally. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * regen docs --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>Configuration menu - View commit details
-
Copy full SHA for cdfa34e - Browse repository at this point
Copy the full SHA cdfa34eView commit details -
Minimize Actions workflow list responses (github#3047)
Return compact response types for workflow run and workflow job lists while retaining diagnostic, step, and runner metadata. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 0eecbca7-7271-4a04-8d28-d952c27ed9c1
Configuration menu - View commit details
-
Copy full SHA for eff4c3c - Browse repository at this point
Copy the full SHA eff4c3cView commit details
Commits on Aug 12, 2026
-
Use minimal types for tool responses (github#3055)
Return compact response shapes for pull request statuses, review comment replies, and individual workflow runs. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: d6786153-698a-4563-97ad-a8221c40e306
Configuration menu - View commit details
-
Copy full SHA for ff15f68 - Browse repository at this point
Copy the full SHA ff15f68View commit details -
Add basic project view management (github#2961)
* Add basic project view management Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: c6f8ede6-efee-4191-900d-59a1bb0af000 * Harden project view mutations Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: c6f8ede6-efee-4191-900d-59a1bb0af000 * Resolve project view fields by name Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: c6f8ede6-efee-4191-900d-59a1bb0af000 * Clear project view filters with explicit null Align the filter parameter with the nullable-parameter convention: omit to preserve, pass null to clear. Empty strings are now rejected rather than treated as a clear sentinel. The GraphQL and REST wire format is unchanged, since the API still clears a filter with an empty string. Also replace the "<nil>" string comparison in deleteProjectView with a direct nil check on the returned ID. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Use caller-specific project field hints Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: c6f8ede6-efee-4191-900d-59a1bb0af000 --------- Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: c6f8ede6-efee-4191-900d-59a1bb0af000
Configuration menu - View commit details
-
Copy full SHA for d6cab97 - Browse repository at this point
Copy the full SHA d6cab97View commit details -
Add visible fields to project views (github#2988)
* Add visible fields to project views Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 1421a5d5-fdce-4c0e-9528-56d555ec30d4 * Fail fast and surface orphaned views on project view writes Reject roadmap layouts before enumerating project fields in both the create and update paths, and verify view ownership before resolving visible fields on update, so rejected requests no longer pay for a paginated field listing. Skip the follow-up filter mutation when the filter is explicitly null, since a new view has no filter to clear, and include the created view ID when cleanup after a failed filter mutation also fails so the caller can recover the orphaned view. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 1421a5d5-fdce-4c0e-9528-56d555ec30d4
Configuration menu - View commit details
-
Copy full SHA for 2198e85 - Browse repository at this point
Copy the full SHA 2198e85View commit details
Commits on Aug 14, 2026
-
fix(actions): avoid malformed response on log download failure
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 9cdeefb9-91cd-4f65-8eb2-089c9e00a2b8
Configuration menu - View commit details
-
Copy full SHA for accc2e0 - Browse repository at this point
Copy the full SHA accc2e0View commit details -
fix(security): enforce HTTPS for gh-host/GITHUB_HOST to prevent clear…
…text credentials GHES hosts accepted an http:// scheme, which was interpolated into every REST/GraphQL/upload/raw/authorization URL. Authenticated requests would then carry the bearer token/PAT over cleartext http, exposing it to network interception and replay. Add a central HTTPS check in parseAPIHost so no deployment can build authenticated URLs over http, mirroring the existing GHEC behaviour. Permit http only for loopback hosts (localhost, 127.0.0.1, ::1) so local development against a dev server still works. Closes github/copilot-mcp-core#1815 Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 0c825b4 - Browse repository at this point
Copy the full SHA 0c825b4View commit details -
fix: preserve authority for loopback GHES hosts
Address review: the loopback exception accepted http://localhost:3000 and http://[::1], but newGHESHost built URLs from u.Hostname(), which drops the port (silently retargeting the dev server to port 80) and strips IPv6 brackets (producing an unusable URL such as http://::1/api/v3/). Derive the base-host REST/GraphQL/upload/raw/authorization URLs from u.Host so the port and IPv6 brackets are preserved. Subdomain-isolation URLs keep using the bare hostname, since a label cannot be prepended to a host:port or an IP literal. Add tests for the ::1 case and for port preservation. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 0ea1f77 - Browse repository at this point
Copy the full SHA 0ea1f77View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff eb088df...0ea1f77