Commit Graph

397 Commits

Author SHA1 Message Date
copilot-swe-agent[bot] 7cb947dd00 Fix nil metrics in server.go by passing metrics.NewNoopMetrics() to NewExporters
CodeQL / Analyze (go) (push) Has been cancelled
CodeQL / Analyze (actions) (push) Has been cancelled
CodeQL / Analyze (javascript) (push) Has been cancelled
Build and Test Go Project / build (macos-latest) (push) Has been cancelled
Build and Test Go Project / build (ubuntu-latest) (push) Has been cancelled
Build and Test Go Project / build (windows-latest) (push) Has been cancelled
Agent-Logs-Url: https://github.com/github/github-mcp-server/sessions/53221b0b-abb4-4138-a147-3ce9e13b379a

Co-authored-by: mattdholloway <918573+mattdholloway@users.noreply.github.com>
2026-03-26 15:27:27 +00:00
copilot-swe-agent[bot] e41a909587 Fix BaseDeps.Logger and BaseDeps.Metrics to return safe defaults when Obsv is nil
Agent-Logs-Url: https://github.com/github/github-mcp-server/sessions/53221b0b-abb4-4138-a147-3ce9e13b379a

Co-authored-by: mattdholloway <918573+mattdholloway@users.noreply.github.com>
2026-03-26 15:24:25 +00:00
Matt Holloway e31ea3b34a rename noop adapter to noop sink 2026-03-26 14:21:19 +00:00
Matt Holloway f94b729a48 Merge branch 'main' into add-logging-stack-v2 2026-03-26 14:00:16 +00:00
Matt Holloway 457f64d118 address feedback 2026-03-26 13:55:58 +00:00
Lucas Bustamante 24ede6975c feat: add path, since, and until filters to list_commits
Add three optional parameters to the list_commits tool that map to
existing GitHub API query parameters:

- path: filter commits to those touching a specific file or directory
- since: only commits after this date (ISO 8601)
- until: only commits before this date (ISO 8601)

These parameters are already supported by the go-github library's
CommitsListOptions struct but were not exposed by the MCP tool.

The path filter is particularly useful for monorepo workflows where
commit history needs to be scoped to a specific project subdirectory.

Time parsing uses the existing parseISOTimestamp helper (shared with
list_issues and list_gists) which accepts both YYYY-MM-DDTHH:MM:SSZ
and YYYY-MM-DD formats.

Closes #197
2026-03-24 21:34:31 +01:00
Matt Holloway c0a68f5563 change to use slog 2026-03-18 15:51:29 +00:00
Matt Holloway 30b295205d Merge branch 'main' into add-logging-stack-v2 2026-03-17 15:46:08 +00:00
Sam Morrow 61a34c1454 docs: document SERVER_NAME and SERVER_TITLE overrides
Add documentation for the server name and title customization feature
to the README i18n section and server-configuration.md quick reference.
This helps users running multiple GitHub MCP Server instances discover
how to configure unique identities via environment variables or the
config JSON file.

Co-authored-by: Anika Reiter <1503135+Anika-Sol@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-16 15:03:13 +01:00
copilot-swe-agent[bot] 74507a00ab Use translation strings for server name/title override
Instead of new CLI flags (--server-name, --server-title), reuse the
existing string override mechanism that already supports tool title/
description overrides throughout the codebase.

Users can now configure the server name and title via:
  - GITHUB_MCP_SERVER_NAME / GITHUB_MCP_SERVER_TITLE env vars
  - "SERVER_NAME" / "SERVER_TITLE" keys in github-mcp-server-config.json

This is consistent with how all other user-visible strings are
overridden (e.g. GITHUB_MCP_TOOL_GET_ME_USER_TITLE). No new struct
fields or CLI flags are needed.

Co-authored-by: SamMorrowDrums <4811358+SamMorrowDrums@users.noreply.github.com>
2026-03-16 15:03:13 +01:00
copilot-swe-agent[bot] 0fda6f1509 Add configurable server name and title via env/flag
Allows users running multiple GitHub MCP Server instances (e.g., for
github.com and GitHub Enterprise Server) to override the server name and
title in the MCP initialization response.

- Add --server-name / GITHUB_SERVER_NAME flag+env to override name
- Add --server-title / GITHUB_SERVER_TITLE flag+env to override title
- Defaults remain "github-mcp-server" and "GitHub MCP Server"
- Applies to both stdio and HTTP server modes
- Add tests for default and custom name/title

Co-authored-by: SamMorrowDrums <4811358+SamMorrowDrums@users.noreply.github.com>
2026-03-16 15:03:13 +01:00
Patrick Walters f93e5260a2 feat: add resolve/unresolve review thread methods
Adds `resolve_thread` and `unresolve_thread` methods to the
`pull_request_review_write` tool, enabling users to resolve and
unresolve PR review threads via GraphQL mutations.

