Skip to main content
Glama

Git MCP Server

Git MCP 서버

Git 저장소와 상호 작용할 수 있는 도구를 제공하는 MCP(Model Context Protocol) 서버입니다. LLM 및 AI 에이전트가 MCP 표준을 통해 복제, 커밋, 푸시, 풀, 브랜치, 디프, 로그, 상태 등의 Git 작업을 수행할 수 있도록 지원합니다.

cyanheads/mcp-ts-template 기반으로 구축된 이 서버는 모듈식 아키텍처를 따릅니다.

개발자 참고 사항 : 이 저장소에는 LLM 코딩 에이전트에 대한 개발자용 요약표 역할을 하는 .clinerules 파일이 포함되어 있으며, 코드베이스 패턴, 파일 위치, 코드 조각에 대한 빠른 참조가 포함되어 있습니다.

목차

| 개요 | 기능 | 설치 |

| 구성 | 프로젝트 구조 |

| 도구 | 리소스 | 개발 | 라이센스 |

개요

원활한 Git 통합으로 AI 에이전트와 개발 도구를 강화하세요!

Git MCP 서버는 브리지 역할을 하여 고급 AI 어시스턴트(LLM), IDE 확장 프로그램 또는 사용자 정의 스크립트와 같이 모델 컨텍스트 프로토콜(MCP)을 이해하는 애플리케이션(MCP 클라이언트)이 로컬 Git 저장소와 직접 안전하게 상호 작용할 수 있도록 합니다.

복잡한 스크립팅이나 수동 CLI 대신 도구를 사용하여 이 서버를 활용하여 다음을 수행할 수 있습니다.

  • Git 워크플로 자동화 : 저장소 복제, 브랜치 생성, 변경 사항 스테이지, 작업 커밋, 업데이트 푸시, 태그를 프로그래밍 방식으로 관리합니다.
  • 저장소 통찰력 얻기 : 호스트 애플리케이션을 벗어나지 않고도 상태를 확인하고, 로그를 보고, 변경 사항을 비교하고, Git 객체를 검사합니다.
  • AI 기반 개발에 Git 통합 : LLM이 코딩이나 리팩토링 작업의 일부로 버전 제어를 관리할 수 있도록 지원합니다.

강력한 mcp-ts-template 기반으로 구축된 이 서버는 MCP 표준을 통해 Git 기능을 제공하는 표준화되고 안전하며 효율적인 방법을 제공합니다. Node.js의 child_process 모듈을 사용하여 시스템에 설치된 표준 git 명령줄 도구를 안전하게 실행함으로써 호환성을 보장하고 Git의 모든 기능을 활용합니다.

특징

핵심 유틸리티(템플릿에서)

mcp-ts-template 이 제공하는 강력한 유틸리티를 활용합니다.

  • 로깅 : 민감한 데이터 삭제 기능을 갖춘 구조화되고 구성 가능한 로깅(파일 로테이션, 콘솔, MCP 알림)
  • 오류 처리 : 중앙 집중식 오류 처리, 표준화된 오류 유형( McpError ), 자동 로깅.
  • 구성 : 환경 변수 로딩( dotenv ).
  • 입력 검증/정리 : 스키마 검증 및 사용자 정의 정리 논리(경로에 필수)에 zod 사용합니다.
  • 요청 컨텍스트 : 고유한 요청 ID를 통해 작업을 추적하고 상관 관계를 파악합니다.
  • 타입 안전성 : TypeScript와 Zod 스키마에 의해 강화된 강력한 타입 지정.
  • HTTP 전송 옵션 : SSE, 세션 관리, CORS 지원 기능을 갖춘 내장 Express 서버입니다.

Git 작업

  • 직접 Git CLI 실행 : Node.js child_process 통해 표준 git 명령줄 도구를 안전하게 실행하여 Git과 상호 작용하고, Git 기능에 대한 완전한 호환성과 액세스를 보장합니다.
  • 포괄적인 명령 범위 : MCP 도구로서 광범위한 Git 명령을 공개합니다( 도구 섹션 참조).
  • 저장소 상호작용 : 상태 확인, 분기, 스테이징, 커밋, 페칭, 풀링, 푸싱, 디프, 로깅, 재설정, 태그 지정 등을 지원합니다.
  • 작업 디렉토리 관리 : 여러 Git 작업에서 컨텍스트 지속성을 위해 세션별 작업 디렉토리를 설정하고 지울 수 있습니다.
  • 안전 기능 : git cleangit reset --hard 와 같이 잠재적으로 파괴적인 작업에 대한 검사를 포함하고 명시적인 확인을 요구합니다.
  • 커밋 서명 : 검증된 커밋에 대한 GPG 또는 SSH 서명을 지원하며, GIT_SIGN_COMMITS 환경 변수와 서버 측 Git 설정을 통해 제어됩니다. 서명 실패 시 서명되지 않은 커밋으로 돌아가는 선택적 도구 매개변수가 포함되어 있습니다.

설치

필수 조건

npm을 통해 설치

  1. 패키지를 전역으로 설치합니다.지엑스피1

소스에서 설치

  1. 저장소를 복제합니다.
    git clone https://github.com/cyanheads/git-mcp-server.git cd git-mcp-server
  2. 종속성 설치:
    npm install
  3. 프로젝트를 빌드하세요:
    npm run build (or `npm run rebuild`)
    이렇게 하면 TypeScript 코드가 dist/ 디렉토리의 JavaScript로 컴파일되고 진입점이 실행 가능하게 됩니다.

구성

환경 변수

환경 변수를 사용하여 서버를 구성하세요. 프로젝트 루트에 .env 파일을 생성하거나( .env.example 에서 복사) 환경 변수에 설정하세요.

변하기 쉬운설명기본
MCP_TRANSPORT_TYPE전송 메커니즘: stdio 또는 http .stdio
MCP_HTTP_PORTHTTP 서버의 포트( MCP_TRANSPORT_TYPE=http 인 경우). 사용 중이면 다음 포트를 재시도합니다.3010
MCP_HTTP_HOSTHTTP 서버의 호스트 주소( MCP_TRANSPORT_TYPE=http 인 경우).127.0.0.1
MCP_ALLOWED_ORIGINSCORS에 허용되는 출처의 쉼표로 구분된 목록( MCP_TRANSPORT_TYPE=http 인 경우).(없음)
MCP_LOG_LEVEL로깅 수준( debug , info , notice , warning , error , crit , alert , emerg ). 템플릿에서 상속됨.info
GIT_SIGN_COMMITSgit_commit 도구에서 수행된 커밋에 대한 서명 시도를 활성화하려면 "true" 로 설정합니다. 서버 측 Git/키 설정이 필요합니다(아래 참조).false
MCP_AUTH_SECRET_KEY인증 토큰 서명/검증을 위한 비밀 키(향후 인증이 활성화되는 경우 필요).''

MCP 클라이언트 설정

MCP 클라이언트 설정에 다음을 추가합니다(예: cline_mcp_settings.json ):

{ "mcpServers": { "git-mcp-server": { // Use a descriptive name "command": "node", // Use node to run the script "args": ["/path/to/your/git-mcp-server/dist/index.js"], // Absolute path to the built entry point "env": { // "MCP_TRANSPORT_TYPE": "http", // Optional: if using http // "MCP_HTTP_PORT": "3010", // Optional: if using http and non-default port // "GIT_SIGN_COMMITS": "true" // Optional: Enable commit signing attempts if server is configured }, "disabled": false, "autoApprove": [] // Configure auto-approval rules if desired } } }

프로젝트 구조

코드베이스는 src/ 디렉토리 내에서 모듈식 구조를 따릅니다.

src/ ├── index.ts # Entry point: Initializes and starts the server ├── config/ # Configuration loading (env vars, package info) │ └── index.ts ├── mcp-server/ # Core MCP server logic and capability registration │ ├── server.ts # Server setup, capability registration │ ├── transports/ # Transport handling (stdio, http) │ ├── resources/ # MCP Resource implementations (currently none) │ └── tools/ # MCP Tool implementations (subdirs per tool) ├── types-global/ # Shared TypeScript type definitions └── utils/ # Common utility functions (logger, error handler, etc.)

자세한 파일 트리를 보려면 npm run tree 실행하거나 docs/tree.md를 참조하세요.

도구

Git MCP 서버는 모델 컨텍스트 프로토콜을 통해 호출 가능한, Git 저장소와 상호작용하기 위한 도구 모음을 제공합니다.

도구 이름설명주요 주장
git_add지정된 파일이나 패턴을 단계적으로 실행합니다.path? , files?
git_branch지점을 관리합니다(나열, 생성, 삭제, 이름 바꾸기, 현재 지점 표시).path? , mode , branchName? , newBranchName? , startPoint? , force? , all? , remote?
git_checkout브랜치를 전환하거나 작업 트리 파일을 복원합니다.path? , branchOrPath , newBranch? force?
git_cherry_pick기존 커밋으로 인해 도입된 변경 사항을 적용합니다.path? , commitRef , mainline? , strategy? , noCommit? signoff?
git_clean추적되지 않는 파일을 제거합니다. force: true 필요합니다 .path? , force , dryRun? directories? , ignored?
git_clear_working_dir세션별 작업 디렉토리를 지웁니다.(없음)
git_clone지정된 절대 경로에 저장소를 복제합니다.repositoryUrl , targetPath , branch? depth? quiet?
git_commit단계적 변경 사항을 커밋합니다. 작성자 재정의 및 서명 제어를 지원합니다.path? , message , author? , allowEmpty? , amend? , forceUnsignedOnFailure?
git_diff커밋, 작업 트리 등의 변경 사항을 보여줍니다.path? , commit1? commit2? staged? , file?
git_fetch다른 저장소에서 객체와 참조를 다운로드합니다.path? , remote? , prune? , tags? , all?
git_init지정된 절대 경로에 새 Git 저장소를 초기화합니다. 초기 브랜치의 기본값은 'main'입니다.path , initialBranch? , bare? , quiet?
git_log커밋 로그를 보여줍니다.path? , maxCount? , author? , since? , until? , branchOrFile?
git_merge지정된 브랜치를 현재 브랜치에 병합합니다.path? , branch , commitMessage? noFf? squash? , abort?
git_pull다른 저장소나 로컬 브랜치에서 가져와서 통합합니다.path? , remote? , branch? , rebase? , ffOnly?
git_push로컬 참조를 사용하여 원격 참조를 업데이트합니다.path? , remote? , branch? , remoteBranch? ?, force? , forceWithLease? setUpstream? tags? , delete?
git_rebase다른 기본 팁 위에 커밋을 다시 적용합니다.path? , mode? , upstream? , branch? , interactive? , strategy? , strategyOption? , onto?
git_remote원격 저장소를 관리합니다(나열, 추가, 제거, 표시).path? , mode , name? , url?
git_reset현재 HEAD를 지정된 상태로 재설정합니다. 소프트, 혼합, 하드 모드를 지원합니다. 'hard'는 주의해서 사용하세요 .path? , mode? , commit?
git_set_working_dir기본 작업 디렉터리를 설정합니다. 저장소가 없는 경우 선택적으로 초기화할 수 있습니다. 절대 경로가 필요합니다.path , validateGitRepo? initializeIfNotPresent?
git_showGit 객체(커밋, 태그 등)에 대한 정보를 표시합니다.path? , ref , filePath?
git_stash저장된 변경 사항을 관리합니다(목록, 적용, 팝업, 삭제, 저장).path? , mode , stashRef? message?
git_status저장소 상태(브랜치, 스테이징, 수정됨, 추적되지 않은 파일)를 가져옵니다.path?
git_tag태그를 관리합니다(목록, 주석/가벼운 태그 생성, 삭제).path? , mode , tagName? , message? , commitRef? , annotate?
git_worktreeGit 작업 트리를 관리합니다(나열, 추가, 제거, 이동, 정리).path? , mode , worktreePath? , commitish? , newBranch? , force? , detach? , newPath? , verbose? , dryRun? expire?

참고: 대부분 도구의 path 매개변수는 git_set_working_dir 통해 설정된 경우 세션의 작업 디렉토리로 기본 설정됩니다.

자원

이 버전(v2.0.12)에서는 MCP 리소스가 구현되지 않았습니다.

이 버전은 최신 mcp-ts-template 및 MCP SDK v1.12.0을 기반으로 리팩토링된 Git 도구 구현에 중점을 둡니다. 이전에 제공되었던 리소스 기능은 이번 주요 업데이트에서 일시적으로 제거되었습니다.

MCP 리소스 액세스가 필요한 경우(예: 서버를 통해 파일 콘텐츠를 직접 읽는 경우) 안정적인 v1.2.4 릴리스를 사용하세요.

향후 개발에서는 후속 릴리스에서 리소스 기능이 다시 도입될 수 있습니다.

참고: 이 버전(v2.0.0)은 최신 MCP SDK를 기반으로 핵심 Git 도구의 리팩토링 및 업데이트에 중점을 두고 있습니다. MCP 리소스 기능은 이 버전에 구현되어 있지 않습니다. 리소스에 액세스하려면 v1.2.4를 사용하세요.

개발

빌드 및 테스트

# Build the project (compile TS to JS in dist/ and make executable) npm run build # Test the server locally using the MCP inspector tool (stdio transport) npm run inspector # Test the server locally using the MCP inspector tool (http transport) npm run inspector:http # Clean build artifacts (runs scripts/clean.ts) npm run clean # Generate a file tree representation for documentation (runs scripts/tree.ts) npm run tree # Clean build artifacts and then rebuild the project npm run rebuild # Start the server using stdio (default) npm start # Or explicitly: npm run start:stdio # Start the server using HTTP transport npm run start:http

특허

이 프로젝트는 Apache License 2.0에 따라 라이선스가 부여되었습니다. 자세한 내용은 LICENSE 파일을 참조하세요.


You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

대규모 언어 모델이 강력한 API를 통해 Git 저장소와 상호 작용할 수 있도록 하는 모델 컨텍스트 프로토콜 서버로, 저장소 초기화, 복제, 파일 스테이징, 커밋, 브랜치 관리와 같은 작업을 지원합니다.

  1. 목차
    1. 개요
      1. 특징
        1. 핵심 유틸리티(템플릿에서)
        2. Git 작업
      2. 설치
        1. 필수 조건
        2. npm을 통해 설치
        3. 소스에서 설치
      3. 구성
        1. 환경 변수
        2. MCP 클라이언트 설정
      4. 프로젝트 구조
        1. 도구
          1. 자원
            1. 개발
              1. 빌드 및 테스트
            2. 특허

              Related MCP Servers

              • -
                security
                A
                license
                -
                quality
                A Model Context Protocol server for Git repository interaction and automation. This server provides tools to read, search, and manipulate Git repositories via Large Language Models.
                Last updated -
                12
                52,814
                Python
                MIT License
              • A
                security
                F
                license
                A
                quality
                A Model Context Protocol server that enables AI models to interact with GitHub's API, allowing for repository creation and management with descriptions, topics, and website URLs through natural language commands.
                Last updated -
                1
                JavaScript
              • A
                security
                A
                license
                A
                quality
                A Model Context Protocol server that enables interaction with GitLab accounts to manage repositories, merge requests, code reviews, and CI/CD pipelines through natural language.
                Last updated -
                41
                2
                TypeScript
                MIT License
                • Apple
              • A
                security
                A
                license
                A
                quality
                A Model Context Protocol server that helps large language models process code repositories by providing file tree generation, code merging, and code analysis capabilities.
                Last updated -
                3
                14
                JavaScript
                MIT License

              View all related MCP servers

              MCP directory API

              We provide all the information about MCP servers via our MCP API.

              curl -X GET 'https://glama.ai/api/mcp/v1/servers/cyanheads/git-mcp-server'

              If you have feedback or need assistance with the MCP directory API, please join our Discord server