Git MCP 서버
Git
MCP-server-git은 Git 저장소 상호 작용 및 자동화를 위한 Model Context Protocol 서버입니다. 이 서버는 대규모 언어 모델(LLM)을 통해 Git 저장소를 읽고, 검색하고, 조작하는 도구를 제공합니다.
mcp-server-git은 현재 초기 개발 단계에 있으며, 기능과 사용 가능한 도구는 서버를 개발하고 개선함에 따라 변경 및 확장될 수 있습니다.
특징
- Git 저장소의 상태 및 변경 사항 검사
- 로컬 저장소의 파일 조작 및 관리
- 커밋, 브랜치 생성 및 변경 이력 조회
- 브랜치 전환 및 관리
- 새 저장소 초기화
API
도구
git_status
작업 트리 상태 표시
- 입력:
-
repo_path(문자열): Git 저장소 경로 -
반환: 텍스트 출력으로 작업 디렉토리의 현재 상태
git_diff_unstaged
아직 스테이징되지 않은 작업 디렉토리의 변경 사항 표시
- 입력:
-
repo_path(문자열): Git 저장소 경로 -
반환: 스테이징되지 않은 변경 사항의 diff 출력
git_diff_staged
커밋을 위해 스테이징된 변경 사항 표시
- 입력:
-
repo_path(문자열): Git 저장소 경로 -
반환: 스테이징된 변경 사항의 diff 출력
git_diff
브랜치 또는 커밋 간의 차이점 표시
- 입력:
repo_path(문자열): Git 저장소 경로-
target(문자열): 비교할 대상 브랜치 또는 커밋 -
반환: 현재 상태와 대상을 비교하는 diff 출력
git_commit
저장소에 변경 사항 기록
- 입력:
repo_path(문자열): Git 저장소 경로-
message(문자열): 커밋 메시지 -
반환: 새 커밋 해시가 포함된 확인
git_add
스테이징 영역에 파일 내용 추가
- 입력:
repo_path(문자열): Git 저장소 경로-
files(문자열[]): 스테이징할 파일 경로 배열 -
반환: 스테이징된 파일 확인
git_reset
모든 스테이징된 변경 사항 되돌리기
- 입력:
-
repo_path(문자열): Git 저장소 경로 -
반환: 리셋 작업 확인
git_log
커밋 로그 표시
- 입력:
repo_path(문자열): Git 저장소 경로-
max_count(숫자, 선택적): 표시할 최대 커밋 수(기본값: 10) -
반환: 해시, 작성자, 날짜 및 메시지가 포함된 커밋 항목 배열
git_create_branch
새 브랜치 생성
- 입력:
repo_path(문자열): Git 저장소 경로branch_name(문자열): 새 브랜치 이름-
start_point(문자열, 선택적): 새 브랜치의 시작점 -
반환: 브랜치 생성 확인
git_checkout
브랜치 전환
- 입력:
repo_path(문자열): Git 저장소 경로-
branch_name(문자열): 체크아웃할 브랜치 이름 -
반환: 브랜치 전환 확인
git_show
커밋 내용 표시
- 입력:
repo_path(문자열): Git 저장소 경로-
revision(문자열): 표시할 리비전(커밋 해시, 브랜치 이름, 태그) -
반환: 지정된 커밋의 내용
git_init
Git 저장소 초기화
- 입력:
-
repo_path(문자열): Git 저장소를 초기화할 디렉토리 경로 -
반환: 저장소 초기화 확인
사용 방법
설치
uv 사용(권장)
uv를 사용할 때는 특별한 설치가 필요하지 않습니다. uvx를 사용하여 mcp-server-git을 직접 실행합니다.
PIP 사용
또는 pip를 통해 mcp-server-git을 설치할 수 있습니다:
pip install mcp-server-git
설치 후 스크립트로 실행할 수 있습니다:
python -m mcp_server_git
구성
Claude Desktop에서 사용
claude_desktop_config.json에 다음을 추가하세요:
uvx 사용
"mcpServers": {
"git": {
"command": "uvx",
"args": ["mcp-server-git", "--repository", "path/to/git/repo"]
}
}
Docker 사용
참고: '/Users/username'을 이 도구가 액세스할 수 있어야 하는 경로로 바꿉니다.
"mcpServers": {
"git": {
"command": "docker",
"args": ["run", "--rm", "-i", "--mount", "type=bind,src=/Users/username,dst=/Users/username", "mcp/git"]
}
}
pip 설치 사용
"mcpServers": {
"git": {
"command": "python",
"args": ["-m", "mcp_server_git", "--repository", "path/to/git/repo"]
}
}
VS Code에서 사용
VS Code User Settings(JSON) 파일에 다음 JSON 블록을 추가하세요. Ctrl + Shift + P를 누르고 Preferences: Open Settings (JSON)를 입력하여 이 작업을 수행할 수 있습니다.
선택적으로 작업 공간의 .vscode/mcp.json 파일에 추가할 수 있습니다. 이렇게 하면 다른 사람과 구성을 공유할 수 있습니다.
.vscode/mcp.json 파일에서는 mcp 키가 필요하지 않습니다.
{
"mcp": {
"servers": {
"git": {
"command": "uvx",
"args": ["mcp-server-git"]
}
}
}
}
Docker 설치의 경우:
{
"mcp": {
"servers": {
"git": {
"command": "docker",
"args": ["run", "--rm", "-i", "--mount", "type=bind,src=${workspaceFolder},dst=/workspace", "mcp/git"]
}
}
}
}
Zed에서 사용
Zed settings.json에 추가하세요:
uvx 사용
"context_servers": [
"mcp-server-git": {
"command": {
"path": "uvx",
"args": ["mcp-server-git"]
}
}
],
pip 설치 사용
"context_servers": {
"mcp-server-git": {
"command": {
"path": "python",
"args": ["-m", "mcp_server_git"]
}
}
},
디버깅
MCP 인스펙터를 사용하여 서버를 디버깅할 수 있습니다. uvx 설치의 경우:
npx @modelcontextprotocol/inspector uvx mcp-server-git
또는 특정 디렉토리에 패키지를 설치했거나 개발 중인 경우:
cd path/to/servers/src/git
npx @modelcontextprotocol/inspector uv run mcp-server-git
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log를 실행하면 서버의 로그가 표시되고 문제를 디버깅하는 데 도움이 될 수 있습니다.
개발
로컬 개발을 하는 경우 변경 사항을 테스트하는 두 가지 방법이 있습니다:
- MCP 인스펙터를 실행하여 변경 사항을 테스트합니다. 실행 지침은 '디버깅'을 참조하세요.
- Claude 데스크톱 앱을 사용하여 테스트합니다.
claude_desktop_config.json에 다음을 추가하세요:
Docker
{
"mcpServers": {
"git": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"--mount",
"type=bind,src=/Users/username/Desktop,dst=/projects/Desktop",
"--mount",
"type=bind,src=/path/to/other/allowed/dir,dst=/projects/other/allowed/dir,ro",
"--mount",
"type=bind,src=/path/to/file.txt,dst=/projects/path/to/file.txt",
"mcp/git"
]
}
}
}
UVX
{
"mcpServers": {
"git": {
"command": "uv",
"args": [
"--directory",
"/<path to mcp-servers>/mcp-servers/src/git",
"run",
"mcp-server-git"
]
}
}
}
빌드
Docker 빌드:
cd src/git
docker build -t mcp/git .
라이선스
이 MCP 서버는 MIT 라이선스에 따라 라이선스가 부여됩니다. 이는 MIT 라이선스의 약관 및 조건에 따라 소프트웨어를 자유롭게 사용, 수정 및 배포할 수 있음을 의미합니다. 자세한 내용은 프로젝트 저장소의 LICENSE 파일을 참조하세요.