* add repo nav tool
* comment responses
* move into git.go
* fix documentation
* Update pkg/github/git.go
Co-authored-by: Adam Holt <omgitsads@github.com>
* Fix undefined variable error in GetRepositoryTree
* Update git.go to use github.com/google/go-github/v77 for consistency with main branch
---------
Co-authored-by: Adam Holt <omgitsads@github.com>
* 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>
* 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>
* 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
* 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>
* 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
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>
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.
* 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
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 #129Fixes#136
Signed-off-by: Alexander Yastrebov <yastrebov.alex@gmail.com>