Skip to content

Commit 20bfead

Browse files
authored
Merge branch 'main' into feat/259/assign-reviewers
2 parents 0474365 + be91795 commit 20bfead

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+389
-93
lines changed

README.md

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -900,7 +900,7 @@ export GITHUB_MCP_TOOL_ADD_ISSUE_COMMENT_DESCRIPTION="an alternative description
900900

901901
- **get_file_contents** - Get file or directory contents
902902
- `owner`: Repository owner (username or organization) (string, required)
903-
- `path`: Path to file/directory (directories must end with a slash '/') (string, required)
903+
- `path`: Path to file/directory (directories must end with a slash '/') (string, optional)
904904
- `ref`: Accepts optional git refs such as `refs/tags/{tag}`, `refs/heads/{branch}` or `refs/pull/{pr_number}/head` (string, optional)
905905
- `repo`: Repository name (string, required)
906906
- `sha`: Accepts optional commit SHA. If specified, it will be used instead of ref (string, optional)
@@ -983,6 +983,21 @@ export GITHUB_MCP_TOOL_ADD_ISSUE_COMMENT_DESCRIPTION="an alternative description
983983
</details>
984984
<!-- END AUTOMATED TOOLS -->
985985

986+
### Additional Tools in Remote Github MCP Server
987+
988+
<details>
989+
990+
<summary>Copilot coding agent</summary>
991+
992+
- **create_pull_request_with_copilot** - Perform task with GitHub Copilot coding agent
993+
- `owner`: Repository owner. You can guess the owner, but confirm it with the user before proceeding. (string, required)
994+
- `repo`: Repository name. You can guess the repository name, but confirm it with the user before proceeding. (string, required)
995+
- `problem_statement`: Detailed description of the task to be performed (e.g., 'Implement a feature that does X', 'Fix bug Y', etc.) (string, required)
996+
- `title`: Title for the pull request that will be created (string, required)
997+
- `base_ref`: Git reference (e.g., branch) that the agent will start its work from. If not specified, defaults to the repository's default branch (string, optional)
998+
999+
</details>
1000+
9861001
## Library Usage
9871002

9881003
The exported Go API of this module should currently be considered unstable, and subject to breaking changes. In the future, we may offer stability; please file an issue if there is a use case where this would be valuable.

