Commit Graph

333 Commits

Author SHA1 Message Date
Dimitrios Philliou 689191ec94 Fix link to Installation Guides Index
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
License Check / license-check (push) Has been cancelled
CodeQL / Analyze (go) (push) Has been cancelled
CodeQL / Analyze (actions) (push) Has been cancelled
Updated link to Installation Guides Index to point to proper README path. It was 404ing.
2025-08-06 11:48:13 -07:00
Tommaso Moro 33a63a053d Add support for org-level discussions in list_discussion_categories tool (#819)
* hide implementation detail for org-level queries

* update tests

* autogen

* made tests consistent with other tests
2025-08-05 11:05:45 +01:00
Tommaso Moro ff6e859555 add title to get_discussion query (#803) 2025-08-01 16:55:11 +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>
v0.10.0
2025-07-31 11:05:38 +01:00
Maximillian Polhill 1c6171b24f Feat: Add initial Gist tools (#340)
* Add initial Gist tools: ListGists, CreateGist

* Add UpdateGist tool

* Add documentation for initial Gist tools

---------

Co-authored-by: Matt Holloway <mattdholloway@github.com>
2025-07-30 15:12:12 +01:00
JoannaaKL 4b64121b97 Updated descriptions for search tools (#737)
* Updated description for search_code

* Update toolsnaps and docs
2025-07-30 13:37:24 +02:00
Matt Holloway 771d7b411f Add initial support for multi-tool workflows (#685)
* initial workflows

* fixing tabs

* remove unused SecurityAlertWorkflowPrompt and RepositorySetupWorkflowPrompt

* add workflow prompt for creating issue and assigning to copilot

* Update pkg/github/workflow_prompts.go

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

* remove notif triage

* remove code inv workflow tool

* rm another

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-30 11:39:58 +01:00
Tommaso Moro 89e3afdb4b Add support for org-level discussions in list_discussions tool (#775)
License Check / license-check (push) Has been cancelled
CodeQL / Analyze (go) (push) Has been cancelled
CodeQL / Analyze (actions) (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
* make repo optional, and default to .github when not provided. improve tool description

* autogen

* update tests

* small copy paste error fixes
2025-07-29 14:17:03 +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
JoannaaKL efef8ae27a Changed q to query in search (#740)
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
License Check / license-check (push) Has been cancelled
CodeQL / Analyze (go) (push) Has been cancelled
CodeQL / Analyze (actions) (push) Has been cancelled
GoReleaser Release / release (push) Has been cancelled
Docker / build (push) Has been cancelled
v0.9.0 v0.9.1
2025-07-24 12:35:35 +02:00
Tommaso Moro a939565160 feat: list_discussions sort by updatedAt & createdAt, return updatedAt and author (#690)
* added updatedAt and Author (aka User) login to query and payload

* added initial support for orderby and direction

* sort by created at instead of updated at by default

* remove unused code

* refactor to map to most suitable query based on user inputs at runtime

* updated readme with new description

* restore original categoryID code, simplify vars management

* quick fix

* update tests to account for recent changes (author login, updated at date)

* use switch statement for better readability

* remove comment

* linting

* refactored logic, simplified switch statement

* linting

* use original queries from discussions list tool for testing

* linting

* remove logging

* Complete merge by re-introducing pagination to ListDiscussions

* fix unit tests

* refactor: less repetitive interface

---------

Co-authored-by: LuluBeatson <lulubeatson@github.com>
Co-authored-by: Lulu <59149422+LuluBeatson@users.noreply.github.com>
2025-07-24 11:26:00 +01:00
vladislav doster 7a9bc91185 docs: fix spacing in testing.md (#734)
- remove extraneous space
2025-07-23 09:19:51 +01:00
Martin Høst Normark 60a5391d67 Add tools for sub-issue endpoint (#470)
* Create 'add sub-issue' tool

* Fix hardcoded API host

* Create 'list sub-issues' tool

* Create 'remove sub-issue' tool

* Fix Test_GetIssue mock data - add missing User field

The assertion was already checking User.Login but the mock was incomplete

* Create 'reprioritize sub-issue' tool

* fixes

* use go github pck to add sub-issues

* Update to use go github package

* update description

* update to use go github v73

* lint, docs

* refactor: tests to use go-github-mock

* add toolsnaps

* make RemoveSubIssue use NewGitHubAPIErrorResponse, update docstring

* 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>

* Reorganize README, add dedicated install guides, include policies and governance info for the github server (#695)

* Refactor README and add host installation guides, governance docs

- Reorganized README for clarity and navigation
- Added dedicated installation guides for Claude, Cursor, Windsurf, JetBrains, and more
- Clarified contribution guidelines and approval criteria
- Added policies and governance documentation

* Update README.md

* Update README with configuration section for remote GitHub MCP Server

* Update MCP access policy description in README

Removing coding agent from the policy note, as the GitHub server is unaffected by this policy

* Update configuration steps for GitHub Copilot in JetBrains IDEs...

...to reflect changes in accessing settings and configuring MCP.

* Update install-other-copilot-ides.md

* Update Eclipse MCP support version and configuration steps...

...for GitHub Copilot plugin in installation guide.

* Update docs/installation-guides/install-cursor.md

* Update docs/installation-guides/install-windsurf.md

* Apply suggestion from @tonytrg

* Apply suggestion from @tonytrg

* Apply suggestion from @tonytrg

* Apply suggestion from @tonytrg

* Apply suggestion from @tonytrg

* Apply suggestion from @tonytrg

* Apply suggestion from @tonytrg

---------

Co-authored-by: Tony Truong <tonytrg@github.com>

* fix: shorten long tool name for adding pr review comments (#697)

* shorten tool name

* update function name to match tool name

* adjust wording of descriptions

* Update installation guide for GitHub MCP Server (#699)

* Update installation guide for GitHub MCP Server

Removed reference to GitHub.com in the installation guide. The GitHub server is available to Coding Agent by default, without installation needed.

* Rename section to 'Install in Other MCP Hosts'

Updating title for consistency and adding a link to the "other Copilot IDEs" install guide.

* Revise installation guide for Cursor MCP setup

Updated installation guide for Cursor with steps clarified, remote server installation, and one-click install deeplinks to open Cursor and add the github server to the config file.

* fix: make mcpcurl support "integer" type (#688)

- FYI:https://json-schema.org/understanding-json-schema/reference/numeric#integer

* Added installation instructions for mcpcurl (#719)

* Added installation instructions for mcpcurl

* Update cmd/mcpcurl/README.md

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

---------

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

* 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>

* shorten param descriptions

* fix: resp nil check in error handling in RemoveSubIssue function

---------

Co-authored-by: LuluBeatson <lulubeatson@github.com>
Co-authored-by: tommaso-moro <tommaso-moro@github.com>
2025-07-22 09:24:46 +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
Bupal Chowdary 74964520cf Added installation instructions for mcpcurl (#719)
* Added installation instructions for mcpcurl

* Update cmd/mcpcurl/README.md

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

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-21 12:39:36 +01:00
bitsark a031e21503 fix: make mcpcurl support "integer" type (#688)
- FYI:https://json-schema.org/understanding-json-schema/reference/numeric#integer
2025-07-21 10:20:32 +01:00
Dimitrios Philliou 2e63e81d51 Update installation guide for GitHub MCP Server (#699)
* Update installation guide for GitHub MCP Server

Removed reference to GitHub.com in the installation guide. The GitHub server is available to Coding Agent by default, without installation needed.

* Rename section to 'Install in Other MCP Hosts'

Updating title for consistency and adding a link to the "other Copilot IDEs" install guide.

* Revise installation guide for Cursor MCP setup

Updated installation guide for Cursor with steps clarified, remote server installation, and one-click install deeplinks to open Cursor and add the github server to the config file.
2025-07-19 08:17:24 +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
v0.8.0
2025-07-18 10:57:05 +01:00
Dimitrios Philliou 1a74e6d63e Reorganize README, add dedicated install guides, include policies and governance info for the github server (#695)
* Refactor README and add host installation guides, governance docs

- Reorganized README for clarity and navigation
- Added dedicated installation guides for Claude, Cursor, Windsurf, JetBrains, and more
- Clarified contribution guidelines and approval criteria
- Added policies and governance documentation

* Update README.md

* Update README with configuration section for remote GitHub MCP Server

* Update MCP access policy description in README

Removing coding agent from the policy note, as the GitHub server is unaffected by this policy

* Update configuration steps for GitHub Copilot in JetBrains IDEs...

...to reflect changes in accessing settings and configuring MCP.

* Update install-other-copilot-ides.md

* Update Eclipse MCP support version and configuration steps...

...for GitHub Copilot plugin in installation guide.

* Update docs/installation-guides/install-cursor.md

* Update docs/installation-guides/install-windsurf.md

* Apply suggestion from @tonytrg

* Apply suggestion from @tonytrg

* Apply suggestion from @tonytrg

* Apply suggestion from @tonytrg

* Apply suggestion from @tonytrg

* Apply suggestion from @tonytrg

* Apply suggestion from @tonytrg

---------

Co-authored-by: Tony Truong <tonytrg@github.com>
2025-07-18 10:33:59 +02: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
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
v0.7.0
2025-07-11 09:21:45 +01:00
Nhu Do 89bb9286ca Include Copilot coding agent tool on the remote GitHub MCP server (#656)
* Update README.md

* Update remote-server.md
2025-07-09 15:04:48 -04: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
Tony Truong 0cf70ebdb5 Remove redundant param for get_me and update contribution guide (#649)
* remove reason param for get_me

* updating toolsnap

* update contributing

* updating tool get_me

* add small changes

* update snapshots
2025-07-07 18:07:48 +02:00
Lulu 3730b840fe fix: get_discussion graphQL invalid field (#648)
* rm State which does not exist on type Discussion

* update Test_GetDiscussion

* use Discussion object instead of Issue
2025-07-07 14:43:05 +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
John Wesley Walker III fc11713681 Updated links to MCP Specification in docs/host-integration.md (#641) 2025-07-07 11:23:09 +02:00
Sam Morrow ea7304769f fix: stale information in CONTRIBUTING.md 2025-07-04 16:50:00 +02:00
LuluBeatson e43fca195b embed optional UserDetails in MinimalUser 2025-07-04 14:58:38 +02:00
LuluBeatson 1d057c975d refactor: user get methods to avoid nil checks 2025-07-04 14:58:38 +02:00
LuluBeatson 37d1ed6fd8 return MinimalUser 2025-07-04 14:58:38 +02:00
LuluBeatson 6c0453a9c1 omit site_admin from get_me output 2025-07-04 14:58:38 +02:00
Lulu 08a49b0f81 use WithPagination tool option (#632) 2025-07-03 15:33:21 +01:00
Lulu 23f6f3a778 Add Dependabot Alert Tools (#631)
* add dependabit get and list tools

* add toolsnaps

* add unit tests for new tools

* generate-docs
2025-07-03 13:26:57 +02:00
JoannaaKL f88456f989 Update list commits tool description (#629) 2025-07-02 20:07:59 +02:00
JoannaaKL 6043bec223 Cleanup (#628)
* Remove unused function and add test script

* Call test from the workflow
2025-07-02 18:12:16 +02:00
JoannaaKL 39109b3e5d Add discussion tools (#624) 2025-07-02 15:09:04 +02:00
Tommaso Moro 72009399f8 add DS_Store to .gitignore (#626) 2025-07-02 08:37:43 +01:00
JoannaaKL 721fd3e3c8 Add comment to trim lines (#621)
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
CodeQL / Analyze (go) (push) Has been cancelled
CodeQL / Analyze (actions) (push) Has been cancelled
v0.6.0
2025-07-01 10:02:31 +02:00
JoannaaKL b44dee6189 Add script to generate docs (#622) 2025-07-01 10:02:19 +02:00
JoannaaKL 7c62774271 Add tail logs option (#615) 2025-06-30 20:25:08 +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
JoannaaKL 05456fbad7 Update script/tag-release 2025-06-27 18:10:52 +02:00
Sam Morrow f291da023f Update script/tag-release
Co-authored-by: JoannaaKL <joannaakl@github.com>
2025-06-27 18:10:52 +02:00
Sam Morrow 4022ee545f add release script 2025-06-27 18:10:52 +02:00
Sam Morrow e9c8b40724 update documentation, add script and workflow 2025-06-27 17:00:30 +02:00
Tony Truong 798e674bd1 collapse docs from readme (#580)
* collapse docs from readme

* fix titles
2025-06-27 12:28:31 +02:00