- Add ThreadID field to PullRequestReviewWriteParams struct
- Add threadId parameter and new methods to tool schema
- Implement ResolveReviewThread function using GraphQL mutations
- Add switch cases for resolve_thread and unresolve_thread methods
- Add unit tests covering success, error, empty and omitted threadId
- Document that owner/repo/pullNumber are unused for these methods
- Document idempotency (resolving already-resolved is a no-op)
- Update toolsnaps and generated docs

Fixes #1768

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 17:30:46 +01:00
copilot-swe-agent[bot] f09dd5e774 Use key presence check instead of OptionalParam in UI gate
Build and Test Go Project / build (macos-latest) (push) Has been cancelled
CodeQL / Analyze (go) (push) Has been cancelled
CodeQL / Analyze (actions) (push) Has been cancelled
CodeQL / Analyze (javascript) (push) Has been cancelled
Docker / build (push) Has been cancelled
Build and Test Go Project / build (ubuntu-latest) (push) Has been cancelled
Build and Test Go Project / build (windows-latest) (push) Has been cancelled
GoReleaser Release / release (push) Has been cancelled
MCP Server Diff / mcp-diff (push) Has been cancelled
Publish to MCP Registry / publish (push) Has been cancelled
Check for the "state" key directly in the args map rather than using
OptionalParam and ignoring its error. This ensures that a wrongly-typed
state value bypasses the UI form (falling through to the normal
validation path) instead of silently showing the form.

Co-authored-by: mattdholloway <918573+mattdholloway@users.noreply.github.com>
2026-03-06 15:08:53 +01:00
copilot-swe-agent[bot] 50a04616ea Skip MCP Apps UI form when update includes a state change
When using issue_write with method "update" and a state parameter (e.g.
"closed"), the MCP Apps UI form was incorrectly shown. The form only
handles title/body editing and would lose the state transition. Now when
a state change is requested, the UI form is skipped and the update
executes directly.

Fixes github/github-mcp-server#798

