Skip to content

Commit 9302225

Browse files
authored
Merge branch 'main' into update-client-oauth-docs
2 parents deb5272 + 02ca293 commit 9302225

25 files changed

+1319
-122
lines changed

.github/workflows/close-inactive-issues.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
issues: write
1515
pull-requests: write
1616
steps:
17-
- uses: actions/stale@v9
17+
- uses: actions/stale@v10
1818
with:
1919
days-before-issue-stale: ${{ env.PR_DAYS_BEFORE_STALE }}
2020
days-before-issue-close: ${{ env.PR_DAYS_BEFORE_CLOSE }}

.github/workflows/docker-publish.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,13 +47,13 @@ jobs:
4747
# multi-platform images and export cache
4848
# https://github.com/docker/setup-buildx-action
4949
- name: Set up Docker Buildx
50-
uses: docker/setup-buildx-action@f95db51fddba0c2d1ec667646a06c2ce06100226 # v3.0.0
50+
uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1
5151

5252
# Login against a Docker registry except on PR
5353
# https://github.com/docker/login-action
5454
- name: Log into registry ${{ env.REGISTRY }}
5555
if: github.event_name != 'pull_request'
56-
uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d # v3.0.0
56+
uses: docker/login-action@184bdaa0721073962dff0199f1fb9940f07167d1 # v3.5.0
5757
with:
5858
registry: ${{ env.REGISTRY }}
5959
username: ${{ github.actor }}

.github/workflows/goreleaser.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ jobs:
3737
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3838

3939
- name: Generate signed build provenance attestations for workflow artifacts
40-
uses: actions/attest-build-provenance@v2
40+
uses: actions/attest-build-provenance@v3
4141
with:
4242
subject-path: |
4343
dist/*.tar.gz

.gitignore

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,7 @@ vendor
1414
bin/
1515

1616
# macOS
17-
.DS_Store
17+
.DS_Store
18+
19+
# binary
20+
github-mcp-server

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM golang:1.24.4-alpine AS build
1+
FROM golang:1.25.1-alpine AS build
22
ARG VERSION="dev"
33

44
# Set the working directory

README.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -591,12 +591,14 @@ The following sets of tools are available (all are on by default):
591591
- **update_issue** - Edit issue
592592
- `assignees`: New assignees (string[], optional)
593593
- `body`: New description (string, optional)
594+
- `duplicate_of`: Issue number that this issue is a duplicate of. Only used when state_reason is 'duplicate'. (number, optional)
594595
- `issue_number`: Issue number to update (number, required)
595596
- `labels`: New labels (string[], optional)
596597
- `milestone`: New milestone number (number, optional)
597598
- `owner`: Repository owner (string, required)
598599
- `repo`: Repository name (string, required)
599600
- `state`: New state (string, optional)
601+
- `state_reason`: Reason for the state change. Ignored unless state is changed. (string, optional)
600602
- `title`: New title (string, optional)
601603
- `type`: New issue type (string, optional)
602604

@@ -875,6 +877,13 @@ The following sets of tools are available (all are on by default):
875877
- `perPage`: Results per page for pagination (min 1, max 100) (number, optional)
876878
- `repo`: Repository name (string, required)
877879

880+
- **list_starred_repositories** - List starred repositories
881+
- `direction`: The direction to sort the results by. (string, optional)
882+
- `page`: Page number for pagination (min 1) (number, optional)
883+
- `perPage`: Results per page for pagination (min 1, max 100) (number, optional)
884+
- `sort`: How to sort the results. Can be either 'created' (when the repository was starred) or 'updated' (when the repository was last pushed to). (string, optional)
885+
- `username`: Username to list starred repositories for. Defaults to the authenticated user. (string, optional)
886+
878887
- **list_tags** - List tags
879888
- `owner`: Repository owner (string, required)
880889
- `page`: Page number for pagination (min 1) (number, optional)
@@ -901,6 +910,14 @@ The following sets of tools are available (all are on by default):
901910
- `perPage`: Results per page for pagination (min 1, max 100) (number, optional)
902911
- `query`: Repository search query. Examples: 'machine learning in:name stars:>1000 language:python', 'topic:react', 'user:facebook'. Supports advanced search syntax for precise filtering. (string, required)
903912

913+
- **star_repository** - Star repository
914+
- `owner`: Repository owner (string, required)
915+
- `repo`: Repository name (string, required)
916+
917+
- **unstar_repository** - Unstar repository
918+
- `owner`: Repository owner (string, required)
919+
- `repo`: Repository name (string, required)
920+
904921
</details>
905922

906923
<details>

docs/remote-server.md

Lines changed: 40 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,45 @@ These toolsets are only available in the remote GitHub MCP Server and are not in
4545
| -------------------- | --------------------------------------------- | ------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
4646
| 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) |
4747

48-
### Headers
48+
### Optional Headers
4949

50-
You can configure toolsets and readonly mode by providing HTTP headers in your server configuration.
50+
The Remote GitHub MCP server has optional headers equivalent to the Local server env vars:
5151

52-
The headers are:
53-
- `X-MCP-Toolsets=<toolset>,<toolset>...`
54-
- `X-MCP-Readonly=true`
52+
- `X-MCP-Toolsets`: Comma-separated list of toolsets to enable. E.g. "repos,issues".
53+
- Equivalent to `GITHUB_TOOLSETS` env var for Local server.
54+
- If the list is empty, default toolsets will be used. If a bad toolset is provided, the server will fail to start and emit a 400 bad request status. Whitespace is ignored.
55+
- `X-MCP-Readonly`: Enables only "read" tools.
56+
- Equivalent to `GITHUB_READ_ONLY` env var for Local server.
57+
- If this header is empty, "false", "f", "no", "n", "0", or "off" (ignoring whitespace and case), it will be interpreted as false. All other values are interpreted as true.
58+
59+
Example:
60+
61+
```json
62+
{
63+
"type": "http",
64+
"url": "https://api.githubcopilot.com/mcp/",
65+
"headers": {
66+
"X-MCP-Toolsets": "repos,issues",
67+
"X-MCP-Readonly": "true"
68+
}
69+
}
70+
```
71+
72+
### URL Path Parameters
73+
74+
The Remote GitHub MCP server also supports the URL path parameters:
75+
76+
- `/x/{toolset}`
77+
- `/x/{toolset}/readonly`
78+
- `/readonly`
79+
80+
Note: `{toolset}` can only been a single toolset, not a comma-separated list. To combine multiple toolsets, use the `X-MCP-Toolsets` header instead.
81+
82+
Example:
83+
84+
```json
85+
{
86+
"type": "http",
87+
"url": "https://api.githubcopilot.com/mcp/x/issues/readonly"
88+
}
89+
```

github-mcp-server

-17.5 MB
Binary file not shown.

go.mod

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ require (
77
github.com/josephburnett/jd v1.9.2
88
github.com/mark3labs/mcp-go v0.36.0
99
github.com/migueleliasweb/go-github-mock v1.3.0
10-
github.com/spf13/cobra v1.9.1
10+
github.com/spf13/cobra v1.10.1
1111
github.com/spf13/viper v1.20.1
1212
github.com/stretchr/testify v1.11.1
1313
)
@@ -29,7 +29,7 @@ require (
2929
require (
3030
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
3131
github.com/fsnotify/fsnotify v1.8.0 // indirect
32-
github.com/go-viper/mapstructure/v2 v2.3.0
32+
github.com/go-viper/mapstructure/v2 v2.4.0
3333
github.com/google/go-github/v71 v71.0.0 // indirect
3434
github.com/google/go-querystring v1.1.0 // indirect
3535
github.com/google/uuid v1.6.0 // indirect
@@ -44,7 +44,7 @@ require (
4444
github.com/sourcegraph/conc v0.3.0 // indirect
4545
github.com/spf13/afero v1.14.0 // indirect
4646
github.com/spf13/cast v1.7.1 // indirect
47-
github.com/spf13/pflag v1.0.6
47+
github.com/spf13/pflag v1.0.9
4848
github.com/subosito/gotenv v1.6.0 // indirect
4949
github.com/yosida95/uritemplate/v3 v3.0.2 // indirect
5050
go.uber.org/multierr v1.11.0 // indirect

go.sum

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34
1717
github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
1818
github.com/go-openapi/swag v0.21.1 h1:wm0rhTb5z7qpJRHBdPOMuY4QjVUMbF6/kwoYeRAOrKU=
1919
github.com/go-openapi/swag v0.21.1/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ=
20-
github.com/go-viper/mapstructure/v2 v2.3.0 h1:27XbWsHIqhbdR5TIC911OfYvgSaW93HM+dX7970Q7jk=
21-
github.com/go-viper/mapstructure/v2 v2.3.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=
20+
github.com/go-viper/mapstructure/v2 v2.4.0 h1:EBsztssimR/CONLSZZ04E8qAkxNYq4Qp9LvH92wZUgs=
21+
github.com/go-viper/mapstructure/v2 v2.4.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=
2222
github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
2323
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
2424
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
@@ -78,10 +78,10 @@ github.com/spf13/afero v1.14.0 h1:9tH6MapGnn/j0eb0yIXiLjERO8RB6xIVZRDCX7PtqWA=
7878
github.com/spf13/afero v1.14.0/go.mod h1:acJQ8t0ohCGuMN3O+Pv0V0hgMxNYDlvdk+VTfyZmbYo=
7979
github.com/spf13/cast v1.7.1 h1:cuNEagBQEHWN1FnbGEjCXL2szYEXqfJPbP2HNUaca9Y=
8080
github.com/spf13/cast v1.7.1/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo=
81-
github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo=
82-
github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0=
83-
github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o=
84-
github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
81+
github.com/spf13/cobra v1.10.1 h1:lJeBwCfmrnXthfAupyUTzJ/J4Nc1RsHC/mSRU2dll/s=
82+
github.com/spf13/cobra v1.10.1/go.mod h1:7SmJGaTHFVBY0jW4NXGluQoLvhqFQM+6XSKD+P4XaB0=
83+
github.com/spf13/pflag v1.0.9 h1:9exaQaMOCwffKiiiYk6/BndUBv+iRViNW+4lEMi0PvY=
84+
github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
8585
github.com/spf13/viper v1.20.1 h1:ZMi+z/lvLyPSCoNtFCpqjy0S4kPbirhpTMwl8BkW9X4=
8686
github.com/spf13/viper v1.20.1/go.mod h1:P9Mdzt1zoHIG8m2eZQinpiBjo6kCmZSKBClNNqjJvu4=
8787
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=

0 commit comments

Comments
 (0)