GitHub MCP Server

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Enables file operations, repository management, and search functionality for the GitHub API. Capabilities include creating/updating files, pushing changes, repository creation and forking, branch management, issue and pull request operations, and searching across GitHub repositories, issues, and users.

GitHub MCP 서버

GitHub API를 위한 MCP 서버로, 파일 작업, 저장소 관리, 검색 기능 등을 제공합니다.

특징

  • 자동 브랜치 생성 : 파일을 생성/업데이트하거나 변경 사항을 푸시할 때 브랜치가 없으면 자동으로 생성됩니다.
  • 포괄적인 오류 처리 : 일반적인 문제에 대한 명확한 오류 메시지
  • Git 기록 보존 : 운영자는 강제 푸시 없이 적절한 Git 기록을 유지합니다.
  • 일괄 작업 : 단일 파일 및 다중 파일 작업 모두 지원
  • 고급 검색 : 코드, 이슈/PR 및 사용자 검색 지원

도구

  1. create_or_update_file
    • 저장소에서 단일 파일을 생성하거나 업데이트합니다.
    • 입력:
      • owner (문자열): 저장소 소유자(사용자 이름 또는 조직)
      • repo (문자열): 저장소 이름
      • path (문자열): 파일을 생성/업데이트할 경로
      • content (문자열): 파일의 내용
      • message (문자열): 커밋 메시지
      • branch (문자열): 파일을 생성/업데이트할 브랜치
      • sha (선택적 문자열): 교체되는 파일의 SHA(업데이트용)
    • 반환: 파일 내용 및 커밋 세부 정보
  2. push_files
    • 단일 커밋에 여러 파일 푸시
    • 입력:
      • owner (문자열): 저장소 소유자
      • repo (문자열): 저장소 이름
      • branch (문자열): 푸시할 브랜치
      • files (배열): 푸시할 파일, 각각 pathcontent
      • message (문자열): 커밋 메시지
    • 반환: 업데이트된 지점 참조
  3. search_repositories
    • GitHub 저장소 검색
    • 입력:
      • query (문자열): 검색 쿼리
      • page (선택적 숫자): 페이지 번호
      • perPage (선택적 숫자): 페이지당 결과(최대 100개)
    • 반환: 저장소 검색 결과
  4. create_repository
    • 새로운 GitHub 저장소를 만듭니다
    • 입력:
      • name (문자열): 저장소 이름
      • description (선택적 문자열): 저장소 설명
      • private (선택적 부울): 저장소를 비공개로 설정해야 하는지 여부
      • autoInit (선택적 부울): README로 초기화
    • 반환: 생성된 저장소 세부 정보
  5. get_file_contents
    • 파일이나 디렉토리의 내용을 가져옵니다
    • 입력:
      • owner (문자열): 저장소 소유자
      • repo (문자열): 저장소 이름
      • path (문자열): 파일/디렉토리 경로
      • branch (선택적 문자열): 콘텐츠를 가져올 지점
    • 반환: 파일/디렉토리 내용
  6. create_issue
    • 새로운 이슈를 생성하세요
    • 입력:
      • owner (문자열): 저장소 소유자
      • repo (문자열): 저장소 이름
      • title (문자열): 이슈 제목
      • body (선택적 문자열): 문제 설명
      • assignees (선택적 문자열[]): 할당할 사용자 이름
      • labels (선택적 문자열[]): 추가할 레이블
      • milestone (선택적 숫자): 마일스톤 번호
    • 반환: 문제 세부 정보 생성됨
  7. create_pull_request
    • 새로운 풀 리퀘스트를 만듭니다
    • 입력:
      • owner (문자열): 저장소 소유자
      • repo (문자열): 저장소 이름
      • title (문자열): PR 제목
      • body (선택적 문자열): PR 설명
      • head (문자열): 변경 사항을 포함하는 브랜치
      • base (문자열): 병합할 브랜치
      • draft (선택적 부울): PR 초안으로 생성
      • maintainer_can_modify (선택적 부울): 유지 관리자 편집 허용
    • 반환: 풀 리퀘스트 세부정보 생성됨
  8. fork_repository
    • 저장소 포크하기
    • 입력:
      • owner (문자열): 저장소 소유자
      • repo (문자열): 저장소 이름
      • organization (선택적 문자열): 포크할 조직
    • 반환: 포크된 저장소 세부 정보
  9. create_branch
    • 새로운 지점을 만드세요
    • 입력:
      • owner (문자열): 저장소 소유자
      • repo (문자열): 저장소 이름
      • branch (문자열): 새 브랜치의 이름
      • from_branch (선택적 문자열): 소스 브랜치(기본값은 repo 기본값)
    • 반환: 생성된 브랜치 참조
  10. list_issues
  • 저장소 문제 나열 및 필터링
  • 입력:
    • owner (문자열): 저장소 소유자
    • repo (문자열): 저장소 이름
    • state (선택적 문자열): 상태('open', 'closed', 'all')로 필터링
    • labels (선택적 문자열[]): 레이블로 필터링
    • sort (선택적 문자열): ('생성됨', '업데이트됨', '댓글')로 정렬
    • direction (선택적 문자열): 정렬 방향 ('asc', 'desc')
    • since (선택적 문자열): 날짜(ISO 8601 타임스탬프)로 필터링
    • page (선택 번호): 페이지 번호
    • per_page (선택적 숫자): 페이지당 결과
  • 반환: 문제 세부 정보 배열
  1. update_issue
  • 기존 문제 업데이트
  • 입력:
    • owner (문자열): 저장소 소유자
    • repo (문자열): 저장소 이름
    • issue_number (숫자): 업데이트할 이슈 번호
    • title (선택 문자열): 새 제목
    • body (선택적 문자열): 새로운 설명
    • state (선택적 문자열): 새로운 상태('열림' 또는 '닫힘')
    • labels (선택적 문자열[]): 새 레이블
    • assignees (선택적 문자열[]): 새로운 담당자
    • milestone (선택적 숫자): 새로운 마일스톤 숫자
  • 반품: 업데이트된 문제 세부 정보
  1. add_issue_comment
  • 문제에 대한 의견을 추가하세요
  • 입력:
    • owner (문자열): 저장소 소유자
    • repo (문자열): 저장소 이름
    • issue_number (숫자): 의견을 제시할 호 번호
    • body (문자열): 댓글 텍스트
  • 반환: 생성된 댓글 세부 정보
  1. search_code
  • GitHub 저장소에서 코드 검색
  • 입력:
    • q (문자열): GitHub 코드 검색 구문을 사용한 검색 쿼리
    • sort (선택적 문자열): 정렬 필드('인덱스'만 해당)
    • order (선택적 문자열): 정렬 순서('asc' 또는 'desc')
    • per_page (선택적 숫자): 페이지당 결과(최대 100개)
    • page (선택 번호): 페이지 번호
  • 반환: 저장소 컨텍스트가 포함된 코드 검색 결과
  1. search_issues
  • 이슈 검색 및 풀 리퀘스트
  • 입력:
    • q (문자열): GitHub 이슈 검색 구문을 사용한 검색 쿼리
    • sort (선택적 문자열): 정렬 필드(댓글, 반응, 생성 등)
    • order (선택적 문자열): 정렬 순서('asc' 또는 'desc')
    • per_page (선택적 숫자): 페이지당 결과(최대 100개)
    • page (선택 번호): 페이지 번호
  • 반환: 이슈 및 풀 리퀘스트 검색 결과
  1. search_users
  • GitHub 사용자 검색
  • 입력:
    • q (문자열): GitHub 사용자 검색 구문을 사용한 검색 쿼리
    • sort (선택적 문자열): 정렬 필드(팔로워, 저장소, 가입)
    • order (선택적 문자열): 정렬 순서('asc' 또는 'desc')
    • per_page (선택적 숫자): 페이지당 결과(최대 100개)
    • page (선택 번호): 페이지 번호
  • 반환: 사용자 검색 결과
  1. list_commits
  • 저장소의 브랜치 커밋을 가져옵니다.
  • 입력:
    • owner (문자열): 저장소 소유자
    • repo (문자열): 저장소 이름
    • page (선택적 문자열): 페이지 번호
    • per_page (선택적 문자열): 페이지당 레코드 수
    • sha (선택적 문자열): 지점 이름
  • 반환: 커밋 목록
  1. get_issue
  • 저장소 내의 이슈 내용을 가져옵니다.
  • 입력:
    • owner (문자열): 저장소 소유자
    • repo (문자열): 저장소 이름
    • issue_number (숫자): 검색할 이슈 번호
  • 반환: Github 이슈 객체 및 세부 정보
  1. get_issue_comments
  • 이슈나 풀 리퀘스트에 대한 의견을 받습니다.
  • 입력:
    • owner (문자열): 저장소 소유자
    • repo (문자열): 저장소 이름
    • issue_number (숫자): 코멘트를 검색할 이슈/PR 번호
  • 반환: 댓글 ID, 본문 텍스트, 작성자 및 타임스탬프를 포함하는 GitHub 댓글 객체 배열

