Skip to content

docs: Add go install as a first-class installation method #2364

Open

Description

@kaovilai

Note

Responses generated with Claude

Problem

The README currently documents Docker/container as the primary installation method, with "Build from source" (go build) as a fallback framed as "If you don't have Docker." There's no mention of go install, which is the standard one-liner for installing Go binaries.

Proposed change

Add go install alongside the container option as a first-class installation method:

go install github.com/github/github-mcp-server/cmd/github-mcp-server@latest

Then configure the MCP client to use the local binary:

{
  "mcpServers": {
    "github": {
      "command": "github-mcp-server",
      "args": ["stdio"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
      }
    }
  }
}

Why

  • One command, no clone needed — go install fetches, builds, and places the binary in $GOPATH/bin in one step
  • Faster startup — no container overhead on each MCP server launch
  • No Docker/Podman dependency — many developers have Go installed but not a container runtime
  • Lower resource usage — containerized MCP servers consume memory even when idle, limiting the number of IDEs or agent terminals that can run concurrently. A native binary uses no resources when not actively handling a request.
  • Safe — the binary only makes outbound HTTP calls to the GitHub API via stdio; container isolation adds no meaningful security benefit here
  • Standard Go practice — go install is the idiomatic way to distribute Go CLI tools

Verified

Tested on macOS (darwin/arm64):

$ go install github.com/github/github-mcp-server/cmd/github-mcp-server@latest
go: downloading github.com/github/github-mcp-server v1.0.1
$ github-mcp-server --version
GitHub MCP Server - Version: version

Activity

  1. nanami7777777 commented on Nov 8, 2026

    @nanami7777777

    Opened #3745 — uses the /v2 module path (go install github.com/github/github-mcp-server/v2/cmd/github-mcp-server@latest); the path in the original proposal resolves to the pre-v2 v1.14.0 module.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions