Git Repo Browser MCP

by bsreeram08
Verified

hybrid server

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

Integrations

  • Provides tools for Git repository operations including browsing directory structures, reading files, searching code, comparing branches, viewing commit history, and checking local changes.

  • Enables browsing and analyzing GitHub repositories, including retrieving file contents, searching code, and examining commit history across branches.

  • Integrates with GitHub Actions for CI/CD workflows, specifically for automating npm package publishing when changes are pushed to the master branch.

MCP Git 리포 브라우저(Node.js)

MCP(Model Context Protocol)를 사용하는 Git 저장소 브라우저의 Node.js 구현입니다.

설치

NPM(추천)

지엑스피1

수동 설치

git clone https://github.com/bsreeram08/git-commands-mcp.git cd git-commands-mcp npm install

구성

MCP 설정 구성 파일에 다음을 추가하세요.

{ "mcpServers": { "git-commands-mcp": { "command": "git-commands-mcp" } } }

수동 설치의 경우 다음을 사용하세요.

{ "mcpServers": { "git-commands-mcp": { "command": "node", "args": ["/path/to/git-commands-mcp/src/index.js"] } } }

특징

서버는 다음과 같은 도구를 제공합니다.

기본 저장소 작업

  1. git_directory_structure : 저장소의 디렉토리 구조를 트리 형태로 표현한 것을 반환합니다.
    • 입력: 저장소 URL
    • 출력: 저장소 구조의 ASCII 트리 표현
  2. git_read_files : 저장소에 있는 지정된 파일의 내용을 읽고 반환합니다.
    • 입력: 저장소 URL 및 파일 경로 목록
    • 출력: 파일 경로를 해당 내용에 매핑하는 사전
  3. git_search_code : 저장소 코드에서 패턴을 검색합니다.
    • 입력: 저장소 URL, 검색 패턴, 선택적 파일 패턴, 대소문자 구분 및 컨텍스트 줄
    • 출력: 일치하는 줄과 컨텍스트를 포함한 검색 결과가 포함된 JSON

지점 운영

  1. git_branch_diff : 두 개의 브랜치를 비교하고 두 브랜치 사이에서 변경된 파일을 표시합니다.
    • 입력: 저장소 URL, 소스 브랜치, 대상 브랜치 및 선택적 show_patch 플래그
    • 출력: 커밋 수와 diff 요약이 포함된 JSON

커밋 작업

  1. git_commit_history : 선택적 필터링을 사용하여 브랜치의 커밋 기록을 가져옵니다.
    • 입력: 저장소 URL, 브랜치 이름, 최대 개수, 작성자 필터, 시작일, 종료일 및 메시지 grep
    • 출력: 커밋 세부 정보가 포함된 JSON
  2. git_commits_details : 전체 메시지와 diff를 포함한 커밋에 대한 자세한 정보를 가져옵니다.
    • 입력: 저장소 URL, 브랜치 이름, 최대 개수, include_diff 플래그, 작성자 필터, 시작일, 종료일 및 메시지 grep
    • 출력: 자세한 커밋 정보가 포함된 JSON
  3. git_local_changes : 작업 디렉토리에서 커밋되지 않은 변경 사항을 가져옵니다.
    • 입력: 로컬 저장소 경로
    • 출력: 상태 정보 및 차이점이 포함된 JSON

프로젝트 구조

git-commands-mcp/ ├── src/ │ ├── index.js # Entry point │ ├── server.js # Main server implementation │ ├── handlers/ # Tool handlers │ │ └── index.js # Tool implementation functions │ └── utils/ # Utility functions │ └── git.js # Git-related helper functions ├── package.json └── readme.md

구현 세부 사항

  • 핵심 기능을 위해 Node.js 네이티브 모듈(crypto, path, os)을 사용합니다.
  • 향상된 파일 작업을 위해 fs-extra를 활용합니다.
  • Git 저장소 작업에 simple-git을 사용합니다.
  • 깔끔한 오류 처리 및 리소스 정리를 구현합니다.
  • 저장소 URL 해시를 기반으로 결정론적 임시 디렉토리를 생성합니다.
  • 효율성을 위해 가능한 경우 복제된 저장소를 재사용합니다.
  • 더 나은 유지 관리를 위한 모듈식 코드 구조

요구 사항

  • Node.js 14.x 이상
  • 시스템에 Git 설치

용법

npm을 통해 전역적으로 설치하는 경우:

git-commands-mcp

수동으로 설치한 경우:

node src/index.js

서버는 stdio에서 실행되므로 MCP 클라이언트와 호환됩니다.

CI/CD

이 프로젝트에서는 지속적인 통합 및 배포를 위해 GitHub Actions를 사용합니다.

자동 NPM 게시

저장소는 변경 사항이 마스터 브랜치에 푸시되면 자동으로 패키지를 npm에 게시하는 GitHub Actions 워크플로로 구성됩니다.

NPM_AUTOMATION_TOKEN 설정

자동 게시를 활성화하려면 npm Automation 토큰을 GitHub 비밀번호로 추가해야 합니다(2FA가 활성화된 계정에서도 작동합니다).

  1. npm 자동화 토큰을 생성합니다.
    • npmjs.com 에서 npm 계정에 로그인하세요
    • 프로필 설정으로 이동하세요
    • "액세스 토큰"을 선택하세요
    • "새로운 토큰 생성"을 클릭하세요
    • "자동화" 토큰 유형을 선택하세요
    • 적절한 권한을 설정합니다(패키지에 대해 "읽기 및 쓰기" 권한이 필요함)
    • 생성된 토큰을 복사하세요
  2. GitHub 저장소에 토큰을 추가합니다.
    • GitHub 저장소로 이동하세요
    • "설정" > "비밀 및 변수" > "작업"으로 이동합니다.
    • "새로운 저장소 비밀"을 클릭하세요
    • 이름: NPM_AUTOMATION_TOKEN
    • 값: npm 자동화 토큰을 붙여넣으세요
    • "비밀 추가"를 클릭하세요

구성이 완료되면, 마스터 브랜치에 푸시를 하면 npm에 패키지를 게시하는 워크플로가 트리거됩니다.

특허

MIT 라이센스 - 자세한 내용은 LICENSE 파일을 참조하세요.

모래밭

-
security - not tested
A
license - permissive license
-
quality - not tested

모델 컨텍스트 프로토콜을 통해 Git 저장소를 탐색할 수 있는 Node.js 구현으로, 디렉토리 구조 표시, 파일 읽기, 코드 검색, 브랜치 비교, 커밋 기록 보기와 같은 기능을 제공합니다.

  1. Installation
    1. NPM (Recommended)
    2. Manual Installation
  2. Configuration
    1. Features
      1. Basic Repository Operations
      2. Branch Operations
      3. Commit Operations
    2. Project Structure
      1. Implementation Details
        1. Requirements
          1. Usage
            1. CI/CD
              1. Automatic NPM Publishing
            2. License
              1. Links
                ID: tfrxgx5ocf