Integrations
Preserves Git history for repository operations, with support for branch creation, commit management, and maintaining proper version control without force pushing.
Provides comprehensive access to GitHub's API, enabling file operations (creating, updating, retrieving), repository management (creating, forking, branching), search functionality across code/issues/users, and issue/PR workflows (creating, commenting, reviewing, merging).
GitHub MCP 서버
GitHub API를 위한 MCP 서버로, 파일 작업, 저장소 관리, 검색 기능 등을 제공합니다.
특징
- 자동 브랜치 생성 : 파일을 생성/업데이트하거나 변경 사항을 푸시할 때 브랜치가 없으면 자동으로 생성됩니다.
- 포괄적인 오류 처리 : 일반적인 문제에 대한 명확한 오류 메시지
- Git 기록 보존 : 운영자는 강제 푸시 없이 적절한 Git 기록을 유지합니다.
- 일괄 작업 : 단일 파일 및 다중 파일 작업 모두 지원
- 고급 검색 : 코드, 이슈/PR 및 사용자 검색 지원
- 프로젝트 관리 : 프로젝트 생성, 열 관리, 카드 작업 등을 포함한 GitHub 프로젝트(클래식) 관리를 위한 완벽한 툴셋
도구
create_or_update_file
- 저장소에서 단일 파일을 생성하거나 업데이트합니다.
- 입력:
owner
(문자열): 저장소 소유자(사용자 이름 또는 조직)repo
(문자열): 저장소 이름path
(문자열): 파일을 생성/업데이트할 경로content
(문자열): 파일의 내용message
(문자열): 커밋 메시지branch
(문자열): 파일을 생성/업데이트할 브랜치sha
(선택적 문자열): 교체되는 파일의 SHA(업데이트용)
- 반환: 파일 내용 및 커밋 세부 정보
push_files
- 단일 커밋에 여러 파일 푸시
- 입력:
owner
(문자열): 저장소 소유자repo
(문자열): 저장소 이름branch
(문자열): 푸시할 브랜치files
(배열): 푸시할 파일, 각각path
와content
message
(문자열): 커밋 메시지
- 반환: 업데이트된 지점 참조
search_repositories
- GitHub 저장소 검색
- 입력:
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 이슈 객체 및 세부 정보
delete_issue
- GraphQL API를 사용하여 GitHub 저장소에서 이슈를 삭제합니다.
- 입력:
owner
(문자열): 저장소 소유자repo
(문자열): 저장소 이름issue_number
(숫자): 삭제할 이슈 번호
- 반환: 저장소 정보를 포함한 삭제 확인
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
(숫자): 풀 리퀘스트 번호
- 반환: 검토 상태(승인됨, 변경 요청됨 등), 검토자 및 검토 본문과 같은 세부 정보가 포함된 풀 요청 검토 배열
create_project
- GitHub 저장소에 새 프로젝트 만들기
- 입력:
owner
(문자열): 저장소 소유자(사용자 이름 또는 조직)repo
(문자열): 저장소 이름name
(문자열): 프로젝트 이름body
(선택적 문자열): 프로젝트 설명
- 반환: 생성된 프로젝트 세부 정보
get_project
- 특정 프로젝트에 대한 세부 정보를 얻으세요
- 입력:
owner
(문자열): 저장소 소유자(사용자 이름 또는 조직)repo
(문자열): 저장소 이름project_number
(숫자): 프로젝트 번호
- 반환: 프로젝트 세부 정보
update_project
- 기존 프로젝트의 세부 정보 업데이트
- 입력:
project_id
(숫자): 프로젝트의 고유 식별자name
(선택적 문자열): 프로젝트의 새 이름body
(선택적 문자열): 프로젝트에 대한 새로운 설명state
(선택적 문자열): 프로젝트 상태('열림' 또는 '닫힘')
- 반환: 업데이트된 프로젝트 세부 정보
list_projects
- GitHub 저장소의 모든 프로젝트 나열
- 입력:
owner
(문자열): 저장소 소유자(사용자 이름 또는 조직)repo
(문자열): 저장소 이름state
(선택적 문자열): 프로젝트를 상태('열림', '닫힘', '모두')로 필터링합니다.page
(선택적 숫자): 페이지 번호를 지정합니다(1부터 시작)per_page
(선택적 숫자): 페이지당 결과 수(최대 100개)
- 반환: 프로젝트 세부 정보 배열
create_project_column
- 프로젝트에 새 열 만들기
- 입력:
owner
(문자열): 저장소 소유자(사용자 이름 또는 조직)repo
(문자열): 저장소 이름project_number
(숫자): 프로젝트 번호name
(문자열): 열의 이름
- 반환: 생성된 열 세부 정보
list_project_columns
- 프로젝트의 모든 열 나열
- 입력:
project_id
(숫자): 프로젝트의 고유 식별자page
(선택적 숫자): 페이지 번호를 지정합니다(1부터 시작)per_page
(선택적 숫자): 페이지당 결과 수(최대 100개)
- 반환: 프로젝트 열 세부 정보 배열
update_project_column
- 기존 프로젝트 열 업데이트
- 입력:
column_id
(숫자): 열의 고유 식별자name
(문자열): 열의 새 이름
- 반환: 업데이트된 열 세부 정보
delete_project_column
- 프로젝트 열 삭제
- 입력:
column_id
(숫자): 열의 고유 식별자
- 반환: 성공 메시지
add_card_to_column
- 프로젝트 열에 새 카드 추가
- 입력:
owner
(문자열): 저장소 소유자(사용자 이름 또는 조직)repo
(문자열): 저장소 이름column_id
(문자열): 카드를 추가할 열의 IDcontent_type
(문자열): 카드의 콘텐츠 유형('Issue', 'PullRequest', 'Note')content_id
(선택적 숫자): 이슈 또는 풀 리퀘스트의 ID(content_type이 Issue 또는 PullRequest인 경우 필수)note
(선택적 문자열): 카드의 메모 내용(content_type이 Note인 경우 필수)
- 반품: 카드 세부 정보 생성됨
list_column_cards
- 프로젝트 열에 있는 모든 카드 나열
- 입력:
column_id
(숫자): 열의 고유 식별자archived_state
(선택적 문자열): 카드 보관 상태('all', 'archived', 'not_archived')로 필터링page
(선택적 숫자): 페이지 번호를 지정합니다(1부터 시작)per_page
(선택적 숫자): 페이지당 결과 수(최대 100개)
- 반환: 카드 세부 정보 배열
move_card
- 카드를 다른 위치나 열로 이동
- 입력:
card_id
(숫자): 카드의 고유 식별자position
(문자열): 카드의 위치('top', 'bottom' 또는 'after:<card_id>')column_id
(선택적 숫자): 카드를 이동할 열 ID
- 반환: 성공 메시지
delete_card
- 프로젝트에서 카드 삭제
- 입력:
card_id
(숫자): 카드의 고유 식별자
- 반환: 성공 메시지
list_organization_projects
- GitHub 조직의 모든 프로젝트를 나열합니다(저장소 수준이 아닌 조직 수준).
- 입력:
org
(문자열): 조직 이름state
(선택적 문자열): 프로젝트를 상태('열림', '닫힘', '모두')별로 필터링합니다.page
(선택적 숫자): 페이지 번호per_page
(선택적 숫자): 페이지당 결과 수(최대 100개)
- 반환: 조직 프로젝트 세부 정보 배열
프로젝트 V2 도구(GitHub의 새로운 프로젝트 경험)
list_organization_projects_v2
- GraphQL API를 사용하여 GitHub 조직의 프로젝트 V2 나열
- 입력:
org
(문자열): 조직 이름first
(선택적 숫자): 가져올 프로젝트 수 (최대 100개)after
(선택적 문자열): 페이지 매김을 위한 커서orderBy
(선택적 객체): 프로젝트를 정렬하는 방법
- 반환: 페이지 정보가 포함된 프로젝트 배열
get_project_v2
- GraphQL API를 사용하여 GitHub 프로젝트 V2의 세부 정보 가져오기
- 입력:
id
(문자열): 프로젝트의 노드 ID
- 반환: 필드 및 뷰를 포함한 자세한 프로젝트 정보
create_project_v2
- GraphQL API를 사용하여 새로운 GitHub 프로젝트 V2를 만듭니다.
- 입력:
ownerId
(문자열): 조직 또는 사용자의 노드 IDtitle
(문자열): 프로젝트 제목description
(선택 문자열): 프로젝트에 대한 설명
- 반환: 프로젝트 세부 정보 생성됨
update_project_v2
- GraphQL API를 사용하여 GitHub 프로젝트 V2 업데이트
- 입력:
projectId
(문자열): 프로젝트의 노드 IDtitle
(선택 문자열): 프로젝트의 새 제목description
(선택 문자열): 프로젝트에 대한 새로운 설명closed
(선택적 부울): 프로젝트를 닫을지 여부
- 반환: 업데이트된 프로젝트 세부 정보
add_item_to_project_v2
- GraphQL API를 사용하여 GitHub 프로젝트 V2에 이슈 또는 풀 리퀘스트 추가
- 입력:
projectId
(문자열): 프로젝트의 노드 IDcontentId
(문자열): 추가할 이슈 또는 풀 리퀘스트의 노드 ID
- 반품: 상품 상세정보 추가
list_project_v2_items
- GraphQL API를 사용하여 GitHub 프로젝트 V2의 항목 나열
- 입력:
projectId
(문자열): 프로젝트의 노드 IDfirst
(선택적 숫자): 가져올 항목 수(최대 100개)after
(선택적 문자열): 페이지 매김을 위한 커서filterBy
(선택적 객체): 항목에 대한 필터
- 반환: 필드 값이 포함된 프로젝트 항목 배열
update_project_v2_item_field
- GraphQL API를 사용하여 GitHub 프로젝트 V2의 항목에 대한 필드 값 업데이트
- 입력:
projectId
(문자열): 프로젝트의 노드 IDitemId
(문자열): 항목의 노드 IDfieldId
(문자열): 필드의 노드 IDvalue
(임의): 필드의 새 값
- 반품: 업데이트된 품목 세부 정보
프로젝트 관리 노트
지원 중단 경고 : GitHub에서 Projects(클래식)가 새로운 Projects 환경으로 대체되어 지원 중단된다고 발표했습니다. 도구 2739는 클래식 버전의 Projects에서 사용 가능하며, 향후 제거될 수 있습니다. 새로운 GitHub Projects 환경을 사용하려면 도구 4046을 대신 사용하세요.
검색 쿼리 구문
코드 검색
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
범위만 선택하세요. - Projects V2 도구를 사용하려면
project
범위도 포함해야 합니다.
- 또는 공개 저장소에서만 작업하는 경우
- 생성된 토큰을 복사하세요
Claude Desktop과 함께 사용
Claude Desktop과 함께 사용하려면 claude_desktop_config.json
에 다음을 추가하세요.
도커
지엑스피1
엔피엑스
짓다
Docker 빌드:
특허
이 MCP 서버는 MIT 라이선스에 따라 라이선스가 부여됩니다. 즉, MIT 라이선스의 약관에 따라 소프트웨어를 자유롭게 사용, 수정 및 배포할 수 있습니다. 자세한 내용은 프로젝트 저장소의 LICENSE 파일을 참조하세요.
This server cannot be installed
파일 관리, 저장소 관리, 이슈 추적, 고급 코드 검색을 포함한 자연어를 통한 포괄적인 GitHub 운영을 지원합니다.