cmd/github-mcp-server/generate_docs.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import (
1313
"github.com/github/github-mcp-server/pkg/raw"
1414
"github.com/github/github-mcp-server/pkg/toolsets"
1515
"github.com/github/github-mcp-server/pkg/translations"
16-
gogithub "github.com/google/go-github/v72/github"
16+
gogithub "github.com/google/go-github/v73/github"
1717
"github.com/mark3labs/mcp-go/mcp"
1818
"github.com/shurcooL/githubv4"
1919
"github.com/spf13/cobra"

docs/remote-server.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ Easily connect to the GitHub MCP Server using the hosted version – no local se
1010

1111
The remote GitHub MCP server is built using this repository as a library, and binding it into GitHub server infrastructure with an internal repository. You can open issues and propose changes in this repository, and we regularly update the remote server to include the latest version of this code.
1212

13+
The remote server has [additional tools](#toolsets-only-available-in-the-remote-mcp-server) that are not available in the local MCP server, such as the `create_pull_request_with_copilot` tool for invoking Copilot coding agent.
14+
1315
## Remote MCP Toolsets
1416

1517
Below is a table of available toolsets for the remote GitHub MCP Server. Each toolset is provided as a distinct URL so you can mix and match to create the perfect combination of tools for your use-case. Add `/readonly` to the end of any URL to restrict the tools in the toolset to only those that enable read access. We also provide the option to use [headers](#headers) instead.
@@ -33,6 +35,14 @@ Below is a table of available toolsets for the remote GitHub MCP Server. Each to
3335

3436
<!-- END AUTOMATED TOOLSETS -->
3537

38+
### Additional _Remote_ Server Toolsets
39+
40+
These toolsets are only available in the remote GitHub MCP Server and are not included in the local MCP server.
41+
42+
| Name | Description | API URL | 1-Click Install (VS Code) | Read-only Link | 1-Click Read-only Install (VS Code) |
43+
| -------------------- | --------------------------------------------- | ------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
44+
| Copilot coding agent | Perform task with GitHub Copilot coding agent | https://api.githubcopilot.com/mcp/x/copilot | [Install](https://insiders.vscode.dev/redirect/mcp/install?name=gh-copilot&config=%7B%22type%22%3A%20%22http%22%2C%22url%22%3A%20%22https%3A%2F%2Fapi.githubcopilot.com%2Fmcp%2Fx%2Fcopilot%22%7D) | [read-only](https://api.githubcopilot.com/mcp/x/copilot/readonly) | [Install read-only](https://insiders.vscode.dev/redirect/mcp/install?name=gh-copilot&config=%7B%22type%22%3A%20%22http%22%2C%22url%22%3A%20%22https%3A%2F%2Fapi.githubcopilot.com%2Fmcp%2Fx%2Fcopilot%2Freadonly%22%7D) |
45+
3646
### Headers
3747

3848
You can configure toolsets and readonly mode by providing HTTP headers in your server configuration.

e2e/e2e_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import (
1818
"github.com/github/github-mcp-server/internal/ghmcp"
1919
"github.com/github/github-mcp-server/pkg/github"
2020
"github.com/github/github-mcp-server/pkg/translations"
21-
gogithub "github.com/google/go-github/v72/github"
21+
gogithub "github.com/google/go-github/v73/github"
2222
mcpClient "github.com/mark3labs/mcp-go/client"
2323
"github.com/mark3labs/mcp-go/mcp"
2424
"github.com/stretchr/testify/require"

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ module github.com/github/github-mcp-server
33
go 1.23.7
44

55
require (
6-
github.com/google/go-github/v72 v72.0.0
6+
github.com/google/go-github/v73 v73.0.0
77
github.com/josephburnett/jd v1.9.2
88
github.com/mark3labs/mcp-go v0.32.0
99
github.com/migueleliasweb/go-github-mock v1.3.0

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
2020
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
2121
github.com/google/go-github/v71 v71.0.0 h1:Zi16OymGKZZMm8ZliffVVJ/Q9YZreDKONCr+WUd0Z30=
2222
github.com/google/go-github/v71 v71.0.0/go.mod h1:URZXObp2BLlMjwu0O8g4y6VBneUj2bCHgnI8FfgZ51M=
23-
github.com/google/go-github/v72 v72.0.0 h1:FcIO37BLoVPBO9igQQ6tStsv2asG4IPcYFi655PPvBM=
24-
github.com/google/go-github/v72 v72.0.0/go.mod h1:WWtw8GMRiL62mvIquf1kO3onRHeWWKmK01qdCY8c5fg=
23+
github.com/google/go-github/v73 v73.0.0 h1:aR+Utnh+Y4mMkS+2qLQwcQ/cF9mOTpdwnzlaw//rG24=
24+
github.com/google/go-github/v73 v73.0.0/go.mod h1:fa6w8+/V+edSU0muqdhCVY7Beh1M8F1IlQPZIANKIYw=
2525
github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8=
2626
github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU=
2727
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=

internal/ghmcp/server.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import (
1717
mcplog "github.com/github/github-mcp-server/pkg/log"
1818
"github.com/github/github-mcp-server/pkg/raw"
1919
"github.com/github/github-mcp-server/pkg/translations"
20-
gogithub "github.com/google/go-github/v72/github"
20+
gogithub "github.com/google/go-github/v73/github"
2121
"github.com/mark3labs/mcp-go/mcp"
2222
"github.com/mark3labs/mcp-go/server"
2323
"github.com/shurcooL/githubv4"

pkg/errors/error.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import (
44
"context"
55
"fmt"
66

7-
"github.com/google/go-github/v72/github"
7+
"github.com/google/go-github/v73/github"
88
"github.com/mark3labs/mcp-go/mcp"
99
)
1010

pkg/errors/error_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import (
66
"net/http"
77
"testing"
88

9-
"github.com/google/go-github/v72/github"
9+
"github.com/google/go-github/v73/github"
1010
"github.com/stretchr/testify/assert"
1111
"github.com/stretchr/testify/require"
1212
)

pkg/github/__toolsnaps__/get_file_contents.snap

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
"type": "string"
1212
},
1313
"path": {
14+
"default": "/",
1415
"description": "Path to file/directory (directories must end with a slash '/')",
1516
"type": "string"
1617
},
@@ -29,8 +30,7 @@
2930
},
3031
"required": [
3132
"owner",
32-
"repo",
33-
"path"
33+
"repo"
3434
],
3535
"type": "object"
3636
},

0 commit comments

Comments
 (0)