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을 찾습니다.
개발
종속성 설치:
pnpm install.env에서 Github 액세스 토큰을 구성합니다.
GITHUB_PERSONAL_ACCESS_TOKEN=<your_personal_github_access_token>시계를 사용하여 로컬로 실행:
pnpm dev서버를 빌드하세요:
pnpm build검사기를 사용한 로컬 디버깅:
pnpm inspectorThis server cannot be installed
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.