Skip to main content
Glama
kintil555

mcp-github-push

by kintil555

mcp-github-push

軽量な MCP サーバーで、Claude(または他の MCP クライアント)に、コンピューター上で git clone / git pull することなくプロジェクトを直接 GitHub に push する機能を提供します。GitHub の標準コネクターに代わり、トークンの消費を抑え、ローカルストレージを圧迫しないように作られました。

ターミナル CLIです。npm でインストールし、トークンを一度設定すれば、あとは MCP クライアントに登録するだけです。

組み込みの GitHub コネクタとの違い

  • ディスクにはクローンしません。 すべての操作は GitHub REST / Git Data API を直接使用するため、ローカルストレージを消費しません。

  • 複数のファイルを 1 つのコミットにまとめます。 Git Data API(blob → tree → commit → ref)を使って、複数のファイル変更を 1 つのきれいなコミットにまとめるため、ファイルごとのコミットを大量に生成しません。

  • push 前に確認が必須です。 変更内容の概要を表示する github_preview_push を先に呼び出す必要があります。github_push_confirmed は、ユーザーが明示的に承認した後にのみ呼び出すことができます。

  • トークンはローカルに安全に保存されます。 設定ファイルのパーミッションは 600 で、所有者ユーザーのみ読み取れます。

Related MCP server: github-pr-mcp

インストール

オプション A — Node.js 不要(ビルド済み実行ファイル)

Node.js を一切インストールする必要はありません。OS に合わせたバイナリを Releases ページ からダウンロードしてください:

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

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

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

ターミナルから実行します:

# 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 exe file in the 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 recommended) with Contents: Read and write with Permission for the repository you want to use.

  2. When prompted, paste the token (input is masked in the terminal).

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

Register with MCP client

Add it to your MCP client config (e.g., Claude Desktop's 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

Verify the token is valid and show the scope

github_repo_exists

Check if the repository exists

github_create_repo

Create a new repository

github_read_file

Read the contents of a file from the repository

github_preview_push

Preview changes before push (does not change anything)

github_push_confirmed

Actual push — only runs after the user has approved

Other CLI commands

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

Build from source

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

GitHub Actions CI automatically builds and type-checks on every push/PR to main, and publishes to npm when a new release tag is created.

Security

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

  • Use a fine-grained PAT restricted to specific repositories, not a classic token with full access.

  • Set an expiration date for the token and rotate it periodically.

  • github_push_confirmed is designed so that the AI model cannot push without the confirmed: true parameter — also ensure your MCP client shows the tool call for user review before it is executed.

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
    B
    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.
    204 npm
    MIT