검색 쿼리 구문

코드 검색

  • language:javascript : 프로그래밍 언어로 검색
  • repo:owner/name : 특정 저장소에서 검색
  • path:app/src : 특정 경로에서 검색
  • extension:js : 파일 확장자로 검색
  • 예: q: "import express" language:typescript path:src/

문제 검색

  • is:issue 또는 is:pr : 유형별 필터링
  • is:open 또는 is:closed : 상태별 필터링
  • label:bug : 라벨로 검색
  • author:username : 작성자로 검색
  • 예: q: "memory leak" is:issue is:open label:bug

사용자 검색

  • type:user 또는 type:org : 계정 유형별 필터링
  • followers:>1000 : 팔로워로 필터링
  • location:London : 위치로 검색
  • 예: q: "fullstack developer" location:London followers:>100

자세한 검색 구문은 GitHub의 검색 문서를 참조하세요.

설정

개인 액세스 토큰

적절한 권한이 있는 GitHub 개인 액세스 토큰을 만듭니다 .

  • 개인 액세스 토큰 으로 이동하세요(GitHub 설정 > 개발자 설정)
  • 이 토큰이 액세스할 수 있는 저장소를 선택하세요(공개, 모두 또는 선택)
  • repo 범위("개인 저장소의 전체 제어")로 토큰을 생성합니다.
    • 또는 공개 저장소에서만 작업하는 경우 public_repo 범위만 선택하세요.
  • 생성된 토큰을 복사하세요

Claude Desktop과 함께 사용

Claude Desktop과 함께 사용하려면 claude_desktop_config.json 에 다음을 추가하세요.

지엑스피1

특허

이 MCP 서버는 MIT 라이선스에 따라 라이선스가 부여됩니다. 즉, MIT 라이선스의 조건에 따라 소프트웨어를 자유롭게 사용, 수정 및 배포할 수 있습니다. 자세한 내용은 프로젝트 저장소의 LICENSE 파일을 참조하세요.

-
security - not tested
F
license - not found
-
quality - not tested

GitHub API를 통해 GitHub과 상호 작용하여 파일 작업, 저장소 관리, 고급 검색, 포괄적인 오류 처리 및 자동 브랜치 생성을 통한 문제 추적을 지원합니다.

  1. Features
    1. Tools
      1. Search Query Syntax
        1. Code Search
        2. Issues Search
        3. Users Search
      2. Setup
        1. Personal Access Token
        2. Usage with Claude Desktop
      3. License
        ID: bnif4b1rh6