Skip to content

Commit 43d72ed

Browse files
committed
Merge remote-tracking branch 'origin/main' into lulu/get-file
2 parents bf673f8 + 42e5ce9 commit 43d72ed

File tree

6 files changed

+30
-6
lines changed

6 files changed

+30
-6
lines changed

README.md

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -870,7 +870,7 @@ export GITHUB_MCP_TOOL_ADD_ISSUE_COMMENT_DESCRIPTION="an alternative description
870870
- `owner`: Repository owner (username or organization) (string, required)
871871
- `path`: Path where to create/update the file (string, required)
872872
- `repo`: Repository name (string, required)
873-
- `sha`: SHA of file being replaced (for updates) (string, optional)
873+
- `sha`: Required if updating an existing file. The blob SHA of the file being replaced. (string, optional)
874874

875875
- **create_repository** - Create repository
876876
- `autoInit`: Initialize with README (boolean, optional)
@@ -982,6 +982,21 @@ export GITHUB_MCP_TOOL_ADD_ISSUE_COMMENT_DESCRIPTION="an alternative description
982982
</details>
983983
<!-- END AUTOMATED TOOLS -->
984984

985+
### Additional Tools in Remote Github MCP Server
986+
987+
<details>
988+
989+
<summary>Copilot coding agent</summary>
990+
991+
- **create_pull_request_with_copilot** - Perform task with GitHub Copilot coding agent
992+
- `owner`: Repository owner. You can guess the owner, but confirm it with the user before proceeding. (string, required)
993+
- `repo`: Repository name. You can guess the repository name, but confirm it with the user before proceeding. (string, required)
994+
- `problem_statement`: Detailed description of the task to be performed (e.g., 'Implement a feature that does X', 'Fix bug Y', etc.) (string, required)
995+
- `title`: Title for the pull request that will be created (string, required)
996+
- `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)
997+
998+
</details>
999+
9851000
## Library Usage
9861001

9871002
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.

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.

pkg/github/__toolsnaps__/create_or_update_file.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
"type": "string"
3232
},
3333
"sha": {
34-
"description": "SHA of file being replaced (for updates)",
34+
"description": "Required if updating an existing file. The blob SHA of the file being replaced.",
3535
"type": "string"
3636
}
3737
},

pkg/github/__toolsnaps__/list_pull_requests.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"title": "List pull requests",
44
"readOnlyHint": true
55
},
6-
"description": "List pull requests in a GitHub repository.",
6+
"description": "List pull requests in a GitHub repository. If the user specifies an author, then DO NOT use this tool and use the search_pull_requests tool instead.",
77
"inputSchema": {
88
"properties": {
99
"base": {

pkg/github/pullrequests.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -330,7 +330,7 @@ func UpdatePullRequest(getClient GetClientFn, t translations.TranslationHelperFu
330330
// ListPullRequests creates a tool to list and filter repository pull requests.
331331
func ListPullRequests(getClient GetClientFn, t translations.TranslationHelperFunc) (mcp.Tool, server.ToolHandlerFunc) {
332332
return mcp.NewTool("list_pull_requests",
333-
mcp.WithDescription(t("TOOL_LIST_PULL_REQUESTS_DESCRIPTION", "List pull requests in a GitHub repository.")),
333+
mcp.WithDescription(t("TOOL_LIST_PULL_REQUESTS_DESCRIPTION", "List pull requests in a GitHub repository. If the user specifies an author, then DO NOT use this tool and use the search_pull_requests tool instead.")),
334334
mcp.WithToolAnnotation(mcp.ToolAnnotation{
335335
Title: t("TOOL_LIST_PULL_REQUESTS_USER_TITLE", "List pull requests"),
336336
ReadOnlyHint: ToBoolPtr(true),
@@ -396,7 +396,6 @@ func ListPullRequests(getClient GetClientFn, t translations.TranslationHelperFun
396396
if err != nil {
397397
return mcp.NewToolResultError(err.Error()), nil
398398
}
399-
400399
opts := &github.PullRequestListOptions{
401400
State: state,
402401
Head: head,

pkg/github/repositories.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -287,7 +287,7 @@ func CreateOrUpdateFile(getClient GetClientFn, t translations.TranslationHelperF
287287
mcp.Description("Branch to create/update the file in"),
288288
),
289289
mcp.WithString("sha",
290-
mcp.Description("SHA of file being replaced (for updates)"),
290+
mcp.Description("Required if updating an existing file. The blob SHA of the file being replaced."),
291291
),
292292
),
293293
func(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error) {

0 commit comments

Comments
 (0)