Commit Graph

564 Commits

Author SHA1 Message Date
Kun Chen 92bdc286bb add docs for Rovo Dev CLI installation 2026-01-05 06:57:57 +00:00
Adam Holt 762845a8b7 Add API Error annotations to GitHub issue errors (#1566)
* Add API Error annotations to GitHub issue errors

* Return an error back.

---------

Co-authored-by: Matt Holloway <mattdholloway@github.com>
2026-01-02 14:19:06 +00:00
lif 30712de5a6 docs: regenerate README after parameter rename
Update auto-generated documentation to reflect the issueNumber -> issue_number
parameter rename in assign_copilot_to_issue tool.
2025-12-31 18:53:12 +00:00
majiayu000 2cc6911d4b refactor: use consistent snake_case for issue_number parameter
Change the parameter name in assign_copilot_to_issue tool from
'issueNumber' (camelCase) to 'issue_number' (snake_case) to match
the naming convention used by all other tools in the issues toolset.

This improves API consistency and makes the tool parameters more
predictable for users and AI models.

Fixes #1239

Signed-off-by: majiayu000 <1835304752@qq.com>
2025-12-31 18:53:12 +00:00
copilot-swe-agent[bot] 953d26f9c0 fix: use gh pr checkout to handle fork PRs in license-check workflow
Co-authored-by: SamMorrowDrums <4811358+SamMorrowDrums@users.noreply.github.com>
2025-12-31 18:49:43 +00:00
majiayu000 587d829a1b docs: add Docker image name to Prerequisites section
Add explicit Docker image URL (ghcr.io/github/github-mcp-server) to the
Prerequisites section for better discoverability.

Fixes #1505

Signed-off-by: majiayu000 <1835304752@qq.com>
2025-12-30 19:21:37 +00:00
s-sanjay af5a6dff42 Update README.md to hyperlink Open AI Codex installation guide
This guide was already added as part of https://github.com/github/github-mcp-server/pull/1340. Update README.md to point to this
2025-12-29 21:28:01 +00:00
dependabot[bot] 73a8f98bdc build(deps): bump actions/github-script from 7 to 8
Bumps [actions/github-script](https://github.com/actions/github-script) from 7 to 8.
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/v7...v8)

---
updated-dependencies:
- dependency-name: actions/github-script
  dependency-version: '8'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-29 21:24:40 +00:00
Matt Holloway 43bea59a19 Change list workflow runs to allow empty resource id to list all runs in repo (#1682)
* change list workflow runs to allow empty resource id to list all runs in repo

* update docs
2025-12-29 10:25:17 +00:00
tommaso-moro 1decd77b69 remove claude web 2025-12-24 14:47:21 +00:00
dependabot[bot] d4da526785 build(deps): bump docker/metadata-action from 5.9.0 to 5.10.0
Bumps [docker/metadata-action](https://github.com/docker/metadata-action) from 5.9.0 to 5.10.0.
- [Release notes](https://github.com/docker/metadata-action/releases)
- [Commits](https://github.com/docker/metadata-action/compare/318604b99e75e41977312d83839a89be02ca4893...c299e40c65443455700f0fdfc63efafe5b349051)

---
updated-dependencies:
- dependency-name: docker/metadata-action
  dependency-version: 5.10.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-23 20:54:18 +00:00
Tiger Kaovilai 1f381723d3 fix: Skip CodeQL scanning on forked repositories
The CodeQL workflow requires security-events write permission and access
to internal GitHub registries/packs that aren't available in forks.
Adding a condition to only run on the main repository prevents workflow
failures in forked repositories.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-23 20:03:48 +00:00
Ksenia Bobrova 942607595c Fallback to default branch in get_file_contents when main doesn't exist (#1669)
* Fallback to default branch in get_file_contents when main doesn't exist

* Addressing review comments
2025-12-23 15:24:23 +01:00
github-actions[bot] 7e3262341c chore: regenerate license files
Auto-generated by license-check workflow
2025-12-23 13:32:04 +00:00
dependabot[bot] a1bc8b6fb9 build(deps): bump github.com/spf13/cobra from 1.10.1 to 1.10.2
Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 1.10.1 to 1.10.2.
- [Release notes](https://github.com/spf13/cobra/releases)
- [Commits](https://github.com/spf13/cobra/compare/v1.10.1...v1.10.2)

---
updated-dependencies:
- dependency-name: github.com/spf13/cobra
  dependency-version: 1.10.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-23 13:32:04 +00:00
Tommaso Moro 95a637eb46 Update PR template to include tool renaming section (#1657)
* update pr template

* fix
2025-12-23 11:09:08 +00:00
copilot-swe-agent[bot] 8ac1eb46ff Use typed IconTheme constants from Go SDK
Replace string conversions with mcp.IconThemeLight and mcp.IconThemeDark
constants to match the SDK's typed IconTheme field. This fixes the CI build
errors where string literals were being used instead of the proper IconTheme type.

Co-authored-by: SamMorrowDrums <4811358+SamMorrowDrums@users.noreply.github.com>
2025-12-22 23:18:29 +00:00
github-actions[bot] b28d7fbad9 chore: regenerate license files
Auto-generated by license-check workflow
2025-12-22 23:18:29 +00:00
dependabot[bot] 6d1ce242ba build(deps): bump github.com/modelcontextprotocol/go-sdk
Bumps [github.com/modelcontextprotocol/go-sdk](https://github.com/modelcontextprotocol/go-sdk) from 1.2.0-pre.1 to 1.2.0.
- [Release notes](https://github.com/modelcontextprotocol/go-sdk/releases)
- [Commits](https://github.com/modelcontextprotocol/go-sdk/compare/v1.2.0-pre.1...v1.2.0)

---
updated-dependencies:
- dependency-name: github.com/modelcontextprotocol/go-sdk
  dependency-version: 1.2.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-22 23:18:29 +00:00
github-actions[bot] e51e6b1074 chore: regenerate license files
Auto-generated by license-check workflow
2025-12-22 22:56:37 +00:00
dependabot[bot] 6a3c306d98 build(deps): bump github.com/google/jsonschema-go from 0.3.0 to 0.4.2
Bumps [github.com/google/jsonschema-go](https://github.com/google/jsonschema-go) from 0.3.0 to 0.4.2.
- [Release notes](https://github.com/google/jsonschema-go/releases)
- [Commits](https://github.com/google/jsonschema-go/compare/v0.3.0...v0.4.2)

---
updated-dependencies:
- dependency-name: github.com/google/jsonschema-go
  dependency-version: 0.4.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-22 22:56:37 +00:00
copilot-swe-agent[bot] 2bfe46725f Fix YAML syntax errors in license-check workflow
- Use separate -m flags for multi-line git commit message
- Add proper indentation to template literal content to fix YAML parsing

Co-authored-by: SamMorrowDrums <4811358+SamMorrowDrums@users.noreply.github.com>
2025-12-22 21:58:46 +00:00
Sam Morrow 4f064a3c25 feat: auto-fix license files on PRs and improve CI reliability (#1583)
* fix: handle architecture-specific license differences

The licenses script now:
- Generates separate license reports per GOOS/GOARCH combination
- Groups identical reports together (comma-separated arch names)
- Adds a Table of Contents at the top of each platform file
- Handles cases where different architectures have different dependencies
  (e.g., x/sys/unix vs x/sys/windows, mousetrap on Windows only)

This addresses the issue discovered in cli/cli where some deps changed
which changed the mod graph for different GOARCH and affected the
exported licenses because go-licenses tries to find common ancestors.

* fix: make license script portable and deterministic

Address review feedback:
- Remove bash 4.0+ associative array requirement for macOS compatibility
- Add cross-platform hash function (md5sum on Linux, md5 on macOS)
- Ensure deterministic iteration order using sorted groups file
- Add better error handling for failed go-licenses commands
- Fix grammar: 'architecture(s)' -> 'architectures'
- Add documentation for third-party/ being a union of all architectures
- Use file-based state instead of associative arrays for portability

* fix: update licenses-check to use new architecture-aware format

- Check now regenerates using ./script/licenses and compares
- Add GOROOT/PATH setup in CI to fix go-licenses module info errors
- Check both license files AND third-party directory for changes
- See: https://github.com/google/go-licenses/issues/244

* fix: use LC_ALL=C for consistent sorting across systems

The sort command uses locale-specific ordering which can differ between
systems. Use LC_ALL=C to ensure consistent ordering in CI and locally.

* feat: auto-fix license files on PRs and improve CI reliability

Changes:
- Pin go-licenses version in CI for reproducibility (commit 5348b744)
- Add GOROOT/PATH setup for 'Package does not have module info' fix
- Update license-check.yml to auto-fix and push to PR branches
- Add CI=true env var to use pinned go-licenses version
- Add dependabot exclusion from auto-fix workflow
- Add code-scanning exclusion for third-party files

* feat: auto-close PRs that only needed license updates

After the bot pushes license fixes, check if the PR now only contains
license file changes. If so, close it automatically with a comment
explaining that the license updates are complete.

This prevents stale PRs from accumulating when someone creates a PR
just to fix licenses, or when all other changes were already merged
to the base branch.

* feat: auto-create/manage license fix PRs for failing PRs

Creates stacked PRs to fix license issues:
- Detects when a PR needs license updates
- Creates child PR: main <- PR:feature <- PR:license-fix
- Tracks PRs with metadata and hash of license changes
- Auto-closes if user fixes licenses manually
- Auto-closes and recreates if dependencies change
- Prevents multiple fix PRs for same base PR

Rules:
- Only targets PRs against main (not stacked PRs)
- Only runs on ready-for-review PRs (not drafts)
- Skips bots and forks
- Hash-based detection avoids unnecessary work

* fix: allow auto-fix workflow to run on dependabot PRs

Dependabot PRs frequently need license updates and can't be merged until
fixed. The auto-fix workflow helps by creating a child PR with the
license changes, making it easy to merge both together.

* fix: address Copilot review comments

- Remove dependabot exclusion (we want to support dependabot PRs)
- Comment indentation already fixed
- CI env var already set for reproducibility

* refactor: move base branch filter to on: block

Moved the 'targets main' check from job if: to workflow on.pull_request.branches.
This prevents the workflow from even triggering for PRs targeting other branches,
saving CI resources.

Draft check is implicit in the types list (opened + ready_for_review).
Fork check must stay in if: condition (can't be filtered in on: block).

* refactor: merge auto-fix into license-check workflow

Combines both workflows into one with two jobs:
1. license-check: Checks licenses, fails if needed, sets outputs
2. auto-create-fix-pr: Creates child PR if needed (only for non-forks)

Benefits:
- Single workflow file, easier to maintain
- Check fails (blocks merge) while still creating helpful fix PR
- Fork detection in first job, second job skips for forks
- Hash-based tracking prevents duplicate PRs

* refactor: simplify license-check to auto-commit approach

Much simpler workflow:
1. Always try to auto-commit fix directly to PR branch
2. If push fails (fork without permissions), comment once with instructions
3. Don't create child PRs - just fix in place or give instructions
4. Only comment if not already commented (prevent spam)
5. Always fail check if licenses need updating

Benefits:
- Much simpler - single job
- No child PR management complexity
- Clear UX: either fixed or instructed
- Works for all PRs (internal/fork/dependabot)
2025-12-22 20:36:54 +00:00
dependabot[bot] f9ef72f0bb build(deps): bump docker/setup-buildx-action from 3.11.1 to 3.12.0
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 3.11.1 to 3.12.0.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/e468171a9de216ec08956ac3ada2f0791b6bd435...8d2750c68a42422c14e847fe6c8ac0403b4cbd6f)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-version: 3.12.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-22 20:29:37 +00:00
tommaso-moro b5be18c958 remove experiments toolset 2025-12-22 10:15:52 +00:00
Ksenia Bobrova 2f31c15393 get_file_contents fetch refs improvements (#1655)
* get_file_contents improvements

* Return custom errors when main ref is supplied

* Remove test for short sha

* Apply Copilot suggestion
2025-12-22 10:55:57 +01:00
triepod-ai 6c0bbb85ad chore: Update toolsnap for delete_project_item with destructiveHint
Add destructiveHint: true to the snapshot file to match the code change.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-22 04:33:22 +00:00
triepod-ai 844137c378 feat: Add DestructiveHint to delete_project_item tool annotation
Add DestructiveHint: true to the delete_project_item tool to be
consistent with other delete operations (delete_file and
delete_workflow_run_logs) that properly indicate destructive behavior.

This helps LLMs better understand that this tool permanently removes
data and should be used with appropriate caution.

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-22 04:33:22 +00:00
Adam Holt b79d1264d5 Add raw client error annotation and annotate GetFileContents (#1570)
* Add raw client error annotation and annotate GetFileContents

* Track response.

* add raw errors to context

* add raw api error test

* Update pkg/errors/error.go

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

* Add blank line after Error() method for readability

* add NewGitHubRawAPIErrorResponse back

---------

Co-authored-by: Matt Holloway <mattdholloway@pm.me>
Co-authored-by: Matt Holloway <mattdholloway@github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-19 14:23:06 +00:00
Tommaso Moro 63c7db030a Add aliases for new actions tools (#1652)
Build and Test Go Project / build (windows-latest) (push) Has been cancelled
Build and Test Go Project / build (ubuntu-latest) (push) Has been cancelled
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
GoReleaser Release / release (push) Has been cancelled
License Check / license-check (push) Has been cancelled
Publish to MCP Registry / publish (push) Has been cancelled
* add aliases for new actions tools

* generate docs
v0.26.3
2025-12-19 10:33:23 +00:00
copilot-swe-agent[bot] 311d581520 Fix: Add middleware to inject deps into context for tool handlers
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
License Check / license-check (push) Has been cancelled
Publish to MCP Registry / publish (push) Has been cancelled
The issue was that after PR #1640 switched from closure-based deps to context-based deps,
the stdio server was missing middleware to inject ToolDependencies into the request context.
This caused tools to panic with "ToolDependencies not found in context" when called.

Added middleware in NewMCPServer() that wraps all requests with github.ContextWithDeps(),
ensuring deps are available to tool handlers via MustDepsFromContext().

Also added tests to verify server creation and toolset resolution logic.

Co-authored-by: SamMorrowDrums <4811358+SamMorrowDrums@users.noreply.github.com>
v0.26.2
2025-12-18 21:50:43 +01:00
copilot-swe-agent[bot] a8fafad82b Omit icon sizes field for backward compatibility
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
License Check / license-check (push) Has been cancelled
CodeQL / Analyze (go) (push) Has been cancelled
CodeQL / Analyze (actions) (push) Has been cancelled
Docker / build (push) Has been cancelled
Publish to MCP Registry / publish (push) Has been cancelled
- Remove Sizes field from octicons.Icons() to fix compatibility with older MCP clients
- Older clients like Cursor expect sizes to be a string, not an array
- The 2025-11-25 MCP spec changed sizes from string to array
- Omitting the optional Sizes field makes icons compatible with all clients
- Update tests and toolsnaps to reflect the change

Fixes #1644

Co-authored-by: SamMorrowDrums <4811358+SamMorrowDrums@users.noreply.github.com>
v0.26.1
2025-12-18 19:45:29 +01:00
Matt Holloway c0bd7b2744 fix ring buffer panic (#1556) 2025-12-18 16:48:24 +01:00
Matt Holloway cc5f53620e refine pattern matching logic to prioritise non-wildcard handlers in multiHandlerTransport
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
License Check / license-check (push) Has been cancelled
Publish to MCP Registry / publish (push) Has been cancelled
v0.26.0
2025-12-18 16:00:31 +01:00
Matt Holloway 27c10515f6 update tests 2025-12-18 16:00:31 +01:00
Matt Holloway f325b35b3c update consolidated actions tools for new handler pattern 2025-12-18 16:00:31 +01:00
Matt Holloway e7f5ca4815 update tests 2025-12-18 16:00:31 +01:00
Matt Holloway 511121f09c add ff saupport and consolidated actions toolsets 2025-12-18 16:00:31 +01:00
JoannaaKL 9bf5076f3c Update pkg/github/helper_test.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-18 15:31:19 +01:00
copilot-swe-agent[bot] 3c568af25c Remove migration guide and completion script
Co-authored-by: JoannaaKL <67866556+JoannaaKL@users.noreply.github.com>
2025-12-18 15:31:19 +01:00
copilot-swe-agent[bot] ba55ecf1f0 Migrate notifications_test.go to testify mocks
Co-authored-by: JoannaaKL <67866556+JoannaaKL@users.noreply.github.com>
2025-12-18 15:31:19 +01:00
copilot-swe-agent[bot] ac0e79e513 Add completion script and enhanced migration guide
Co-authored-by: JoannaaKL <67866556+JoannaaKL@users.noreply.github.com>
2025-12-18 15:31:19 +01:00
copilot-swe-agent[bot] 0eb2d2ff24 Add comprehensive migration guide for remaining files
Co-authored-by: JoannaaKL <67866556+JoannaaKL@users.noreply.github.com>
2025-12-18 15:31:19 +01:00
copilot-swe-agent[bot] 37a214d4d7 Migrate gists_test.go to testify mocks
Co-authored-by: JoannaaKL <67866556+JoannaaKL@users.noreply.github.com>
2025-12-18 15:31:19 +01:00
copilot-swe-agent[bot] 1b6f0e0f9c Fix wildcard path matching for raw content endpoints
Co-authored-by: JoannaaKL <67866556+JoannaaKL@users.noreply.github.com>
2025-12-18 15:31:19 +01:00
copilot-swe-agent[bot] 49e606d7e7 Migrate context_tools_test and repository_resource_test to testify
Co-authored-by: JoannaaKL <67866556+JoannaaKL@users.noreply.github.com>
2025-12-18 15:31:19 +01:00
copilot-swe-agent[bot] 3b9a0b1f52 Fix linting issues in helper constants
Co-authored-by: JoannaaKL <67866556+JoannaaKL@users.noreply.github.com>
2025-12-18 15:31:19 +01:00
copilot-swe-agent[bot] b81df990fd Migrate actions, dependabot, and secret_scanning tests to testify
Co-authored-by: JoannaaKL <67866556+JoannaaKL@users.noreply.github.com>
2025-12-18 15:31:19 +01:00
copilot-swe-agent[bot] c04b287d78 Migrate security_advisories_test.go to testify mocks
Co-authored-by: JoannaaKL <67866556+JoannaaKL@users.noreply.github.com>
2025-12-18 15:31:19 +01:00
copilot-swe-agent[bot] 12af99b48c Add endpoint constants and migrate raw package tests
Co-authored-by: JoannaaKL <67866556+JoannaaKL@users.noreply.github.com>
2025-12-18 15:31:19 +01:00