Adam Holt
5bc4bb6534
Merge branch 'main' into omgitsads/go-sdk
2025-11-24 16:27:28 +01:00
Lulu
17aaf6b93e
Migrate pull_requests toolset to Go SDK ( #1466 )
...
* migrate with agent
* re-add pull_requests toolset, fix whitespace
* revert changes not part of migration
* revert changes not part of migration
2025-11-24 11:57:31 +01:00
JoannaaKL
28b868dad4
Add in memory cache for lockdown mode ( #1416 )
...
* Apply lockdown mode to issues and pull requests
* Add cache
* Unlock in defer
* Add muesli/cache2go
* [WIP] Replace custom cache in lockdown.go with cache2go struct (#1425 )
* Initial plan
* Replace custom cache with cache2go library
- Added github.com/muesli/cache2go dependency
- Replaced custom map-based cache with cache2go.CacheTable
- Removed manual timer management (scheduleExpiry, ensureEntry methods)
- Removed timer field from repoAccessCacheEntry struct
- Updated GetRepoAccessInfo to use cache2go's Value() and Add() methods
- Updated SetTTL to flush and re-add entries with new TTL
- Used unique cache names per instance to avoid test interference
- All existing tests pass with the new implementation
Co-authored-by: JoannaaKL <67866556+JoannaaKL@users.noreply.github.com >
* Final verification complete
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 >
* Use muesli for cache
* Make RepoAccessCache a singleton (#1426 )
* Initial plan
* Implement RepoAccessCache as a singleton pattern
Co-authored-by: JoannaaKL <67866556+JoannaaKL@users.noreply.github.com >
* Complete singleton implementation and verification
Co-authored-by: JoannaaKL <67866556+JoannaaKL@users.noreply.github.com >
* Remove cacheIDCounter as requested
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 >
* Update mutexes
* .
* Reuse cache
* .
* .
* Fix logic after vibe coding
* Update docs
* .
* Refactoring to make the code pretty
* Hide lockdown logic behind shouldFilter function
* .
* Tests
---------
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com >
2025-11-21 10:34:51 +01:00
Ksenia Bobrova
f3b9a63311
Report error when API silently fails to add review comment ( #1441 )
2025-11-19 10:11:17 +01:00
Adam Holt
1e7a3f05f1
Merge branch 'main' into omgitsads/go-sdk
2025-11-18 11:04:12 +01:00
Adam Holt
c946ada4ee
Move files back, use build tags
2025-11-17 20:10:56 +01:00
Adam Holt
655bcca719
move files rather than commenting out
2025-11-17 18:42:29 +01:00
Jonathan
c73f06fa29
bumps google/go-github to v79
2025-11-15 22:07:38 +01:00
Adam Holt
42ada5f005
comment out broken tools for now, we'll tackle them one by one
2025-11-13 17:07:59 +01:00
JoannaaKL
2e5418093f
Add lockdown mode to filter issue ( #1371 )
...
* Add lockdown mode to filter issue
* Update flag name
* Update pkg/lockdown/lockdown.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Merge two graphql queries into one
* Don't use Issue.Repository
* Add function signature
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-11-10 17:01:21 +01:00
Jonathan
cf0e05e300
Update to google/go-github@v77 ( #1357 )
...
* update to google/go-github@v77
* licences update from required CI build
* fixes licences
* fixes possible nil reference
* refresh licences due to recent conflicts
---------
Co-authored-by: Roberto Nacu <kerobbi@github.com >
2025-11-07 08:06:27 -08:00
JoannaaKL
6a39a39e6d
Add html filtering ( #1356 )
...
* Add html content sanitizer
* Add basic html sanitization
* .
* Correct licenses and scripts to ignore vendor directory
* Use singleton
* Simplify
2025-11-05 12:49:49 +01:00
JoannaaKL
304f29a2fd
Add basic content sanitizer ( #1344 )
2025-10-31 12:51:22 +01:00
Jonathan
6f5040734a
Updates github-mcp-server to go-github/v76 ( #1289 )
...
* updates github-mcp-server to go-github/v76
* updates license files
* refactors ListProjects to make use of
google/go-github ProjectsService
* refactors GetProject to make use of google/go-github ProjectsService
* declaring commit without a pointer
* cleanup additional commit pointer
---------
Co-authored-by: Tommaso Moro <37270480+tommaso-moro@users.noreply.github.com >
2025-10-27 13:53:53 +01:00
Ksenia Bobrova
3ba8d4a122
Issues consolidation ( #1211 )
...
* Issues consolidation
* Issues consolidation
* Clarify get_review_comments description
* Add get_comments method
* Formatting fixes
* Clarify tool description
* Clarify tool descriptions
2025-10-23 13:27:07 +02:00
Ksenia Bobrova
e5522fca31
Consolidate pull request review tools ( #1192 )
...
* Consolidate pull request review tools
* Prompt tweaks + deleting snap
* Server instructions change
* Add enums
* Remove excessive mentions of event parameter
* Doc update
2025-10-10 16:56:01 +02:00
Ksenia Bobrova
d0d4b0e5cb
Consolidating pull requests get tools ( #1172 )
...
* Consolidating tools draft
* Consolidate pullrequest tools
* Prompt tweaks
* Fixes
2025-10-07 11:05:22 +02:00
Matt Holloway
0c5cfc3853
Add return ID to CRUD tools ( #1074 )
...
* add return ID to crud tools
* Update pkg/github/gists.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update pkg/github/gists.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fix gist id to string conv
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-09-11 09:53:00 +01:00
Tony Truong
9db2e17204
Updating tool get_pull_request_comments -> get_pull_request_review_comments ( #1062 )
...
* update get_pull_request_comments to get_pull_request_review_comments to signify difference
* fix remaining old references
* cleanup dangling tool snap
2025-09-09 13:26:22 +02:00
Matt Holloway
358a415081
Add minimal response to CRUD tools, repositories and search toolsets ( #988 )
...
* add comprehensive minimal response where appropriate
* remove unneeded comments
* remove incorrect diff param
* update docs
* rm comment
* Update pkg/github/repositories.go
Co-authored-by: Lulu <59149422+LuluBeatson@users.noreply.github.com >
* update toolsnaps and docs
* change minimal_output to use new OptionalBoolParamWithDefault
* Update pkg/github/repositories.go
Co-authored-by: Lulu <59149422+LuluBeatson@users.noreply.github.com >
* refactor minimal conversion funcs to minimal_types.go
* consolidate response structs and remove unneeded message field
* consolidate response further
* remove CloneURL field
* Update pkg/github/repositories.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update pkg/github/server.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fix undefined
* change incorrect comment
* remove old err var declaration
* Update pkg/github/repositories.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fix syntax issue
* update toolsnaps
---------
Co-authored-by: Lulu <59149422+LuluBeatson@users.noreply.github.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-09-01 18:13:36 +01:00
Kirsten Laskoski
d65d1d5455
fix: correct descriptions for PR/issue searching ( #840 )
...
Fix #839 by updating the descriptions for the `owner` and `repo`
parameters for the `search_issues` and `search_pull_requests` tools to
no longer reference notifications but issues and pull requests,
respectively.
2025-08-08 13:34:04 +01:00
Tommaso Moro
521d5e9258
Bump go-github to v74 ( #826 )
...
* update all imports to use v74
* go mod tidy
* update third party licenses
* rename
* autogen licenses
2025-08-06 22:11:50 +01:00
MayorFaj
45e90aedd4
feat: add reviewers parameter to UpdatePullRequest ( #285 )
...
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
CodeQL / Analyze (go) (push) Has been cancelled
CodeQL / Analyze (actions) (push) Has been cancelled
Docker / build (push) Has been cancelled
GoReleaser Release / release (push) Has been cancelled
License Check / license-check (push) Has been cancelled
* feat: add reviewers parameter to UpdatePullRequest and update tests
* Update pullrequests.go
* feat: enhance update pull request functionality with reviewers support
* update README to clarify optional reviewers parameter in API documentation- go run ./cmd/github-mcp-server generate-docs
* feat: enhance UpdatePullRequest to return early if no updates or reviewers are provided
* Add updating draft state to `update_pull_request` tool (#774 )
* initial impl of pull request draft state update
* appease linter
* update README
* add nosec
* fixed err return type for json marshalling
* add gql test
* Add support for org-level discussions in list_discussions tool (#775 )
* make repo optional, and default to .github when not provided. improve tool description
* autogen
* update tests
* small copy paste error fixes
* refactor: streamline UpdatePullRequest logic and enhance test cases for reviewer updates
* refactor: remove redundant draft update tests and streamline UpdatePullRequest logic
* test: add unit tests for updating pull request draft state
* refactor: simplify UpdatePullRequest tests by removing unused mock data
---------
Co-authored-by: Matt Holloway <mattdholloway@github.com >
Co-authored-by: Tommaso Moro <37270480+tommaso-moro@users.noreply.github.com >
2025-07-31 11:05:38 +01:00
Matt Holloway
d5e1f48728
Add updating draft state to update_pull_request tool ( #774 )
...
* initial impl of pull request draft state update
* appease linter
* update README
* add nosec
* fixed err return type for json marshalling
* add gql test
2025-07-29 10:58:06 +01:00
Matt Holloway
7ccc6b6493
Add pagination support to GraphQL-based tools ( #683 )
...
* initial pagination for `ListDiscussions`
* redo category id var cast
* add GraphQL pagination support for discussion comments and categories
* remove pageinfo returns
* fix out ref for linter
* update docs
* move to unified pagination for consensus on params
* update docs
* refactor pagination handling
* update docs
* linter fix
* conv rest to gql params for safe lint
* add nolint
* add error handling for perPage value in ToGraphQLParams
* refactor pagination error handling
* unified params for rest andn graphql and rennamed to be uniform for golang
* add 'after' for pagination
* update docs
* Update pkg/github/discussions.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update pkg/github/discussions.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update pkg/github/discussions_test.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* update default page size const
* reduce default pagination size from 100 to 30 in discussion tests
* update pagination for reverse and total
* update pagination to remove from discussions
* updated README
* improve the `ToGraphQLParams` function
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-07-21 16:31:29 +01:00
Lulu
b5e3348179
fix: shorten long tool name for adding pr review comments ( #697 )
...
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
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
* shorten tool name
* update function name to match tool name
* adjust wording of descriptions
2025-07-18 10:57:05 +01:00
Martin Høst Normark
be91795fd3
Bump go-github to v73.0.0 ( #597 )
...
* Bump go-github to v73.0.0
* Clean up go.mod and update licenses
* Updated remaining imports to use github package v73 instead of v72
---------
Co-authored-by: Tommaso Moro <37270480+tommaso-moro@users.noreply.github.com >
Co-authored-by: tommaso-moro <tommaso-moro@github.com >
2025-07-15 15:21:24 +01:00
Tommaso Moro
42e5ce9b88
Tommy/(Bug-fix): adjust tool description to account for author in prompt ( #658 )
...
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
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
* adjust tool description
* removed dead code
* improve desription
* update description for tests
2025-07-11 09:21:45 +01:00
JoannaaKL
8bd715235b
Add repo and owner
2025-06-26 13:53:13 +02:00
JoannaaKL
805358ba3d
Split pr and issue search
...
Add description
Extract common code
Test fixes
Updated search description
Move search prs to prs toolset
Update tools snaps
2025-06-26 13:53:13 +02:00
JoannaaKL
5f924342f1
Add search pull requests tool
2025-06-26 13:53:13 +02:00
anant-rustagi
23b16cfeb7
feat: add pagination support to get_pull_request_files tool ( #561 )
...
License Check / license-check (push) Has been cancelled
CodeQL / Analyze (go) (push) Has been cancelled
CodeQL / Analyze (actions) (push) Has been cancelled
Unit Tests / build (macos-latest) (push) Has been cancelled
Unit Tests / build (ubuntu-latest) (push) Has been cancelled
Unit Tests / build (windows-latest) (push) Has been cancelled
Lint / lint (push) Has been cancelled
- Add WithPagination() to tool definition
- Use OptionalPaginationParams to handle page and perPage parameters
- Pass pagination parameters to GitHub API ListFiles call
- Update tests to include pagination scenarios
- Update tool schema snapshot
Fixes #527
Co-authored-by: Anant rustagi <anantrustagi@Anants-MacBook-Pro.local >
2025-06-25 16:26:53 +02:00
Sam Morrow
f90ff16f2e
move to new approach and update testing
2025-06-25 08:12:38 +02:00
Adam Holt
36e6add0dd
Return concrete error types for API errors
2025-06-25 08:12:38 +02:00
Lulu
cbcf29f6d1
Export ToBoolPtr and RequiredParam ( #495 )
...
* ToBoolPtr, RequiredParam
* lint: type assertion in RequiredParam
* cap docstring
2025-06-09 15:11:38 +02:00
Pranav RK
c7a872b9a1
Bump go-github to v72.0.0
2025-06-02 10:55:04 +02:00
Theo Brigitte
414309ccc2
Remove non-existent get_line_number_in_pull_request_file tool reference
CodeQL / Analyze (go) (push) Has been cancelled
CodeQL / Analyze (actions) (push) Has been cancelled
Unit Tests / build (macos-latest) (push) Has been cancelled
Unit Tests / build (ubuntu-latest) (push) Has been cancelled
Unit Tests / build (windows-latest) (push) Has been cancelled
License Check / license-check (push) Has been cancelled
Lint / lint (push) Has been cancelled
2025-05-26 07:40:57 +02:00
William Martin
eca853b28a
Split PR review creation, commenting, submission and deletion
2025-05-19 17:50:36 +02:00
William Martin
a6d3c5ea5c
Update pkg/github/pullrequests.go
...
Co-authored-by: Sam Morrow <sammorrowdrums@github.com >
2025-05-14 22:57:43 +02:00
William Martin
2fb1be93f5
Support requesting copilot as a reviewer
2025-05-14 22:57:43 +02:00
Arya Soni
a563bd6e1d
Add request_copilot_review tool with placeholder implementation
2025-05-14 22:57:43 +02:00
dependabot[bot]
705b61b814
build(deps): bump github.com/mark3labs/mcp-go from 0.25.0 to 0.27.0 ( #397 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: William Martin <williammartin@github.com >
2025-05-13 13:26:36 +02:00
Sam Morrow
a58937c0b3
feat: provide tool annotations
2025-04-23 13:14:01 +02:00
Toby Padilla
9fa582d8d6
fix: use anyOf instead of nullable type array
...
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
Unit Tests / build (macos-latest) (push) Has been cancelled
Unit Tests / build (ubuntu-latest) (push) Has been cancelled
Unit Tests / build (windows-latest) (push) Has been cancelled
GoReleaser Release / release (push) Has been cancelled
Lint / lint (push) Has been cancelled
Windsurf is erroring on the `create_pull_request` tool because we're
using an array of types to make fields nullable. This PR uses `anyOf`
instead and should fix the issue.
2025-04-21 21:19:24 +02:00
Toby Padilla
22e493620c
fix: update json schema for create_pull_request_review to make OpenAI compatible ( #300 )
...
Co-authored-by: Sam Morrow <info@sam-morrow.com >
2025-04-17 12:50:19 +02:00
Tony Truong
4457d0ac30
Add missing enum constraints ( #278 )
...
* Add missing enum constraints
* Remove redundant listing of additional enums in descriptions
---------
Co-authored-by: Sam Morrow <info@sam-morrow.com >
2025-04-15 17:01:33 +02:00
Ashwin Bhat
6c05b4009a
Add tools for one-off PR comments and replying to PR review comments ( #143 )
...
* Add add_pull_request_review_comment tool for PR review comments
Adds the ability to add review comments to pull requests with support for line, multi-line, and file-level comments, as well as replying to existing comments.
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
* Add reply_to_pull_request_review_comment tool
Adds a new tool to reply to existing pull request review comments using the GitHub API's comment reply endpoint. This allows for threaded discussions on pull request reviews.
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
* Update README with new PR review comment tools
* rebase
* use new getClient function inadd and reply pr review tools
* Unify PR review comment tools into a single consolidated tool
The separate AddPullRequestReviewComment and ReplyToPullRequestReviewComment tools have been merged into a single tool that handles both creating new comments and replying to existing ones. This approach simplifies the API and provides a more consistent interface for users.
- Made commit_id and path optional when using in_reply_to for replies
- Updated the tests to verify both comment and reply functionality
- Removed the separate ReplyToPullRequestReviewComment tool
- Fixed test expectations to match how errors are returned
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
* Update README to reflect the unified PR review comment tool
---------
Co-authored-by: Claude <noreply@anthropic.com >
Co-authored-by: Javier Uruen Val <juruen@github.com >
2025-04-12 11:45:10 +02:00
Sam Morrow
3ec8699deb
chore: groundwork for multi-user to server
2025-04-10 01:59:03 +02:00
monotykamary
56c1fce434
feat: Add update_pull_request tool ( #122 )
...
* feat: add update_pull_request tool
* refactor: address feedback on optionalParamOK helper
* docs: add update_pull_request tool documentation
* refactor: update optionalParamsOK as exported member
* fix: rename to exported function
2025-04-09 08:11:10 +02:00
Sam Morrow
519ed9ebc7
chore: export remaining search + helpers
2025-04-08 09:43:52 +02:00