* Initial plan
* Migrate git toolset to modelcontextprotocol/go-sdk
- Remove //go:build ignore tag from git.go
- Update imports to use modelcontextprotocol/go-sdk
- Convert GetRepositoryTree tool schema to jsonschema format
- Update handler signature to use new generics pattern
- Update parameter extraction to use args map
- Replace mcp.NewToolResult* with utils package helpers
- Create dedicated git_test.go with updated test patterns
- Update toolsnaps for get_repository_tree
Related to #1428
Co-authored-by: omgitsads <4619+omgitsads@users.noreply.github.com>
* re-add git toolset
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: omgitsads <4619+omgitsads@users.noreply.github.com>
Co-authored-by: LuluBeatson <lulubeatson@github.com>
* Initial plan
* Migrate gists toolset to modelcontextprotocol/go-sdk
- Remove //go:build ignore tags from gists.go and gists_test.go
- Update imports to use modelcontextprotocol/go-sdk instead of mark3labs/mcp-go
- Migrate all 4 tools (ListGists, GetGist, CreateGist, UpdateGist):
- Updated tool definitions to use jsonschema.Schema for InputSchema
- Changed handler signatures to new SDK format with generics
- Updated parameter extraction to use args map instead of request object
- Replaced result helpers with utils package equivalents
- Updated all tests to match new handler signatures
- Added toolsnap tests for all 4 tools
- Added parseISOTimestamp utility function to minimal_types.go
- Created toolsnaps for all 4 tools
Related to #1428
Co-authored-by: omgitsads <4619+omgitsads@users.noreply.github.com>
* fix invalid schema, re-add gists toolset to server
* make schema types lowercase
* Don't assert without a testing.T
* just return the tool & handler
* Add Close method to IOLogger to close underlying reader and writer
* Update cmd/github-mcp-server/generate_docs.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* remove unnecessary translation
---------
Co-authored-by: copilot-swe-agent[bot] <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: Adam Holt <me@adamholt.co.uk>
Co-authored-by: Adam Holt <omgitsads@github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
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
Publish to MCP Registry / publish (push) Has been cancelled
* Add state metadata fields to get_discussion tool
Fixes#1303
The get_discussion tool was missing important state metadata that's
already available in get_issue. Added four fields to provide complete
discussion status information:
- state: Current discussion state (OPEN/CLOSED)
- isAnswered: Whether the discussion has an accepted answer
- answeredAt: Timestamp when answer was provided
- answerChosenAt: Timestamp when answer was selected
Changed GetDiscussion to return a map instead of github.Discussion
struct since the go-github library doesn't include all these fields
in its type definition. This approach is consistent with other
functions in this codebase (ListDiscussions, GetDiscussionComments).
All tests pass and linter checks pass.
* Fix Discussion field mappings based on GitHub GraphQL API
Changes:
- Replace 'State' (doesn't exist) with 'Closed' (Boolean)
- Remove 'AnsweredAt' (doesn't exist)
- Keep 'IsAnswered' (verified to exist in GitHub GraphQL API)
- Use 'AnswerChosenAt' for answer timestamp
Updated both implementation and tests to match actual GitHub GraphQL schema.
All tests passing.
---------
Co-authored-by: tommaso-moro <tommaso-moro@github.com>