Skip to main content
Glama
kintil555

mcp-github-push

by kintil555

mcp-github-push

Claude(또는 다른 MCP 클라이언트)에게 프로젝트를 GitHub에 직접 push할 수 있는 기능을 제공하는 경량 MCP 서버입니다. 컴퓨터에서 git clone/git pull 없이 동작합니다. 토큰을 절약하고 로컬 저장소를 채우지 않는 GitHub 커넥터 대안으로 만들어졌습니다.

CLI 터미널 형태입니다 — npm으로 설치하고, 토큰을 한 번 설정한 다음, MCP 클라이언트에 등록하면 됩니다.

기본 GitHub 커넥터와 다른 점

  • 저장소를 디스크에 clone하지 않습니다. 모든 작업은 GitHub REST/Git Data API를 통해 직접 수행되므로 로컬 저장 공간을 차지하지 않습니다.

  • 여러 파일을 하나의 커밋으로. Git Data API(blob → tree → commit → ref)를 사용하여 여러 파일의 변경 사항을 하나의 깔끔한 커밋으로 만들며, 파일별 커밋 스팸이 없습니다.

  • push 전에 반드시 확인. 변경 요약을 표시하는 github_preview_push 도구를 먼저 호출해야 하며, github_push_confirmed는 사용자가 명시적으로 승인한 후에만 호출할 수 있습니다.

  • 토큰은 로컬에 안전하게 저장. 구성 파일 권한은 600이며, 소유 사용자만 읽을 수 있습니다.

Related MCP server: github-pr-mcp

설치

옵션 A — Node.js 없이 (실행 가능한 바이너리)

Node.js를 전혀 설치할 필요가 없습니다. 릴리스 페이지에서 OS에 맞는 바이너리를 다운로드하세요:

  • 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

그런 다음 MCP 클라이언트 구성에 exe 파일의 전체 경로를 등록하세요:

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

옵션 B — npm 사용 (Node.js 18+ 필요)

npx @kintil555/mcp-github-push setup

지침을 따르세요:

  1. 사용하려는 저장소에 대해 Contents: Read and write 범위로 Personal Access Token을 만드세요(세분화된(fine-grained) 토큰 권장).

  2. 요청 시 토큰을 붙여넣으세요(터미널에서 입력이 가려집니다).

  3. 토큰은 자동으로 검증되어 ~/.config/mcp-github-push/config.json에 저장됩니다.

MCP 클라이언트에 등록

MCP 클라이언트 구성(예: Claude Desktop claude_desktop_config.json)에 추가하세요:

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

클라이언트를 다시 시작하세요. Claude가 사용할 수 있는 도구는 다음과 같습니다:

도구

기능

github_whoami

토큰이 유효한지 확인하고 범위 확인

github_repo_exists

저장소가 존재하는지 확인

github_create_repo

새 저장소 만들기

github_read_file

저장소에서 파일 내용 읽기

github_preview_push

push 전에 변경 사항 미리 보기(아무것도 변경하지 않음)

github_push_confirmed

실제 push — 사용자가 동의한 후에만 실행

기타 CLI 명령

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

소스에서 빌드

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

GitHub Actions의 CI는 main 브랜치에 push/PR이 있을 때마다 자동으로 빌드 및 타입 검사를 수행하고, 새 릴리스 태그가 생성되면 npm에 게시합니다.

보안

  • 토큰은 ~/.config/mcp-github-push/config.json에 권한 600으로 저장됩니다.

  • 전체 액세스 권한이 있는 클래식 토큰 대신 특정 저장소로 제한된 세분화된(fine-grained) PAT를 사용하세요.

  • 토큰 만료 기간을 설정하고 주기적으로 교체하세요.

  • github_push_confirmed는 AI 모델이 confirmed: true 매개변수 없이 push할 수 없도록 설계되었습니다 — MCP 클라이언트가 실행 전에 사용자가 검토할 수 있도록 도구 호출을 표시하는지 확인하세요.

라이선스

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