Skip to content

Commit f63a025

Browse files
committed
chore: refactor repository references from github-mcp-server to github-mcp-http
- Updated import paths across multiple files to reflect the new repository name. - Changed user agent strings and documentation links to use github-mcp-http. - Adjusted test cases to reference the new repository. - Modified configuration file names and paths for translations. - Updated scripts to run commands against the new repository. - Revised third-party licenses documentation to reflect the new repository.
1 parent 8aa73b9 commit f63a025

Some content is hidden

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

58 files changed

+170
-170
lines changed

.github/CODEOWNERS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
* @github/github-mcp-server
1+
* @github/github-mcp-http

.github/licenses.tmpl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# GitHub MCP Server dependencies
22

3-
The following open source dependencies are used to build the [github/github-mcp-server][] GitHub Model Context Protocol Server.
3+
The following open source dependencies are used to build the [github/github-mcp-http][] GitHub Model Context Protocol Server.
44

55
## Go Packages
66

@@ -10,4 +10,4 @@ Some packages may only be included on certain architectures or operating systems
1010
- [{{.Name}}](https://pkg.go.dev/{{.Name}}) ([{{.LicenseName}}]({{.LicenseURL}}))
1111
{{- end }}
1212

13-
[github/github-mcp-server]: https://github.com/github/github-mcp-server
13+
[github/github-mcp-http]: https://github.com/github/github-mcp-http

.github/workflows/docs-check.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@ jobs:
2222
go-version-file: 'go.mod'
2323

2424
- name: Build docs generator
25-
run: go build -o github-mcp-server ./cmd/github-mcp-server
25+
run: go build -o github-mcp-http ./cmd/github-mcp-http
2626

2727
- name: Generate documentation
28-
run: ./github-mcp-server generate-docs
28+
run: ./github-mcp-http generate-docs
2929

3030
- name: Check for documentation changes
3131
run: |
@@ -35,7 +35,7 @@ jobs:
3535
echo "The generated documentation differs from what's committed."
3636
echo "Please run the following command to update the documentation:"
3737
echo ""
38-
echo " go run ./cmd/github-mcp-server generate-docs"
38+
echo " go run ./cmd/github-mcp-http generate-docs"
3939
echo ""
4040
echo "Then commit the changes."
4141
echo ""

.github/workflows/go.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,4 +29,4 @@ jobs:
2929
run: script/test
3030

3131
- name: Build
32-
run: go build -v ./cmd/github-mcp-server
32+
run: go build -v ./cmd/github-mcp-http

.gitignore

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
.idea
2-
cmd/github-mcp-server/github-mcp-server
2+
cmd/github-mcp-http/github-mcp-http
33

44
# VSCode
55
.vscode/*
@@ -17,7 +17,7 @@ bin/
1717
.DS_Store
1818

1919
# binary
20-
github-mcp-server
20+
github-mcp-http
2121

2222
# Claude Code
2323
.claude/

.goreleaser.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
version: 2
2-
project_name: github-mcp-server
2+
project_name: github-mcp-http
33
before:
44
hooks:
55
- go mod tidy
@@ -14,7 +14,7 @@ builds:
1414
- linux
1515
- windows
1616
- darwin
17-
main: ./cmd/github-mcp-server
17+
main: ./cmd/github-mcp-http
1818

1919
archives:
2020
- formats: tar.gz

CONTRIBUTING.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
## Contributing
22

3-
[fork]: https://github.com/github/github-mcp-server/fork
4-
[pr]: https://github.com/github/github-mcp-server/compare
5-
[style]: https://github.com/github/github-mcp-server/blob/main/.golangci.yml
3+
[fork]: https://github.com/github/github-mcp-http/fork
4+
[pr]: https://github.com/github/github-mcp-http/compare
5+
[style]: https://github.com/github/github-mcp-http/blob/main/.golangci.yml
66

77
Hi there! We're thrilled that you'd like to contribute to this project. Your help is essential for keeping it great.
88

Dockerfile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,19 +14,19 @@ RUN --mount=type=cache,target=/go/pkg/mod \
1414
--mount=type=cache,target=/root/.cache/go-build \
1515
--mount=type=bind,target=. \
1616
CGO_ENABLED=0 go build -ldflags="-s -w -X main.version=${VERSION} -X main.commit=$(git rev-parse HEAD) -X main.date=$(date -u +%Y-%m-%dT%H:%M:%SZ)" \
17-
-o /bin/github-mcp-server cmd/github-mcp-server/main.go
17+
-o /bin/github-mcp-http cmd/github-mcp-http/main.go
1818

1919
# Make a stage to run the app
2020
FROM gcr.io/distroless/base-debian12
2121

2222
# Add required MCP server annotation
23-
LABEL io.modelcontextprotocol.server.name="io.github.github/github-mcp-server"
23+
LABEL io.modelcontextprotocol.server.name="io.github.github/github-mcp-http"
2424

2525
# Set the working directory
2626
WORKDIR /server
2727
# Copy the binary from the build stage
28-
COPY --from=build /bin/github-mcp-server .
28+
COPY --from=build /bin/github-mcp-http .
2929
# Set the entrypoint to the server binary
30-
ENTRYPOINT ["/server/github-mcp-server"]
30+
ENTRYPOINT ["/server/github-mcp-http"]
3131
# Default arguments for ENTRYPOINT
3232
CMD ["http"]

README.md

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# GitHub MCP Server - HTTP Streamable Transport
22

3-
> **This is a fork** of the [official GitHub MCP Server](https://github.com/github/github-mcp-server). The official version only supports stdio transport. This fork implements **HTTP streamable transport with per-request OAuth authentication** for self-hosted enterprise deployments.
3+
> **This is a fork** of the [official GitHub MCP Server](https://github.com/github/github-mcp-http). The official version only supports stdio transport. This fork implements **HTTP streamable transport with per-request OAuth authentication** for self-hosted enterprise deployments.
44
55
## Why This Fork?
66

@@ -54,8 +54,8 @@ The MCP server receives GitHub tokens from Pomerium and uses them to make API ca
5454
### Build from source
5555

5656
```bash
57-
go build -o github-mcp-server ./cmd/github-mcp-server
58-
./github-mcp-server http --listen :8080
57+
go build -o github-mcp-http ./cmd/github-mcp-http
58+
./github-mcp-http http --listen :8080
5959
```
6060

6161
**Important:** This server does NOT manage OAuth tokens. It requires an external OAuth proxy (like Pomerium) to:
@@ -76,7 +76,7 @@ Example Pomerium route configuration:
7676
```yaml
7777
routes:
7878
- from: https://mcp.example.com
79-
to: http://github-mcp-server:8080
79+
to: http://github-mcp-http:8080
8080

8181
# Pomerium handles GitHub OAuth and injects tokens
8282
upstream_oauth2:
@@ -824,7 +824,7 @@ The following sets of tools are available (all are on by default):
824824
- `order`: Sort order for results (string, optional)
825825
- `page`: Page number for pagination (min 1) (number, optional)
826826
- `perPage`: Results per page for pagination (min 1, max 100) (number, optional)
827-
- `query`: Search query using GitHub's powerful code search syntax. Examples: 'content:Skill language:Java org:github', 'NOT is:archived language:Python OR language:go', 'repo:github/github-mcp-server'. Supports exact matching, language filters, path filters, and more. (string, required)
827+
- `query`: Search query using GitHub's powerful code search syntax. Examples: 'content:Skill language:Java org:github', 'NOT is:archived language:Python OR language:go', 'repo:github/github-mcp-http'. Supports exact matching, language filters, path filters, and more. (string, required)
828828
- `sort`: Sort field ('indexed' only) (string, optional)
829829

830830
- **search_repositories** - Search repositories
@@ -943,12 +943,12 @@ To specify toolsets you want available to the LLM, you can pass an allow-list in
943943
1. **Using Command Line Argument**:
944944

945945
```bash
946-
github-mcp-server --toolsets repos,issues,pull_requests,actions,code_security
946+
github-mcp-http --toolsets repos,issues,pull_requests,actions,code_security
947947
```
948948

949949
2. **Using Environment Variable**:
950950
```bash
951-
GITHUB_TOOLSETS="repos,issues,pull_requests,actions,code_security" ./github-mcp-server
951+
GITHUB_TOOLSETS="repos,issues,pull_requests,actions,code_security" ./github-mcp-http
952952
```
953953

954954
The environment variable `GITHUB_TOOLSETS` takes precedence over the command line argument if both are provided.
@@ -970,13 +970,13 @@ Note: This fork is designed to run behind an OAuth proxy like Pomerium. The MCP
970970
The special toolset `all` can be provided to enable all available toolsets regardless of any other configuration:
971971

972972
```bash
973-
./github-mcp-server --toolsets all
973+
./github-mcp-http --toolsets all
974974
```
975975

976976
Or using the environment variable:
977977

978978
```bash
979-
GITHUB_TOOLSETS="all" ./github-mcp-server
979+
GITHUB_TOOLSETS="all" ./github-mcp-http
980980
```
981981

982982
## Dynamic Tool Discovery
@@ -992,7 +992,7 @@ Instead of starting with all tools enabled, you can turn on dynamic toolset disc
992992
When using the binary, you can pass the `--dynamic-toolsets` flag.
993993

994994
```bash
995-
./github-mcp-server --dynamic-toolsets
995+
./github-mcp-http --dynamic-toolsets
996996
```
997997

998998
When using Docker, you can pass the toolsets as environment variables:
@@ -1010,7 +1010,7 @@ To run the server in read-only mode, you can use the `--read-only` flag. This wi
10101010
> **Alternative with Pomerium**: Instead of using this hard-coded flag, you can use [Pomerium's dynamic authorization policies](https://www.pomerium.com/docs/capabilities/mcp#authorization-policies) to control which tools are accessible on a per-user or per-group basis, offering more flexibility than a global read-only mode.
10111011

10121012
```bash
1013-
./github-mcp-server --read-only
1013+
./github-mcp-http --read-only
10141014
```
10151015

10161016
When using Docker, you can pass the read-only mode as an environment variable:
@@ -1048,7 +1048,7 @@ the hostname for GitHub Enterprise Server or GitHub Enterprise Cloud with data r
10481048
## i18n / Overriding Descriptions
10491049

10501050
The descriptions of the tools can be overridden by creating a
1051-
`github-mcp-server-config.json` file in the same directory as the binary.
1051+
`github-mcp-http-config.json` file in the same directory as the binary.
10521052

10531053
The file should contain a JSON object with the tool names as keys and the new
10541054
descriptions as values. For example:
@@ -1068,8 +1068,8 @@ any new translations that have been added to the binary since the last time you
10681068
exported.
10691069

10701070
```sh
1071-
./github-mcp-server --export-translations
1072-
cat github-mcp-server-config.json
1071+
./github-mcp-http --export-translations
1072+
cat github-mcp-http-config.json
10731073
```
10741074

10751075
You can also use ENV vars to override the descriptions. The environment
@@ -1092,7 +1092,7 @@ The exported Go API of this module should currently be considered unstable, and
10921092
GitHub provides two official MCP server options:
10931093

10941094
1. **GitHub's Remote Server** (Closed-Source, Hosted) - Available at https:api.githubcopilot.com/mcp/, this is GitHub's official hosted HTTP MCP server with built-in OAuth support
1095-
2. **GitHub's Open-Source Server** - The [official open-source repository](https://github.com/github/github-mcp-server) supports stdio transport only for local development with Personal Access Tokens (PATs)
1095+
2. **GitHub's Open-Source Server** - The [official open-source repository](https://github.com/github/github-mcp-http) supports stdio transport only for local development with Personal Access Tokens (PATs)
10961096

10971097
This fork provides an open-source HTTP alternative for self-hosted enterprise deployments:
10981098

@@ -1111,7 +1111,7 @@ This fork provides an open-source HTTP alternative for self-hosted enterprise de
11111111

11121112
## Contributing
11131113

1114-
This is a fork for demonstrating HTTP streamable transport with per-request OAuth. For issues with the core GitHub MCP functionality, please refer to the [official repository](https://github.com/github/github-mcp-server).
1114+
This is a fork for demonstrating HTTP streamable transport with per-request OAuth. For issues with the core GitHub MCP functionality, please refer to the [official repository](https://github.com/github/github-mcp-http).
11151115

11161116
For issues specific to the HTTP transport implementation, feel free to open an issue in this repository.
11171117

@@ -1121,4 +1121,4 @@ This project is licensed under the terms of the MIT open source license. Please
11211121

11221122
## Acknowledgments
11231123

1124-
This fork builds upon the excellent work by the GitHub team on the [official GitHub MCP Server](https://github.com/github/github-mcp-server). The HTTP streamable transport additions demonstrate patterns for enterprise MCP deployments with OAuth-based multi-user authentication and fine-grained authorization.
1124+
This fork builds upon the excellent work by the GitHub team on the [official GitHub MCP Server](https://github.com/github/github-mcp-http). The HTTP streamable transport additions demonstrate patterns for enterprise MCP deployments with OAuth-based multi-user authentication and fine-grained authorization.

e2e/e2e_test.go

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ import (
1515
"testing"
1616
"time"
1717

18-
"github.com/github/github-mcp-server/internal/ghmcp"
19-
"github.com/github/github-mcp-server/pkg/github"
20-
"github.com/github/github-mcp-server/pkg/translations"
18+
"github.com/github/github-mcp-http/internal/ghmcp"
19+
"github.com/github/github-mcp-http/pkg/github"
20+
"github.com/github/github-mcp-http/pkg/translations"
2121
gogithub "github.com/google/go-github/v74/github"
2222
mcpClient "github.com/mark3labs/mcp-go/client"
2323
"github.com/mark3labs/mcp-go/mcp"
@@ -77,7 +77,7 @@ func getRESTClient(t *testing.T) *gogithub.Client {
7777
func ensureDockerImageBuilt(t *testing.T) {
7878
buildOnce.Do(func() {
7979
t.Log("Building Docker image for e2e tests...")
80-
cmd := exec.Command("docker", "build", "-t", "github/e2e-github-mcp-server", ".")
80+
cmd := exec.Command("docker", "build", "-t", "github/e2e-github-mcp-http", ".")
8181
cmd.Dir = ".." // Run this in the context of the root, where the Dockerfile is located.
8282
output, err := cmd.CombinedOutput()
8383
buildError = err
@@ -146,7 +146,7 @@ func setupMCPClient(t *testing.T, options ...clientOption) *mcpClient.Client {
146146
}
147147

148148
// Add the image name
149-
args = append(args, "github/e2e-github-mcp-server")
149+
args = append(args, "github/e2e-github-mcp-http")
150150

151151
// Construct the env vars for the MCP Client to execute docker with
152152
dockerEnvVars := []string{
@@ -202,7 +202,7 @@ func setupMCPClient(t *testing.T, options ...clientOption) *mcpClient.Client {
202202

203203
result, err := client.Initialize(ctx, request)
204204
require.NoError(t, err, "failed to initialize client")
205-
require.Equal(t, "github-mcp-server", result.ServerInfo.Name, "unexpected server name")
205+
require.Equal(t, "github-mcp-http", result.ServerInfo.Name, "unexpected server name")
206206

207207
return client
208208
}
@@ -300,7 +300,7 @@ func TestTags(t *testing.T) {
300300
currentOwner := trimmedGetMeText.Login
301301

302302
// Then create a repository with a README (via autoInit)
303-
repoName := fmt.Sprintf("github-mcp-server-e2e-%s-%d", t.Name(), time.Now().UnixMilli())
303+
repoName := fmt.Sprintf("github-mcp-http-e2e-%s-%d", t.Name(), time.Now().UnixMilli())
304304
createRepoRequest := mcp.CallToolRequest{}
305305
createRepoRequest.Params.Name = "create_repository"
306306
createRepoRequest.Params.Arguments = map[string]any{
@@ -438,7 +438,7 @@ func TestFileDeletion(t *testing.T) {
438438
currentOwner := trimmedGetMeText.Login
439439

440440
// Then create a repository with a README (via autoInit)
441-
repoName := fmt.Sprintf("github-mcp-server-e2e-%s-%d", t.Name(), time.Now().UnixMilli())
441+
repoName := fmt.Sprintf("github-mcp-http-e2e-%s-%d", t.Name(), time.Now().UnixMilli())
442442
createRepoRequest := mcp.CallToolRequest{}
443443
createRepoRequest.Params.Name = "create_repository"
444444
createRepoRequest.Params.Arguments = map[string]any{
@@ -627,7 +627,7 @@ func TestDirectoryDeletion(t *testing.T) {
627627
currentOwner := trimmedGetMeText.Login
628628

629629
// Then create a repository with a README (via autoInit)
630-
repoName := fmt.Sprintf("github-mcp-server-e2e-%s-%d", t.Name(), time.Now().UnixMilli())
630+
repoName := fmt.Sprintf("github-mcp-http-e2e-%s-%d", t.Name(), time.Now().UnixMilli())
631631
createRepoRequest := mcp.CallToolRequest{}
632632
createRepoRequest.Params.Name = "create_repository"
633633
createRepoRequest.Params.Arguments = map[string]any{
@@ -822,7 +822,7 @@ func TestRequestCopilotReview(t *testing.T) {
822822
currentOwner := trimmedGetMeText.Login
823823

824824
// Then create a repository with a README (via autoInit)
825-
repoName := fmt.Sprintf("github-mcp-server-e2e-%s-%d", t.Name(), time.Now().UnixMilli())
825+
repoName := fmt.Sprintf("github-mcp-http-e2e-%s-%d", t.Name(), time.Now().UnixMilli())
826826
createRepoRequest := mcp.CallToolRequest{}
827827
createRepoRequest.Params.Name = "create_repository"
828828
createRepoRequest.Params.Arguments = map[string]any{
@@ -970,7 +970,7 @@ func TestAssignCopilotToIssue(t *testing.T) {
970970
currentOwner := trimmedGetMeText.Login
971971

972972
// Then create a repository with a README (via autoInit)
973-
repoName := fmt.Sprintf("github-mcp-server-e2e-%s-%d", t.Name(), time.Now().UnixMilli())
973+
repoName := fmt.Sprintf("github-mcp-http-e2e-%s-%d", t.Name(), time.Now().UnixMilli())
974974
createRepoRequest := mcp.CallToolRequest{}
975975
createRepoRequest.Params.Name = "create_repository"
976976
createRepoRequest.Params.Arguments = map[string]any{
@@ -1073,7 +1073,7 @@ func TestPullRequestAtomicCreateAndSubmit(t *testing.T) {
10731073
currentOwner := trimmedGetMeText.Login
10741074

10751075
// Then create a repository with a README (via autoInit)
1076-
repoName := fmt.Sprintf("github-mcp-server-e2e-%s-%d", t.Name(), time.Now().UnixMilli())
1076+
repoName := fmt.Sprintf("github-mcp-http-e2e-%s-%d", t.Name(), time.Now().UnixMilli())
10771077
createRepoRequest := mcp.CallToolRequest{}
10781078
createRepoRequest.Params.Name = "create_repository"
10791079
createRepoRequest.Params.Arguments = map[string]any{
@@ -1233,7 +1233,7 @@ func TestPullRequestReviewCommentSubmit(t *testing.T) {
12331233
currentOwner := trimmedGetMeText.Login
12341234

12351235
// Then create a repository with a README (via autoInit)
1236-
repoName := fmt.Sprintf("github-mcp-server-e2e-%s-%d", t.Name(), time.Now().UnixMilli())
1236+
repoName := fmt.Sprintf("github-mcp-http-e2e-%s-%d", t.Name(), time.Now().UnixMilli())
12371237
createRepoRequest := mcp.CallToolRequest{}
12381238
createRepoRequest.Params.Name = "create_repository"
12391239
createRepoRequest.Params.Arguments = map[string]any{
@@ -1478,7 +1478,7 @@ func TestPullRequestReviewDeletion(t *testing.T) {
14781478
currentOwner := trimmedGetMeText.Login
14791479

14801480
// Then create a repository with a README (via autoInit)
1481-
repoName := fmt.Sprintf("github-mcp-server-e2e-%s-%d", t.Name(), time.Now().UnixMilli())
1481+
repoName := fmt.Sprintf("github-mcp-http-e2e-%s-%d", t.Name(), time.Now().UnixMilli())
14821482
createRepoRequest := mcp.CallToolRequest{}
14831483
createRepoRequest.Params.Name = "create_repository"
14841484
createRepoRequest.Params.Arguments = map[string]any{

0 commit comments

Comments
 (0)