343 Commits

Author SHA1 Message Date
Matt Holloway 62266f804b OSS granular PRs and issues toolsets (#2306)
Build and Test Go Project / build (macos-latest) (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
MCP Server Diff / mcp-diff (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
GoReleaser Release / release (push) Has been cancelled
Publish to MCP Registry / publish (push) Has been cancelled
* initial OSS granular PRs and issues toolsets

* update docs

* refactor: reuse existing helpers in granular toolsets

Refactor granular issue and PR tools to delegate to existing tested
helper functions instead of reimplementing logic from scratch:

- Sub-issue tools (add/remove/reprioritize) now delegate to existing
  REST-based AddSubIssue, RemoveSubIssue, ReprioritizeSubIssue helpers
- PR review tools (create/submit/delete) now delegate to existing
  CreatePullRequestReview, SubmitPendingPullRequestReview,
  DeletePendingPullRequestReview helpers (fixes viewer filtering bug)
- Review comment tool now uses viewer-safe pattern from
  AddCommentToPendingReview (query viewer, filter by author, validate
  PENDING state, pass PullRequestReviewID)
- Fix milestone param to use RequiredInt instead of float64 cast
- Fix line/startLine params to use OptionalIntParam
- Draft state tool uses typed GraphQL inputs matching existing patterns
- Remove duplicate GraphQL types and helper functions
- Add toolsnap tests for all 20 granular tools
- Update generated docs

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

* refactor: use feature flags instead of separate granular toolsets

Place granular tools in existing issues/pull_requests toolsets with
FeatureFlagEnable, instead of creating separate issues_granular and
pull_requests_granular toolsets. This is simpler and uses the existing
feature flag infrastructure to switch between consolidated and
granular tool variants at runtime.

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

* fix: address review feedback on granular toolsets

- Fix REST response handling: capture resp, close body, use ghErrors
  helpers in issueUpdateTool, prUpdateTool, GranularCreateIssue, and
  GranularRequestPullRequestReviewers
- Add FeatureFlagDisable on consolidated tools (IssueWrite, SubIssueWrite,
  UpdatePullRequest, PullRequestReviewWrite, AddCommentToPendingReview)
  so they are hidden when granular variants are active
- Use OptionalStringArrayParam for assignees, labels, reviewers instead
  of manual loop that silently dropped non-string elements
- Fix side/startSide empty string leak: pass nil pointer when absent
  instead of pointer to empty string in GraphQL mutations
- Fix milestone minimum from 0 to 1 to match RequiredInt rejection of 0
- Return MinimalResponse {id, url} instead of full JSON objects
- Fix RequiredParam[bool] rejecting draft=false by using presence check
- Add handler tests for update_pull_request_draft_state (draft + ready)
  and add_pull_request_review_comment with full GraphQL mocking

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

* fix: address review feedback on granular toolsets

- Fix translation keys to use ALL_CAPS convention (strings.ToUpper)
- Fix assignees/labels clearing: check key presence instead of len==0
- Extract AddCommentToPendingReviewCall helper to deduplicate GraphQL
  logic between consolidated and granular tools
- Add missing granular tools: resolve_review_thread, unresolve_review_thread
  (were in pull_request_review_write but had no granular replacements)
- Add handler tests for new resolve/unresolve tools

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

---------

Co-authored-by: Sam Morrow <info@sam-morrow.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-14 15:40:00 +01:00
Matt Holloway dd239d8443 Initial OSS logging adapter for http (#2008)
* initial logging stack for http

* add metrics adapter

* fix linter issues

* make log fields generic

* Update pkg/github/server_test.go

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

* 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>

* Update pkg/github/dependencies.go

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

* fmt

* change to use slog

* address feedback

* rename noop adapter to noop sink

* Update pkg/http/server.go

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

* [WIP] [WIP] Address feedback on OSS logging adapter for http implementation (#2264)

* Initial plan

* 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>

* Fix nil metrics in server.go by passing metrics.NewNoopMetrics() to NewExporters

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>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: mattdholloway <918573+mattdholloway@users.noreply.github.com>
Co-authored-by: Matt Holloway <mattdholloway@github.com>

* replace nil with stubs

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
2026-03-31 13:10:22 +01:00
Artem Sierikov b01f7f5b6a fix: additionalProperties in push_files schema (#2011)
Some MCP clients require array item schemas to explicitly set
`additionalProperties: false`. Without this, `push_files` calls will fail.

Fixes #2011
Research and fix was initially done by @04cb
2026-03-29 04:34:20 +02: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
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
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
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 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
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 0b76ca8fd2 add disallowed-tools flag to enable shuting off tools as part of server configuration 2026-02-18 17:13:41 +01:00
Adam Holt 08231a2aeb Add support for custom middleware in the correct order. (#2026)
* Add support for custom middleware in the correct order.

* Switch this up to be more clear on what it's doing
2026-02-18 14:43:59 +01:00
Tommaso Moro 851030c20b Reduce context usage for create_or_update_file tool (#2027)
* optimize context usage

* add assortions and check for nil response

* refactor
2026-02-18 10:26:19 +00:00
e-straight 67b8bf2ed2 Add ProjectV2 status update tools (list, get, create) (#1987)
* Add ProjectV2 status update tools (list, get, create)

Closes https://github.com/github/github-mcp-server/issues/1963

Add three new individual tools and wire them into the consolidated
project tools for managing GitHub ProjectV2 status updates:

- list_project_status_updates / projects_list: List status updates for
  a project with pagination, ordered by creation date descending
- get_project_status_update / projects_get: Fetch a single status
  update by node ID
- create_project_status_update / projects_write: Create a status update
  with optional body, status, start_date, and target_date

New GraphQL types and queries (statusUpdateNode, statusUpdatesUserQuery,
statusUpdatesOrgQuery, statusUpdateNodeQuery) support both user-owned
and org-owned projects. The CreateProjectV2StatusUpdateInput type is
defined locally since the shurcooL/githubv4 library does not include it.

Also includes quality improvements discovered during implementation:

- Extract resolveProjectNodeID helper to deduplicate ~70 lines of
  project ID resolution logic shared between addProjectItem and
  createProjectStatusUpdate
- Add client-side YYYY-MM-DD date format validation for start_date
  and target_date fields before sending to the API
- Fix brittle node type check in getProjectStatusUpdate that relied
  on stringifying a githubv4.ID and comparing to "<nil>"
- Refactor createProjectStatusUpdate to accept typed parameters
  instead of raw args map
- Add deprecated tool aliases for all three new individual tools
- Add ProjectResolveIDFailedError constant for consistent error
  reporting

Test coverage includes 21 subtests covering both user and org paths,
pagination, error handling, input validation, field verification, and
consolidated tool dispatch.

* Fix projects_get required params and harden status update tools

Loosen projects_get schema to only require "method", since
get_project_status_update only needs status_update_id and never uses
owner or project_number. Also use pointer types for optional
statusUpdateNode fields, add owner_type validation for list/create
status updates, clamp negative per_page values, and fix
resolveProjectNodeID to return "" instead of nil on error.

* Resolve conflicts

* Update doc

* Update aliases

* Dont update tool renaming docs

---------

Co-authored-by: e-straight <elijahstr@users.noreply.github.com>
Co-authored-by: JoannaaKL <joannaakl@github.com>
2026-02-18 10:14:40 +01:00
Tommaso Moro 543a1fa019 use minimal types for issue comments to optimize context usage (#2024) 2026-02-17 12:36:28 +00:00
Tommaso Moro dc7e789dc4 Optimize context usage for getting an issue using the issue_read tool (#2022)
* minimize context usage using minimal types for get issue comments

* preserver reactions field

* add back author association
2026-02-17 10:33:15 +00:00
Tommaso Moro f04c137bdd Reduce context usage for getting a Pull Request (#2017)
* introduce minimal pr type

* update to use time.RFC3339

* confine change to single PR
2026-02-17 09:37:59 +00:00
Matt Holloway e83440db58 Add initial PoC for MCP Apps for select tools under Insiders (#1957)
* PoC full flow (hello world example)

* add avatar resource domain

* add postmessage logic and richer UI

* add create issue ui

* update ui for issue creatioon

* fix

* ignore banner

* update docs after rebase

* update toolsnap for get_me

* new UI changes

* update docs

* update workflows that need ui build

* add UI diff

* fix build ui step for windows runners to use git bash

* fix UI diff

* refactor issue creation UI

* add AvatarWithFallback component and update UserCard to use it; enhance CreateIssueApp to manage existing issue data

* fix formatting of button labels

* add create pull request functionality with UI support and insiders

* update docs

* add test for insiders mode handling in ServerTool schema

* remove `show_ui` param for now

* make insiders mode metadata stripping generic

* remove ui diff

* fix CI

* remove redundant mention of old app name

* add node types to fix ide issues for ts code

* remove unused TriangleDownIcon import

* update @primer/behaviors and electron-to-chromium versions in package-lock.json

* add check to ensure base and head are not the same when creating a new PR

* remove old show_ui

* fix gitignore for dist so builds dont break

* add tests for insiders mode handling and metadata stripping in ServerTool

* remove unused state and components from CreatePRApp

* fix ui build

* update docker build to fix npm issue

* remove reference to show_ui

* allow insiders to work for non-ui features

* formalise insiders inventory support

* update docs

* fix overflow issues and replace pull request dropdown with matching UI from dotcom

* fix createpullrequest test

* consolidate fetching tools under `ui_get` tool to remove toolset deps

* fix issue data prefill in issue_write form

* fix link component when updating issue

* fix avatar URL

* fix broken issue update logic

* remove dbg

* fix for new GetFlags

* revert to original required fields for create_pull_request

* fix for UI form submission

* Simplify MCP App UIs for basic branch

Remove advanced features to be kept in mcp-ui-apps-advanced:
- Strip labels, assignees, milestones, issue types, repo picker from issue-write
- Strip repo picker, branch selectors from pr-write
- Delete ui_get tool (ui_tools.go, ui_tools_test.go, ui_get.snap)
- Remove UIGet registration from tools.go

Basic forms retain: title, body, submit with _ui_submitted,
draft/regular split button (PR), MarkdownEditor, and SuccessView.

* Fix header spacing in issue-write and pr-write UIs

Add proper spacing between icon, title text, and repo name in the
header bar for both issue-write and create-pull-request forms.

* fix UI spacing

* Add insiders flag to User-Agent header

When InsidersMode is enabled, append '(insiders)' to the User-Agent
string sent with GitHub API requests, enabling server-side adoption
tracking.

* address ui feedback

* added ui/no-ui support

* improve active state UI for write and preview button. make padding consistent in textarea

* return to prev non ui check

* use hardcoded client name check for ui support

* linter fixes

* merge fix

* linter fix 2

---------

Co-authored-by: tommaso-moro <tommaso-moro@github.com>
2026-02-12 13:03:00 +00:00
Ksenia Bobrova 09d38df96f Use Contents API instead of raw endpoint to fetch file content (#1998)
* Use Contents API instead of raw endpoint to fetch file content

* Address Copilot comment

* Fix linter errors
2026-02-12 13:43:41 +01:00
Oleksandr Redko 505d5dc33a refactor: modernize code with modernize and intrange 2026-02-12 12:58:49 +01:00
JoannaaKL 266bd9311e Gogithub update (#2004)
* Bump google/go-github

* chore: regenerate license files

Auto-generated by license-check workflow

* Fix required block

* Go mod vendor and tidy again

* Remove unused fatih/color dependency to fix CI (#2005)

* Initial plan

* Remove unused github.com/fatih/color dependency

The fatih/color package was listed in go.mod but not actually imported
or used anywhere in the codebase. This caused the CI "go mod tidy -diff"
check to fail. Running go mod tidy removed:
- github.com/fatih/color v1.18.0
- github.com/mattn/go-colorable v0.1.13 (transitive)
- github.com/mattn/go-isatty v0.0.20 (transitive)

Fixes the failing ubuntu-latest workflow build.

Co-authored-by: JoannaaKL <67866556+JoannaaKL@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: JoannaaKL <67866556+JoannaaKL@users.noreply.github.com>

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
2026-02-12 11:04:54 +01:00
copilot-swe-agent[bot] 3c53687eb3 Remove old non-consolidated actions and Projects toolsets
This commit removes the old individual tool implementations for
Actions and Projects toolsets that have been superseded by consolidated
tools (actions_list, actions_get, actions_run_trigger, get_job_logs,
projects_list, projects_get, projects_write).

Removed old Actions tools:
- ListWorkflows, ListWorkflowRuns, RunWorkflow, GetWorkflowRun
- GetWorkflowRunLogs, ListWorkflowJobs, GetJobLogs
- RerunWorkflowRun, RerunFailedJobs, CancelWorkflowRun
- ListWorkflowRunArtifacts, DownloadWorkflowRunArtifact
- DeleteWorkflowRunLogs, GetWorkflowRunUsage

Removed old Projects tools:
- ListProjects, GetProject, ListProjectFields, GetProjectField
- ListProjectItems, GetProjectItem, AddProjectItem
- UpdateProjectItem, DeleteProjectItem

Also removed:
- Feature flag constants (FeatureFlagHoldbackConsolidatedActions/Projects)
- FeatureFlagDisable from consolidated tools
- Old toolsnaps for removed tools
- Tests for removed tools
- Unused helper function toNewProjectType

Co-authored-by: mattdholloway <918573+mattdholloway@users.noreply.github.com>
2026-02-10 12:55:24 +01:00
Adam Holt aa302209b0 Add Streamable HTTP mode (#1849)
Adds new `http` command supporting Streamable HTTP support, OAuth Metadata handler and Scope filtering.

Co-authored-by: kerobbi <kerobbi@github.com>
Co-authored-by: Matt Holloway <mattdholloway@github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-06 15:33:41 +01:00
Ilya Kamens a9edf9e04c Add reply to PR comment (#1856)
* Update snapshots

There was a change on `main` before I changed anything

* feat: add add_reply_to_pull_request_comment tool

Add a new tool that allows AI agents to reply to existing pull request comments. This tool uses GitHub's CreateCommentInReplyTo REST API to create threaded conversations on pull requests.

Features:

Reply to any existing PR comment using its ID
Proper error handling for missing parameters and API failures
Comprehensive test coverage (8 test cases)
Follows project patterns and conventions
Registered in pull_requests toolset as a write operation
Parameters:

owner: Repository owner (required)
repo: Repository name (required)
pullNumber: Pull request number (required)
commentId: ID of comment to reply to (required)
body: Reply text content (required)
This tool complements the existing add_comment_to_pending_review tool by enabling responses to already-posted comments, enhancing AI-powered code review workflows.

Closes: #635

* Update README

* fix types

---------

Co-authored-by: tommaso-moro <tommaso-moro@github.com>
Co-authored-by: Tommaso Moro <37270480+tommaso-moro@users.noreply.github.com>
Co-authored-by: plaskowski <1999603+plaskowski@users.noreply.github.com>
Co-authored-by: Rob Emanuele <2320142+lossyrob@users.noreply.github.com>
2026-02-04 17:46:21 +00:00
Roberto Nacu fb53abdbe2 replace context.Background() (#1948)
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-03 15:42:14 +00:00
tonytrg 7af51a079a adding correct insiders-mode name 2026-01-26 16:28:36 +01:00
Matt Holloway 60a8c21b8a remove old flags 2026-01-26 16:02:20 +01:00
Matt Holloway 0a62aabc94 default to consolidated actions/projects toolsets and add hold back flag 2026-01-26 15:07:38 +01:00
Tommaso Moro 15e66b3df3 Generate server instructions in Inventory (#1869)
* carry over from https://github.com/github/github-mcp-server/pull/1863

* remove unused inv

* update toolsnap

---------

Co-authored-by: Sam Morrow <info@sam-morrow.com>
2026-01-23 09:57:47 +00:00