Co-authored-by: mattdholloway <918573+mattdholloway@users.noreply.github.com>
2026-03-06 15:08:53 +01:00
Ksenia Bobrova f58208394a Correctly wrap GraphQl error (#2149) 2026-03-05 15:30:54 +01:00
Jakub Janusz c79439e0e3 fix: handle empty files in get_file_contents (#2042)
1. Empty (0-byte) files caused an unhandled error because the GitHub API
   returns null content with base64 encoding for them; GetContent() fails
   with "malformed response: base64 encoding of null content". Return
   empty text/plain content directly, bypassing decoding entirely.

Co-authored-by: Ksenia Bobrova <almaleksia@github.com>
2026-03-04 15:43:41 +01:00
Ksenia Bobrova ccb9b5308d Fix SHA validation in create_or_update_file (#2134)
* Fix SHA validation in create_or_update_file

* Doc update

* Handle non-404 errors

* Handle directory paths

* Update instructions
2026-03-04 14:34:49 +01:00
Ksenia Bobrova b50a343da5 Gracefully handle numeric parameters passed as strings (#2130)
* Gracefully handle numeric parameters passed as strings
2026-03-04 09:01:15 +01:00
Ksenia Bobrova 3fe6bc01d3 Stricter matching for github.com and ghe.com URLs 2026-03-03 14:13:53 +01:00
Matt Holloway f7d3a75425 Merge branch 'main' into add-logging-stack-v2 2026-02-27 10:02:45 +00:00
Matt Holloway 39445b06f9 fmt 2026-02-26 15:04:51 +00:00
Matt Holloway 121daa3ed2 Update pkg/github/dependencies.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-26 15:03:56 +00:00
Roberto Nacu bf6467855c Reduce context usage for list_issues (#2098)
* reduce context usage for list_issues

* address copilot feedback, align pagination tags to camelCase
2026-02-26 10:02:51 +00:00
Roberto Nacu b222072346 Reduce context usage for list_releases (#2091) 2026-02-25 18:15:22 +00:00
Matt Holloway 81f4c87a31 make ui submit message prior to click even more insistent (#2096) 2026-02-25 18:02:37 +00:00
Matt Holloway 584d0c9163 clarify user confirmation requirement in issue and pull request creation messages (#2094) 2026-02-25 16:57:15 +00:00
Roberto Nacu 391990ae80 Reduce context usage for list_tags (#2088) 2026-02-25 15:32:21 +00:00
Roberto Nacu c1ac64f1a2 Reduce context usage for list_pull_requests (#2087) 2026-02-25 15:25:52 +00:00
Matt Holloway 7c5ea0ac33 Remove unused SlogMetrics adapter
The slog-based metrics adapter was never used — OSS always uses
NoopMetrics and the remote server has its own DataDog-backed adapter.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-25 14:54:25 +00:00
Matt Holloway 1648775eb4 Merge branch 'main' into add-logging-stack-v2 2026-02-25 14:34:20 +00:00
kaitlin-duolingo 91b35e0f77 Get check runs (#1953)
* Add support for get_check_runs

* Run generate-docs

* Address AI code review comment

* make descriptions less ambiguous for model

* lint and docs

* fix lint

---------

Co-authored-by: tommaso-moro <tommaso-moro@github.com>
Co-authored-by: Tommaso Moro <37270480+tommaso-moro@users.noreply.github.com>
2026-02-25 13:42:24 +00:00
Sam Morrow a32a757d70 Fix panic when fetching resources fails due to network error (#1506)
* fix panic due to defer reading body of failed request

---------

Co-authored-by: Adam Holt <omgitsads@github.com>
2026-02-25 12:51:06 +01:00
Matt Holloway 2a20a2a564 Update pkg/github/server_test.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-25 11:35:07 +00:00
Matt Holloway dd57d84be3 Merge branch 'main' into add-logging-stack-v2 2026-02-25 11:34:40 +00:00
Matt Holloway 2b55513a9e Update MIME types for UI resources to include profile for MCP Apps (#2078)
* update MIME types for UI resources to include profile for MCP Apps

* make it a const
2026-02-24 16:38:13 +00:00
Matt Holloway a94f95b43f Enhance client support checks for MCP Apps UI rendering (#2051)
* enhance client support checks for MCP Apps UI rendering

* update dependencies and enhance MCP Apps UI support handling

* chore: regenerate license files

Auto-generated by license-check workflow

* retrigger CI

* update test

* introduce constants for client names and remove wrong ide name for mcp apps support

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-02-24 13:41:19 +00:00
Tommaso Moro c0ba3edcee use minimal types (#2066) 2026-02-24 13:07:45 +00:00
Tommaso Moro 3ffc06b71d reduce context for add_issue_comments using minimal types (#2063) 2026-02-24 11:20:19 +00:00
Atharva Patil 48a2a05651 Use configured --gh-host as oauth authorization server (#2046)
When configured with a `--gh-host` argument, construct the OAuth Authorization Server URL from this host, rather than defaulting to `https://github.com/login/oauth`

Co-authored-by: Adam Holt < 4619+omgitsads@users.noreply.github.com>
Co-authored-by: atharva1051 <53966412+atharva1051@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-02-24 10:52:19 +01:00
Tommaso Moro ee3ab7b23e reduce context usage for get_pull_request_review_comments (#2062) 2026-02-23 14:32:44 +00:00
Tommaso Moro 713848b0eb add minimal types for get_files (#2059) 2026-02-23 13:49:05 +00:00
Sam Morrow 16ff74a0eb feat: move copilot tools to default copilot toolset (#2039)
* feat: move copilot tools to default copilot toolset

Move AssignCopilotToIssue and RequestCopilotReview from the issues and
pull_requests toolsets respectively into a new default-enabled copilot
toolset. This groups all copilot-related tools together and makes them
available by default.

- Set Default: true on ToolsetMetadataCopilot
- Remove copilot from RemoteOnlyToolsets()
- Update AllTools() grouping and tests
- Regenerate docs

Refs: github/copilot-mcp-core#1180

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* refactor: move copilot tools to dedicated copilot.go

Extract AssignCopilotToIssue, RequestCopilotReview, AssignCodingAgentPrompt,
and all supporting types/helpers from issues.go and pullrequests.go into
copilot.go and copilot_test.go.

This follows the existing convention where each domain (actions, dependabot,
discussions, gists, etc.) has its own file, and keeps the copilot toolset
implementation cohesive in one place.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-23 11:38:26 +01:00
Matt Holloway dc3ee11f4c fix for -1 in tailLines (#2047)
CodeQL / Analyze (go) (push) Has been cancelled
CodeQL / Analyze (actions) (push) Has been cancelled
Docker / build (push) Has been cancelled
Build and Test Go Project / build (macos-latest) (push) Has been cancelled
Build and Test Go Project / build (ubuntu-latest) (push) Has been cancelled
Build and Test Go Project / build (windows-latest) (push) Has been cancelled
GoReleaser Release / release (push) Has been cancelled
MCP Server Diff / mcp-diff (push) Has been cancelled
Publish to MCP Registry / publish (push) Has been cancelled
2026-02-19 15:17:52 +00:00
tommaso-moro c38802ac80 rename to --exclude-tools 2026-02-18 17:13:41 +01:00
tommaso-moro 9c8f96f6bf add header support in http entry point 2026-02-18 17:13:41 +01:00
tommaso-moro 0b76ca8fd2 add disallowed-tools flag to enable shuting off tools as part of server configuration 2026-02-18 17:13:41 +01:00
Matt Holloway 3bbfaa02a6 make log fields generic 2026-02-18 14:23:32 +00:00
Matt Holloway 77f6e57c33 fix linter issues 2026-02-18 14:13:13 +00:00
Matt Holloway cc5b8e719d Merge branch 'main' into add-logging-stack-v2 2026-02-18 14:06:31 +00:00
Matt Holloway cbf99e7f0f add metrics adapter 2026-02-18 14:05:51 +00:00