Github MCP 서버
Github용 모델 컨텍스트 프로토콜 서버.
MCP를 통해 Github와 통합을 제공하여 LLM이 Github와 상호 작용할 수 있도록 합니다.
설치
수동 설치
Github 계정에 대한 액세스 토큰을 생성하거나 가져오는 방법: 가이드
Claude Desktop에 서버 구성을 추가합니다.
MacOS: ~/라이브러리/애플리케이션 지원/클로드/claude_desktop_config.json
Windows: 이 가이드를 확인하세요
지엑스피1
Related MCP server: GitHub MCP Server
구성 요소
도구
search_repositories: GitHub에서 저장소를 검색합니다.필수 입력 사항:
query(문자열): 저장소를 검색할 쿼리입니다.page(숫자, 기본값: 30, 최대: 100): 페이지 번호를 매깁니다.per_page(숫자, 기본값: 30, 최대: 100): 페이지당 결과 수.
search_issues: 저장소에서 이슈를 검색합니다.필수 입력 사항:
query(문자열): 저장소를 검색할 쿼리입니다.page(번호, 기본값: 1): 페이지 번호를 매깁니다.per_page(숫자, 기본값: 30, 최대: 100): 페이지당 결과 수.order(선택적 문자열, 기본값:desc): 순서의 종류 (asc또는desc).sort(선택적 문자열, 기본값:best match): 정렬 필드(다음 중 하나일 수 있음:comments,reactions,reactions-+1,reactions--1,reactions-smile,reactions-thinking_face,reactions-heart,reactions-tada,interactions,created또는updated).
search_commits: 저장소에서 커밋을 검색합니다.필수 입력 사항:
query(문자열): 저장소를 검색할 쿼리입니다.page(번호, 기본값: 1): 페이지 번호를 매깁니다.per_page(숫자, 기본값: 30, 최대: 100): 페이지당 결과 수.order(선택적 문자열, 기본값:desc): 순서의 종류 (asc또는desc).sort(선택적 문자열, 기본값:best match): 정렬 필드(committer-date또는author-date중 하나일 수 있음).
search_code: 저장소에서 코드를 검색합니다.필수 입력 사항:
query(문자열): 저장소를 검색할 쿼리입니다.page(번호, 기본값: 1): 페이지 번호를 매깁니다.per_page(숫자, 기본값: 30, 최대: 100): 페이지당 결과 수.
search_users: 저장소에서 사용자를 검색합니다.필수 입력 사항:
query(문자열): 저장소를 검색할 쿼리입니다.page(번호, 기본값: 1): 페이지 번호를 매깁니다.per_page(숫자, 기본값: 30, 최대: 100): 페이지당 결과 수.order(선택적 문자열, 기본값:desc): 순서의 종류 (asc또는desc).sort(선택적 문자열, 기본값:best match): 정렬 필드(followers,repositories또는joined중 하나일 수 있음).
search_topics: 주제를 검색합니다.필수 입력 사항:
query(문자열): 저장소를 검색할 쿼리입니다.page(번호, 기본값: 1): 페이지 번호를 매깁니다.per_page(숫자, 기본값: 30, 최대: 100): 페이지당 결과 수.
search_labels: 저장소에서 라벨을 검색합니다.필수 입력 사항:
query(문자열): 저장소를 검색할 쿼리입니다.page(번호, 기본값: 1): 페이지 번호를 매깁니다.per_page(숫자, 기본값: 30, 최대: 100): 페이지당 결과 수.order(선택적 문자열, 기본값:desc): 순서의 종류 (asc또는desc).sort(선택적 문자열, 기본값:best match): 정렬 필드(created또는updated중 하나일 수 있음).
list_repositories_issues: 저장소의 이슈를 나열합니다.필수 입력 사항:
owner(문자열): 저장소의 소유자입니다.repo(문자열): 저장소 이름입니다.page(선택적 숫자, 기본값: 1): 페이지 번호를 매기는 데 사용합니다.per_page(선택적 숫자, 기본값: 30, 최대: 100): 페이지당 결과 수.direction(선택적 문자열, 기본값:desc): 정렬 방향(asc또는desc).sort(선택적 문자열, 기본값:created): 정렬 필드(created,comments또는updated중 하나일 수 있음).since(선택적 문자열): 지정된 시간 이후에 결과가 마지막으로 업데이트됨(ISO 8601 형식: YYYY-MM-DDTHH:MM:SSZ).labels(선택적 문자열): 쉼표로 구분된 레이블 이름. 예: bug, ui, @high.milestone(선택적 문자열): 이정표 번호.assignee(선택적 문자열): 담당자 사용자의 이름(모두의 경우*).creator(선택적 문자열): 문제를 생성한 사용자입니다. (모두의 경우*).mentioned(선택적 문자열): 문제에서 언급된 사용자입니다.
get_issue: 저장소에서 이슈를 가져옵니다.필수 입력 사항:
owner(문자열): 저장소의 소유자입니다.repo(문자열): 저장소 이름입니다.issue_number(숫자): 호 번호.
list_repositories_pull_requests: 저장소에서 풀 리퀘스트를 나열합니다.
필수 입력 사항:
owner(문자열): 저장소의 소유자입니다.repo(문자열): 저장소 이름입니다.page(선택적 숫자, 기본값: 1): 페이지 번호를 매기는 데 사용합니다.per_page(선택적 숫자, 기본값: 30, 최대: 100): 페이지당 결과 수.direction(선택적 문자열, 기본값:desc): 정렬 방향(asc또는desc).sort(선택적 문자열, 기본값:created): 정렬 필드(created,popularity,long-running또는updated중 하나일 수 있음).head(선택적 문자열): 사용자:참조 이름 또는 조직:참조 이름 형식으로 헤드 사용자 또는 헤드 조직 및 브랜치 이름으로 필터링합니다(예: github:new-script-format 또는 octocat:test-branch).base(선택적 문자열): 기본 브랜치 이름으로 풀을 필터링합니다. (예: gh-pages)
get_pull_request: 저장소에서 풀 리퀘스트를 가져옵니다.
필수 입력 사항:
owner(문자열): 저장소의 소유자입니다.repo(문자열): 저장소 이름입니다.pull_request_number(숫자): 풀 리퀘스트 번호.
사용 예
Github과 상호작용하는 데 사용할 수 있는 몇 가지 프롬프트 예:
"modelcontextprotocol" →
search_repositories도구를 실행하여 modelcontextprotocol이 언급된 저장소를 찾습니다."modelcontextprotocol 서버 저장소의 739 이슈는 무엇인가요?" →
get_issue도구를 실행하여 modelcontextprotocol 서버 저장소에서 739 이슈를 찾으세요."modelcontextprotocol 서버 저장소의 717 PR은 무엇입니까?" →
get_pull_request도구를 실행하여 modelcontextprotocol 서버 저장소에서 717 PR을 찾습니다.
개발
종속성 설치:
.env에서 Github 액세스 토큰을 구성합니다.
시계를 사용하여 로컬로 실행:
서버를 빌드하세요:
검사기를 사용한 로컬 디버깅: