Git MCP Server — Anthropic의 공식 레퍼런스 (누락된 푸시 버튼 포함)

발행: (2026년 3월 25일 PM 06:17 GMT+9)
4 분 소요
원문: Dev.to

Source: Dev.to

한눈에 보기

~81,700 스타(모노레포), 12개 도구, 주당 약 256 K PyPI 다운로드, 전체 2.4 M PulseMCP (전 세계 #17). 평점: 3/5

12개의 도구. 푸시 없음. 이것이 Git MCP 서버의 핵심이다.

12가지 도구

git_status
git_diff_unstaged
git_diff_staged
git_diff
git_add
git_reset
git_commit
git_log
git_show
git_create_branch
git_checkout
git_branch

로컬 레포지토리 작업에 필요한 모든 것을 제공하며, 커밋까지 수행한 뒤 키보드를 다시 돌려준다.

작동하는 항목

  • Zero‑dependency 설정 — API 키나 계정이 필요 없으며, 레포지토리를 지정하면 바로 사용 가능.
  • 2025년 12월까지 3개의 CVE가 패치된 후 보안 강화 (플래그 인젝션 방지, 경로 검증, git_init 제거).
  • 잘 설계된 diff — unstaged, staged, ref 비교를 위한 세 개의 별도 도구.
  • 날짜 기반 로그 필터링start_timestamp/end_timestamp를 사용해 “지난 주에 무엇이 바뀌었는지” 확인.
  • 테스트 커버리지 100 %.

작동하지 않는 항목

  • 푸시, 풀, 페치가 없음 — Issue #618이 13개월째 열려 있고, PR #2961은 2025년 11월 이후로 전혀 다루어지지 않음.
  • 머지나 리베이스가 없음 — 브랜치를 만들 수는 있지만 작업을 다시 통합할 수 없음.
  • stash, tag, blame이 없음 — 필수 작업이 누락됨.
  • git_reset은 전체 적용 방식 — 특정 파일만 언스테이징 할 수 없음.
  • stdio 전용 — HTTP/SSE 전송이 없음.

세 가지 CVE (모두 패치됨)

CVE‑2025‑68143 (CVSS 8.8)

git_init이 임의의 경로를 허용함. 수정: 완전히 제거함.

CVE‑2025‑68144 (CVSS 8.1)

git_diff/git_checkout에서 인자 인젝션 발생. 수정: 입력 정화.

CVE‑2025‑68145 (CVSS 7.1)

--repository에서 경로 탐색 우회. 수정: 적절한 검증.

이러한 취약점은 Filesystem MCP 서버와 연계되어 Git의 smudge/clean 필터 메커니즘을 통해 원격 코드 실행(RCE)을 일으킬 수 있음.

커뮤니티 대안과 비교

  • cyanheads/git-mcp-server (199 스타, 28 도구) — 푸시, 풀, 머지, 리베이스, stash, tag, blame, clone, worktree 지원. Stdio + 스트리밍 HTTP. Apache 2.0.
  • GitKraken MCP Server — git + 다중 플랫폼 이슈 트래킹 (GitHub, GitLab, Bitbucket, Azure DevOps, Jira).

결론

평점: 3/5 — Git 워크플로의 절반을 견고하게 구현함. 제공되는 12개의 도구는 잘 만들어졌지만 푸시/풀/머지가 없어 읽고 커밋하는 서버에 불과함. cyanheads의 커뮤니티 서버(28 도구)나 GitKraken이 전체 워크플로에 더 적합함. 이는 보안이 강화된 최소 기준이므로, 필요에 따라 추가 기능을 보완해야 함.

원본은 ChatForest에 게시되었습니다. 우리는 문서와 GitHub 레포지토리를 통해 서버를 조사하며, 직접 테스트는 하지 않습니다. About ChatForest.

0 조회
Back to Blog

관련 글

더 보기 »

Git Clone vs Remote Add: 첫 단계의 전쟁

git clone: 원클릭 매직 git clone을 “Download Project”(프로젝트 다운로드) 버튼이라고 생각하세요. 다음과 같이 실행하면: ```bash git clone https://github.com/company/project.git ``` Git은 …

소수

소수란 무엇인가? 중요한 참고 사항 - 1 이하의 숫자는 소수가 아니다 JavaScript javascript let num = Numberprompt'Enter a number: '; let div...

나는 Httpx를 포크했습니다

제공된 URL에서 내용을 가져올 수 없어 요청하신 대로 기사를 정리하고 포맷할 수 없습니다. 기사 텍스트를 직접 제공해 주시면...