MCP Hub
Back to servers

GitHub MCP Server

Enables AI models to create and manage GitHub repositories, branches, and files directly through a personal access token. This Docker-friendly server facilitates repository administration and content updates without requiring a local clone.

Updated
Feb 13, 2026

GitHub MCP Server (Node + TypeScript)

Docker-friendly Model Context Protocol server that lets Codex create and manage GitHub repositories with a single personal access token (PAT).

Features

  • create_repository: create a repo under the authenticated user or a given org.
  • upsert_file: create/update files with commit messages on a branch.
  • create_branch: branch off any ref (defaults from main).
  • whoami: show the PAT identity.

Requirements

  • Node 20+ (or Docker).
  • GitHub PAT in GITHUB_TOKEN with at least repo scope (or public_repo if you only touch public repos).
  • For org repos, ensure the token can create repos in that org and that SSO/org policies allow it.

Local dev

npm install
npm run dev

Docker build and run

docker build -t github-mcp .
docker run -i --rm -e GITHUB_TOKEN=... github-mcp

Wire up to Codex (VS Code)

The server speaks MCP over stdio. Configure Codex to start it with:

{
  "mcpServers": {
    "github-mcp": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "GITHUB_TOKEN", "github-mcp"]
    }
  }
}
[mcp_servers.github-mcp]
command = "docker"
args = ["run", "-i", "--rm", "--env-file", "pathToEnv", "github-mcp"]

Important: use "-e", "GITHUB_TOKEN" (without =${GITHUB_TOKEN}) when the command is launched directly (non-shell), so Docker forwards the host GITHUB_TOKEN value correctly.

Notes and safety

  • The server uses your PAT directly; treat it like a password.
  • Actions are direct commits; there is no local clone.
  • If you need organization SAML, approve the PAT for that org first.

Extending

  • Add tools via server.tool(name, { description, inputSchema }, handler) in src/index.ts.

Reviews

No reviews yet

Sign in to write a review