GitHub MCP Server 2.0.3: our test log

GitHub MCP Server 2.0.3 started over stdio in a median 266 ms and listed 46 tools in a median 15 ms; we did not make any authenticated call.

Tested by us on 2026-10-26. Local open-weight model, not the vendor's hosted models. A smoke test on a CPU-only box, not a benchmark.

Result at a glance

GitHub MCP Server test record
FieldValue
ResultPassed
Version tested2.0.3
Date and time2026-10-26, 09:42 CDT (America/Chicago)
TaskA small Python client written with the official MCP Python SDK spawns the server as a child process over stdio with a placeholder access token (not a real credential), times the initialize handshake (spawn to initialize result) and one tools/list, three cold starts. Pass means initialize succeeds and the tool list comes back. No request is sent to the vendor's service. Numbers are milliseconds on the rig described on the methodology page.
Model usednone (no language model involved)
HardwareLinux x86_64 virtual machine (Debian 13), 8 vCPU (Intel Xeon, 1 thread per core), 15 GiB RAM, no GPU
Cold start (3 runs)295 ms, 266 ms, 199 ms; median 266 ms
tools/list (3 runs)14.9 ms, 19.2 ms, 8.0 ms
Tools advertised46

What we found

  • It advertised 46 tools (read and write: issues, pull requests, branches, files).
  • The Go binary needs no runtime: 1 s to download and unpack, 29 MB.

What we ran, step by step

Commands run, wall-clock time and exit code
StepWall timeExit codeNotes
Download release binary1.03 s0Linux x86_64 release tarball from GitHub releases; a 29 MB Go binary. Load 13.70.
Handshake and tools/list, 3 cold startsn/a0github-mcp-server 2.0.3 (protocol 2025-11-25). Cold start 295, 266, 199 ms (median 266); tools/list 14.9, 19.2, 8.0 ms; 46 tools. Load 13.70 to 14.84.
Exact commands (paths shortened)
# Download release binary
cd work/ghmcp && curl -sL -o g.tgz https://github.com/github/github-mcp-server/releases/download/v2.0.3/github-mcp-server_Linux_x86_64.tar.gz && tar xzf g.tgz && ls -la github-mcp-server && ./github-mcp-server --version

# Handshake and tools/list, 3 cold starts
GITHUB_PERSONAL_ACCESS_TOKEN=<placeholder> work/ghmcp/github-mcp-server stdio

Raw output (excerpts)

Tools the server advertised (first 12)
add_comment_to_pending_review, add_issue_comment, add_reply_to_pull_request_comment, assign_copilot_to_issue, create_branch, create_or_update_file, create_pull_request, create_repository, delete_file, fork_repository, get_commit, get_file_contents ...

Gotchas and things that broke

  • We always set the token variable (to a placeholder); we did not test what happens with it unset, and the server did not reject the placeholder at startup.

What we did not test

  • Any authenticated call: we used a placeholder token, so no request reached the vendor's API and we did not check that real accounts, permissions or rate limits work.
  • Remote (HTTP) transport and concurrent clients: only local stdio with one client was run.
  • Anything about answer quality: no model was involved in the handshake and tool-list check.
  • A single smoke-test run set (three starts); it is not a benchmark.

Reproduce it

Versions change. These commands install whatever is latest on the day you run them unless a version is pinned, so expect different results later. The version we measured is in the table above.

curl -sL -o g.tgz https://github.com/github/github-mcp-server/releases/download/v2.0.3/github-mcp-server_Linux_x86_64.tar.gz && tar xzf g.tgz
GITHUB_PERSONAL_ACCESS_TOKEN=<your token> ./github-mcp-server stdio

How to read this test

Every number on this page was measured on this one machine, which also ran other jobs, so timings are indicative and vary run to run. A pass means our small task worked once or as stated, a fail means it did not work as we ran it; neither says how the tool behaves with a vendor's frontier model, on a GPU, or at scale. Where a tool could not run without an account or a GPU, we say so instead of guessing.

See the testing rig for the hardware, the local model and the rules we follow, and the test hub for every other test.

  • MCP Everything (reference) server: MCP Everything (reference) server answered over stdio in 356 ms cold (v1.0.0, Node 20) and 252 ms (v2.0.1, Node 24); median call 0.5 to 0.4 ms.
  • MCP Fetch server: The MCP Fetch server 2026.10.24 refused to fetch a local test page by default (a deliberate loopback block); with --allow-private-ips it fetched it in 698.3 ms median.
  • MCP Filesystem server: MCP Filesystem server answered over stdio in 279 ms cold (v1.0.0, Node 20) and 187 ms (v2.0.1, Node 24); median call 0.8 to 1.0 ms.
  • MCP Git server: The MCP Git server 2026.10.19 started in 512 ms, listed 12 tools and answered git_status in 3.2 ms median.
  • MCP Inspector (CLI mode): MCP Inspector listed the filesystem server's 14 tools from the command line on both 0.15.0 (Node 20) and 2.12.0 (Node 24) in under a second; the 2.x install is smaller.
  • MCP Memory server: MCP Memory server answered over stdio in 284 ms cold (v1.0.0, Node 20) and 147 ms (v2.0.0, Node 24); median call 0.9 to 0.6 ms.

All test logs · How we test

FAQ

Does GitHub MCP Server need an account?

Yes for real use: it calls the vendor's API with an access token you create. For this test we used a placeholder token, which was enough for the server to start and list its tools but means no API call was exercised.

Sources

Markdown version for agents: /tests/github-mcp-server.md