GitHub MCP 서버
GitHub API를 위한 MCP 서버로, 파일 작업, 저장소 관리, 검색 기능 등을 제공합니다.
특징
자동 브랜치 생성 : 파일을 생성/업데이트하거나 변경 사항을 푸시할 때 브랜치가 없으면 자동으로 생성됩니다.
포괄적인 오류 처리 : 일반적인 문제에 대한 명확한 오류 메시지
Git 기록 보존 : 운영자는 강제 푸시 없이 적절한 Git 기록을 유지합니다.
일괄 작업 : 단일 파일 및 다중 파일 작업 모두 지원
고급 검색 : 코드, 이슈/PR 및 사용자 검색 지원
도구
create_or_update_file저장소에서 단일 파일을 생성하거나 업데이트합니다.
입력:
owner(문자열): 저장소 소유자(사용자 이름 또는 조직)repo(문자열): 저장소 이름path(문자열): 파일을 생성/업데이트할 경로content(문자열): 파일의 내용message(문자열): 커밋 메시지branch(문자열): 파일을 생성/업데이트할 브랜치sha(선택적 문자열): 교체되는 파일의 SHA(업데이트용)
반환: 파일 내용 및 커밋 세부 정보
push_files단일 커밋에 여러 파일 푸시
입력:
owner(문자열): 저장소 소유자repo(문자열): 저장소 이름branch(문자열): 푸시할 브랜치files(배열): 푸시할 파일, 각각path와contentmessage(문자열): 커밋 메시지
반환: 업데이트된 지점 참조
search_repositoriesGitHub 저장소 검색
입력:
query(문자열): 검색 쿼리page(선택적 숫자): 페이지 번호perPage(선택적 숫자): 페이지당 결과(최대 100개)
반환: 저장소 검색 결과
create_repository새로운 GitHub 저장소를 만듭니다
입력:
name(문자열): 저장소 이름description(선택적 문자열): 저장소 설명private(선택적 부울): 저장소를 비공개로 설정해야 하는지 여부autoInit(선택적 부울): README로 초기화
반환: 생성된 저장소 세부 정보
get_file_contents파일이나 디렉토리의 내용을 가져옵니다
입력:
owner(문자열): 저장소 소유자repo(문자열): 저장소 이름path(문자열): 파일/디렉토리 경로branch(선택적 문자열): 콘텐츠를 가져올 지점
반환: 파일/디렉토리 내용
create_issue새로운 이슈를 생성하세요
입력:
owner(문자열): 저장소 소유자repo(문자열): 저장소 이름title(문자열): 이슈 제목body(선택적 문자열): 문제 설명assignees(선택적 문자열[]): 할당할 사용자 이름labels(선택적 문자열[]): 추가할 레이블milestone(선택적 숫자): 마일스톤 번호
반환: 문제 세부 정보 생성됨
create_pull_request새로운 풀 리퀘스트를 만듭니다
입력:
owner(문자열): 저장소 소유자repo(문자열): 저장소 이름title(문자열): PR 제목body(선택적 문자열): PR 설명head(문자열): 변경 사항을 포함하는 브랜치base(문자열): 병합할 브랜치draft(선택적 부울): PR 초안으로 생성maintainer_can_modify(선택적 부울): 유지 관리자 편집 허용
반환: 풀 리퀘스트 세부정보 생성됨
fork_repository저장소 포크하기
입력:
owner(문자열): 저장소 소유자repo(문자열): 저장소 이름organization(선택적 문자열): 포크할 조직
반환: 포크된 저장소 세부 정보
create_branch새로운 지점을 만드세요
입력:
owner(문자열): 저장소 소유자repo(문자열): 저장소 이름branch(문자열): 새 브랜치의 이름from_branch(선택적 문자열): 소스 브랜치(기본값은 repo 기본값)
반환: 생성된 브랜치 참조
list_issues
저장소 문제 나열 및 필터링
입력:
owner(문자열): 저장소 소유자repo(문자열): 저장소 이름state(선택적 문자열): 상태('open', 'closed', 'all')로 필터링labels(선택적 문자열[]): 레이블로 필터링sort(선택적 문자열): ('생성됨', '업데이트됨', '댓글')로 정렬direction(선택적 문자열): 정렬 방향 ('asc', 'desc')since(선택적 문자열): 날짜(ISO 8601 타임스탬프)로 필터링page(선택 번호): 페이지 번호per_page(선택적 숫자): 페이지당 결과
반환: 문제 세부 정보 배열
update_issue
기존 문제 업데이트
입력:
owner(문자열): 저장소 소유자repo(문자열): 저장소 이름issue_number(숫자): 업데이트할 이슈 번호title(선택 문자열): 새 제목body(선택적 문자열): 새로운 설명state(선택적 문자열): 새로운 상태('열림' 또는 '닫힘')labels(선택적 문자열[]): 새 레이블assignees(선택적 문자열[]): 새로운 담당자milestone(선택적 숫자): 새로운 마일스톤 숫자
반품: 업데이트된 문제 세부 정보
add_issue_comment
문제에 대한 의견을 추가하세요
입력:
owner(문자열): 저장소 소유자repo(문자열): 저장소 이름issue_number(숫자): 의견을 제시할 호 번호body(문자열): 댓글 텍스트
반환: 생성된 댓글 세부 정보
search_code
GitHub 저장소에서 코드 검색
입력:
q(문자열): GitHub 코드 검색 구문을 사용한 검색 쿼리sort(선택적 문자열): 정렬 필드('인덱스'만 해당)order(선택적 문자열): 정렬 순서('asc' 또는 'desc')per_page(선택적 숫자): 페이지당 결과(최대 100개)page(선택 번호): 페이지 번호
반환: 저장소 컨텍스트가 포함된 코드 검색 결과
search_issues
이슈 검색 및 풀 리퀘스트
입력:
q(문자열): GitHub 이슈 검색 구문을 사용한 검색 쿼리sort(선택적 문자열): 정렬 필드(댓글, 반응, 생성 등)order(선택적 문자열): 정렬 순서('asc' 또는 'desc')per_page(선택적 숫자): 페이지당 결과(최대 100개)page(선택 번호): 페이지 번호
반환: 이슈 및 풀 리퀘스트 검색 결과
search_users
GitHub 사용자 검색
입력:
q(문자열): GitHub 사용자 검색 구문을 사용한 검색 쿼리sort(선택적 문자열): 정렬 필드(팔로워, 저장소, 가입)order(선택적 문자열): 정렬 순서('asc' 또는 'desc')per_page(선택적 숫자): 페이지당 결과(최대 100개)page(선택 번호): 페이지 번호
반환: 사용자 검색 결과
list_commits
저장소의 브랜치 커밋을 가져옵니다.
입력:
owner(문자열): 저장소 소유자repo(문자열): 저장소 이름page(선택적 문자열): 페이지 번호per_page(선택적 문자열): 페이지당 레코드 수sha(선택적 문자열): 지점 이름
반환: 커밋 목록
get_issue
저장소 내의 이슈 내용을 가져옵니다.
입력:
owner(문자열): 저장소 소유자repo(문자열): 저장소 이름issue_number(숫자): 검색할 이슈 번호
반환: Github 이슈 객체 및 세부 정보
get_pull_request
특정 풀 리퀘스트의 세부 정보 가져오기
입력:
owner(문자열): 저장소 소유자repo(문자열): 저장소 이름pull_number(숫자): 풀 리퀘스트 번호
반환: diff 및 검토 상태를 포함한 풀 요청 세부 정보
list_pull_requests
저장소 풀 리퀘스트 나열 및 필터링
입력:
owner(문자열): 저장소 소유자repo(문자열): 저장소 이름state(선택적 문자열): 상태('open', 'closed', 'all')로 필터링head(선택적 문자열): head 사용자/조직 및 branch로 필터링base(선택적 문자열): 기본 브랜치로 필터링sort(선택적 문자열): ('생성됨', '업데이트됨', '인기', '장기 실행됨')으로 정렬direction(선택적 문자열): 정렬 방향 ('asc', 'desc')per_page(선택적 숫자): 페이지당 결과(최대 100개)page(선택 번호): 페이지 번호
반환: 풀 리퀘스트 세부 정보 배열
create_pull_request_review
풀 리퀘스트에 대한 리뷰 작성
입력:
owner(문자열): 저장소 소유자repo(문자열): 저장소 이름pull_number(숫자): 풀 리퀘스트 번호body(문자열): 리뷰 코멘트 텍스트event(문자열): 검토 작업('APPROVE', 'REQUEST_CHANGES', 'COMMENT')commit_id(선택적 문자열): 검토할 커밋의 SHAcomments(선택적 배열): 다음이 포함된 줄별 주석:path(문자열): 파일 경로position(숫자): diff에서의 줄 위치body(문자열): 댓글 텍스트
반품: 리뷰 세부 정보 생성됨
merge_pull_request
풀 리퀘스트 병합
입력:
owner(문자열): 저장소 소유자repo(문자열): 저장소 이름pull_number(숫자): 풀 리퀘스트 번호commit_title(선택적 문자열): 병합 커밋의 제목commit_message(선택적 문자열): 병합 커밋에 대한 추가 세부 정보merge_method(선택적 문자열): 병합 방법('merge', 'squash', 'rebase')
반환: 병합 결과 세부 정보
get_pull_request_files
풀 리퀘스트에서 변경된 파일 목록 가져오기
입력:
owner(문자열): 저장소 소유자repo(문자열): 저장소 이름pull_number(숫자): 풀 리퀘스트 번호
반환: 패치 및 상태 세부 정보가 포함된 변경된 파일 배열
get_pull_request_status
풀 리퀘스트에 대한 모든 상태 확인의 결합된 상태를 가져옵니다.
입력:
owner(문자열): 저장소 소유자repo(문자열): 저장소 이름pull_number(숫자): 풀 리퀘스트 번호
반환: 결합된 상태 확인 결과 및 개별 확인 세부 정보
update_pull_request_branch
기본 브랜치의 최신 변경 사항으로 풀 리퀘스트 브랜치 업데이트(GitHub의 "브랜치 업데이트" 버튼과 동일)
입력:
owner(문자열): 저장소 소유자repo(문자열): 저장소 이름pull_number(숫자): 풀 리퀘스트 번호expected_head_sha(선택적 문자열): 풀 요청의 HEAD 참조의 예상 SHA
반환: 브랜치가 업데이트되면 성공 메시지가 표시됩니다.
get_pull_request_comments
풀 리퀘스트에 대한 리뷰 코멘트 받기
입력:
owner(문자열): 저장소 소유자repo(문자열): 저장소 이름pull_number(숫자): 풀 리퀘스트 번호
반환: 주석 텍스트, 작성자, diff의 위치와 같은 세부 정보가 포함된 풀 리퀘스트 검토 주석 배열
get_pull_request_reviews
풀 리퀘스트에 대한 리뷰 받기
입력:
owner(문자열): 저장소 소유자repo(문자열): 저장소 이름pull_number(숫자): 풀 리퀘스트 번호
반환: 검토 상태(승인됨, 변경 요청됨 등), 검토자 및 검토 본문과 같은 세부 정보가 포함된 풀 요청 검토 배열
Related MCP server: MCP Development Framework
검색 쿼리 구문
코드 검색
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
엔피엑스
짓다
Docker 빌드:
특허
이 MCP 서버는 MIT 라이선스에 따라 라이선스가 부여됩니다. 즉, MIT 라이선스의 약관에 따라 소프트웨어를 자유롭게 사용, 수정 및 배포할 수 있습니다. 자세한 내용은 프로젝트 저장소의 LICENSE 파일을 참조하세요.