Skip to main content
Glama
kintil555

mcp-github-push

by kintil555

mcp-github-push

A lightweight MCP server that gives Claude (or other MCP clients) the ability to push projects directly to GitHub, without git clone/git pull on your computer. Built as a more token-efficient GitHub connector that doesn't fill up local storage.

It comes as a terminal CLI — install via npm, set up the token once, then register it with your MCP client.

Why is this different from the built-in GitHub connector?

  • Doesn't clone the repo. All operations go directly through the GitHub REST/Git Data API, so no local storage is consumed.

  • One commit for many files. It uses the Git Data API (blob → tree → commit), so changes across multiple files become one clean commit instead of commit spam per file.

  • Confirmation is required before pushing. A github_preview_push tool must be called first to show the summary of changes; github_push_confirmed may only be called after the user has given explicit approval.

  • The token is stored locally and securely. The config file has 600 permissions and can only be read by the owning user.

Related MCP server: github-pr-mcp

Installation

Option A — Without Node.js (ready-to-use executable)

No need to install Node.js at all. Download the binary for your OS from the Releases page:

  • Windows: mcp-github-push-win-x64.exe

  • Linux: mcp-github-push-linux-x64

  • macOS: mcp-github-push-macos-x64

Run it from the terminal:

# Windows (PowerShell/CMD)
mcp-github-push-win-x64.exe setup

# Linux/macOS
chmod +x mcp-github-push-linux-x64
./mcp-github-push-linux-x64 setup

Then register the full path to the executable in your MCP client config:

{
  "mcpServers": {
    "github-push": {
      "command": "C:\\path\\ke\\mcp-github-push-win-x64.exe",
      "args": ["start"]
    }
  }
}

Option B — Via npm (requires Node.js 18+)

npx @kintil555/mcp-github-push setup

Follow the instructions:

  1. Create a Personal Access Token (fine-grained is recommended) with the Contents: Read and write scope for the repo you want to use.

  2. Paste the token when prompted (input is masked in the terminal).

  3. The token is verified automatically and saved at ~/.config/mcp-github-push/config.json.

Register with an MCP client

Add it to your MCP client config (e.g., Claude Desktop claude_desktop_config.json):

{
  "mcpServers": {
    "github-push": {
      "command": "npx",
      "args": ["-y", "@kintil555/mcp-github-push", "start"]
    }
  }
}

Restart the client. The tools available to Claude are:

Tool

Function

github_whoami

Check that the token is valid and see its scope

github_repo_exists

Check whether the repo exists

github_create_repo

Create a new repo

github_read_file

Read a file's contents from a repo

github_preview_push

Preview the changes of a push (doesn't change anything)

github_push_confirmed

Actually push — only runs after the user approves

Other CLI commands

npx @kintil555/mcp-github-push status   # cek token masih valid
npx @kintil555/mcp-github-push logout   # hapus token tersimpan

Building from source

git clone https://github.com/kintil555/mcp-github-push.git
cd mcp-github-push
npm install
npm run build

CIHub Actions automatically builds and type-checks every push/PR to main, and releases to npm when a new release tag is built.

Security

  • The token is stored in ~/.config/mcp-github-push/config.json with permission 600.

  • Use fine-grained PAT restricted to specific repos, not classic tokens with full access.

  • Set expiration for the token and rotate it periodically.

  • github_push_tool is designed so the AI model can't push without the confirmed: true parameter — make sure your MCP client also shows the tool call to the user for review before execution.

License

MIT

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables to interact with GitHub repositories directly from Claude, supporting actions like viewing repos, checking status, committing and pushing changes, and managing pull requests.
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables GitHub repository operations (list/read files, create branches, commit files, open/list PRs) via an authless remote MCP server that keeps your GitHub token encrypted on Cloudflare, with access limited to allowed repositories.
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables a connected Claude account to create, update, and commit files to GitHub repositories directly through MCP tools, removing the need for manual git push operations.
    71 npm
    MIT