Adam Holt
60aef5d2e3
Convert to modelcontextprotocol/go-sdk ( #1428 )
...
Move from `mark3labs/mcp-go` to `modelcontextprotocol/go-sdk`.
This is mostly focused on updating tool schema and tool handler signatures, along with any associated internal changes related to those changes.
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com >
Co-authored-by: omgitsads <4619+omgitsads@users.noreply.github.com >
Co-authored-by: LuluBeatson <lulubeatson@github.com >
Co-authored-by: Lulu <59149422+LuluBeatson@users.noreply.github.com >
Co-authored-by: SamMorrowDrums <4811358+SamMorrowDrums@users.noreply.github.com >
Co-authored-by: Sam Morrow <info@sam-morrow.com >
2025-12-01 14:30:59 +01:00
Tony Truong
88a594e76b
improve response/feedback loop with better error messages ( #1414 )
2025-11-17 10:19:42 +01:00
Jonathan
c73f06fa29
bumps google/go-github to v79
2025-11-15 22:07:38 +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
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
Tony Truong
99acea6ca1
Fix subdomain isolation URL parsing ( #1218 )
...
* adding better response
* adding check for subdomain isolation and return raw resp for better better llm response
* adding subdomain for uploads too
* remove unnecessary comments
* better error message
* fix linter
2025-10-15 13:21:37 +02:00
Roberto Nacu
dee59272ae
Fix binary files retrieval ( #1183 )
...
* tighten content filtering logic
* add pdf retrieval test case
* add application/xml check
2025-10-07 16:08:01 +01:00
Copilot
010cf9b33a
Add starred repository support to GitHub MCP server ( #1078 )
...
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
* Initial plan
* Initial exploration and planning for starred repository support
Co-authored-by: tonytrg <40869903+tonytrg@users.noreply.github.com >
* Implement starred repository functionality with comprehensive tests
- Add ListStarredRepositories tool for listing starred repos
- Add StarRepository tool for starring repositories
- Add UnstarRepository tool for unstarring repositories
- Update MinimalRepository struct with StarredAt field
- Add comprehensive test coverage for all new functionality
- Register new tools in the repos toolset
Co-authored-by: tonytrg <40869903+tonytrg@users.noreply.github.com >
* Update README documentation with starred repository tools
- Add list_starred_repositories tool documentation
- Add star_repository tool documentation
- Add unstar_repository tool documentation
- Include comprehensive parameter descriptions for all new tools
Co-authored-by: tonytrg <40869903+tonytrg@users.noreply.github.com >
* Add starred repository support to GitHub MCP server
Co-authored-by: tonytrg <40869903+tonytrg@users.noreply.github.com >
* remove starredat from minimal view
* update descriptions
* remove bin
* dont commit the binary
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: tonytrg <40869903+tonytrg@users.noreply.github.com >
Co-authored-by: tonytrg <tonytrg@github.com >
2025-09-12 16:11:15 +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
Matt Holloway
09deac45d4
initial org repo create support ( #1023 )
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
2025-09-02 11:30:13 +01: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
Tommaso Moro
73dcb46dd8
Add get_release_by_tag tool ( #938 )
...
* add get_release_by_tag tool
* add tool
* add tests
* autogen
* remove comment
2025-08-21 09:57:46 +01:00
JoannaaKL
6f06cba57f
List releases ( #862 )
...
* docs: add required GitHub token permissions per action (#128 )
* Feat: Add support for GitHub Releases (list and latest) tools
* Update repositories.go
Update params
* Update README.md
Add only new tool to the readme
* Revise GitHub PAT instructions and permissions section
* Readme formatting
---------
Co-authored-by: Arya Soni <aryasoni98@gmail.com >
Co-authored-by: Arya Soni <18515597+aryasoni98@users.noreply.github.com >
2025-08-12 12:58:21 +02:00
Tommaso Moro
0b80f6869f
Tommy/improve-ref-handling ( #851 )
...
* make resolveGitReference function more robust, add comments to follow the logic
* add tests for new functionality
* lint fix 1
* fix linting by using inverted if instead of empty if block
* remove unused var
* refactor
* remove comment
* small fix
* add ref == "" case in switch statement, use originalRef instead of ref in case definitions and some of the logic
2025-08-11 17:31:31 +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
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
yonaka
0568187038
Always include SHA in get_file_contents responses ( #676 )
...
* fix: Add SHA to get_file_contents while preserving MCP behavior (#595 )
Enhance get_file_contents to include SHA information without changing
the existing MCP server response format.
Changes:
- Add Contents API call to retrieve SHA before fetching raw content
- Include SHA in resourceURI (repo://owner/repo/sha/{SHA}/contents/path)
- Add SHA to success messages
- Update tests to verify SHA inclusion
- Maintain original behavior: text files return raw text, binaries return base64
This preserves backward compatibility while providing SHA information
for better file versioning support.
Closes #595
* fix: Improve error handling for Contents API response
Ensure response body is properly closed even when an error occurs by moving
the defer statement before the error check. This prevents potential resource
leaks when the Contents API returns an error with a non-nil response.
Changes:
- Move defer respContents.Body.Close() before error checking
- Rename errContents to err for consistency
- Add nil check for respContents before attempting to close body
This follows Go best practices for handling HTTP responses and prevents
potential goroutine/memory leaks.
* revert changes to resource URI
* use GraphQL API to get file SHA
* refactor: mock GQL client instead of getFileSHA function to follow conventions
* lint
* revert GraphQL
---------
Co-authored-by: LuluBeatson <lulubeatson@github.com >
2025-07-17 13:29:46 +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
Lulu
d15026b0eb
fix: get_file_contents use "/" for root ( #666 )
...
* update path description to use "/" for root
* update docs and toolsnaps
* use mcp.DefaultString, revert description, update unit test
2025-07-11 18:07:28 +01:00
Lulu
c23b1f9f6e
get_file_content Match Paths in Git Tree if Full Path Unknown (#650 )
...
* add contingency to match path in git tree
* resolveGitReference helper
* fix: handling of directories
* Test_filterPaths
* filterPaths - trailing slashes
* fix: close response body, improve error messages, docs
* update tool result message about resolved git ref
* unit test cases for filterPaths maxResults param
* resolveGitReference - NewGitHubAPIErrorToCtx
2025-07-11 16:23:55 +01:00
Lulu
3341e6bc46
Update create_or_update_file SHA Arg Description ( #651 )
...
* sha arg prompt as required if updating file
* generate docs and toolsnaps
* shorten
2025-07-08 17:51:24 +01:00
Lulu
39d7fec500
Update list_commits Filtering Descriptions ( #634 )
...
* update sha arg description for list_commits, get_file_contents
* update perPage description for pagination to inform of default 30
* toolsnaps, docs
* revert perPage description
2025-07-07 12:59:49 +01:00
JoannaaKL
f88456f989
Update list commits tool description ( #629 )
2025-07-02 20:07:59 +02:00
JoannaaKL
5904a0365e
Fix linting flow ( #614 )
...
* Add issues type filter
* Add e2e test
* Update e2e/e2e_test.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Add lint script and update golangci config
* Add lint script
* Install if not installed
* Pass lint config
* Use action and rename workflow
* Back to reparate config
* Migrate config to v2
* Update config
* Lint code
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-06-30 15:14:45 +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
William Martin
20afb0fd9e
Adjust create_or_update_file description to try avoid incorrect selection ( #419 )
...
* Adjust create_or_update_file description to try avoid incorrect selection
* Update pkg/github/repositories.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-06-24 14:53:09 +02:00
David Byttow
f631ff5548
add author field to list_commits for filtering ( #569 )
2025-06-24 09:15:25 +02:00
tonytrg
b2901e13cc
changing desc symbols
2025-06-23 14:46:46 +02:00
tonytrg
152847334b
fix pr parsing
2025-06-23 14:46:46 +02:00
tonytrg
b031f215f4
fix linter
2025-06-23 14:46:46 +02:00
tonytrg
50cfb6d66b
get_file_contents accepts a ref instead of just branch
2025-06-23 14:46:46 +02:00
Sam Morrow
3e32f75cf4
fix: use better raw file handling and return resources
2025-06-12 14:54:23 +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
William Martin
d4a0764ddb
Bump mcp-go to 0.30.0
2025-05-26 14:03:58 +02:00
Ashwin Bhat
da2df71827
feat: add DeleteFile tool to delete files from GitHub repositories ( #356 )
...
Co-authored-by: Claude <noreply@anthropic.com >
Co-authored-by: William Martin <williammartin@github.com >
2025-05-13 14:22: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
Pranav RK
205b619e6b
feat: upgrade golangci-lint to v2 ( #386 )
...
Co-authored-by: William Martin <williammartin@github.com >
2025-05-12 11:57:27 +02:00
Eran Cohen
866a791635
feat: Add support for git tag operations
...
Add git tag functionality including:
- List repository tags
- Get tag details
- Support for tag-based content access
This enables basic read-only tag management through the MCP server API.
2025-04-30 20:15:39 +02:00
Camila Rondinini
a7d741cc44
fix: specify sha is required ( #320 )
2025-04-29 12:47:25 +02:00
Sam Morrow
a58937c0b3
feat: provide tool annotations
2025-04-23 13:14:01 +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
Arya Soni
01aefd3d7a
Add ability to view branches for a repo #141 ( #205 )
...
* Add ability to view branches for a repo #141
* fix: update ListBranches test to use InputSchema and correct translation helper
* fix: update ListBranches test to use InputSchema and correct translation helper
* fix: update ListBranches test to handle errors in tool result
* fix: replace deprecated github.String with github.Ptr
* docs: add list_branches tool documentation to README
2025-04-11 14:31:29 +02:00
Jake Shorty
919a10c187
Add tool for getting a single commit (includes stats, files) ( #216 )
...
* Add tool for getting a commit
* Split mock back out, use RepositoryCommit with Files/Stats
2025-04-11 08:09:19 +02:00
Sam Morrow
3ec8699deb
chore: groundwork for multi-user to server
2025-04-10 01:59:03 +02:00
Sam Morrow
519ed9ebc7
chore: export remaining search + helpers
2025-04-08 09:43:52 +02:00
Sam Morrow
c1bdd6a0f0
chore: export repository funcs
2025-04-08 09:34:08 +02:00
William Martin
0f9ef6e708
Add pagination helper
2025-04-07 16:48:56 +02:00
Alexander Yastrebov
755b816b7c
pkg/github: fix use of per page parameter
...
Page size tool parameter names were changed to `perPage` within #90
while GitHub API uses `per_page` parameter name.
This change fixes overlooked inconsistencies.
Follow up on #90
Follow up on #129
Fixes #136
Signed-off-by: Alexander Yastrebov <yastrebov.alex@gmail.com >
2025-04-07 16:48:56 +02:00