GitHub MCP 서버
GitHub API를 위한 MCP 서버로, 파일 작업, 저장소 관리, 검색 기능 등을 제공합니다.
미션 스쿼드 수정
- github pat은 이제 요청에 따라 동적으로 적용되며 환경 변수를 통해 포함될 필요가 없지만 여전히 환경 변수를 사용합니다.
- 이름: mcp-github
특징
- 자동 브랜치 생성 : 파일을 생성/업데이트하거나 변경 사항을 푸시할 때 브랜치가 없으면 자동으로 생성됩니다.
- 포괄적인 오류 처리 : 일반적인 문제에 대한 명확한 오류 메시지
- Git 기록 보존 : 운영자는 강제 푸시 없이 적절한 Git 기록을 유지합니다.
- 일괄 작업 : 단일 파일 및 다중 파일 작업 모두 지원
- 고급 검색 : 코드, 이슈/PR 및 사용자 검색 지원
도구
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 이슈 객체 및 세부 정보
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
(숫자): 풀 리퀘스트 번호
- 반환: 검토 상태(승인됨, 변경 요청됨 등), 검토자 및 검토 본문과 같은 세부 정보가 포함된 풀 요청 검토 배열
검색 쿼리 구문
코드 검색
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 파일을 참조하세요.
This server cannot be installed
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.
Anthropic의 GitHub MCP 서버이지만 더 뛰어납니다. 더 많은 엔드포인트를 지원합니다. 릴리스 및 태그, 풀 리퀘스트 검토, 상태, 속도 제한, Gist, 프로젝트, 패키지, 그리고 풀 리퀘스트 diff까지 포함합니다. MissionSquad의 MCP API와 함께 비밀 관리(액세스 토큰)를 위해 Indented되어 있습니다.
Related Resources
Related MCP Servers
- AsecurityFlicenseAqualityMCP Server for the GitHub API, providing features for file operations, repository management, and advanced search, with automatic branch creation and comprehensive error handling.Last updated -1843TypeScript
- AsecurityAlicenseAqualityMCP Tool Server for Gitee, supporting the management of repository files/branches, Issues, and Pull Requests.Last updated -20104TypeScriptMIT License
- AsecurityFlicenseAqualityAn MCP server that enables integration with GitHub Enterprise API, allowing users to access repository information, manage issues, pull requests, workflows, and other GitHub features through Cursor.Last updated -163314TypeScript
- AsecurityAlicenseAqualityA MCP server that provides access to GitHub trending repositories and developers data through a simple API interface.Last updated -21PythonMIT License