Skip to main content

GitHub MCP Server 템플릿

경로: Console → Agent Ops → Tool Management+ 도구 생성Quick Setup 에서 GitHub 선택 Commit history, file content, code search, PR/issue management (26 tools) 공식 @modelcontextprotocol/server-github MCP 서버를 원클릭으로 등록합니다.

사전 주입 값 (Basic Information)

필드
Namegithub
TransportStandard I/O (stdio)
설명GitHub MCP Server — commits, files, code search, PR/issues (26 tools)
Access기본 Private

Run Settings

항목
Commandnpx
Args-y, @modelcontextprotocol/server-github

Environment Variables

템플릿 기본 제공 (System Default)

변수타입설명
GITHUB_PERSONAL_ACCESS_TOKENSystem DefaultGitHub PAT — Fine-grained 권장
값은 이 화면에서 입력하지 않습니다. 운영자가 EnvironmentGITHUB_PERSONAL_ACCESS_TOKEN 을 세팅해야 런타임에 자동 주입됩니다. 아래 “PAT 발급” 단계에서 발급받은 값은 운영자에게 전달 하세요.

추가 환경변수 (Add Environment Variable)

Add Environment Variable 로 추가 변수를 정의할 수 있고, 타입은 User Input · System Default 중 선택 가능합니다.
변수타입 권장설명
GITHUB_API_URLSystem DefaultGHES(Enterprise Server) 사용 시 — 기본값은 api.github.com
HTTP_PROXY / HTTPS_PROXYSystem Default사내 프록시 경유

외부 참고 문서

GitHub 측 PAT 발급·권한 설정은 GitHub 공식 문서가 최신입니다.
본 Seahorse 템플릿은 공식 @modelcontextprotocol/server-github 을 사용합니다. 노출 도구 26 개의 구성·인자 스펙이 업스트림 변경에 따라 달라질 수 있으니, 문제가 생기면 위 MCP 서버 저장소의 README 를 먼저 확인하세요.

PAT 발급

1

Fine-grained PAT 생성

github.com/settings/tokens?type=betaGenerate new token (Fine-grained 권장).
2

Repository access

Only select repositories 권장. 필요한 저장소만 체크.
3

Permissions (최소 권한)

읽기 중심 워크플로:
  • Contents: Read
  • Pull requests: Read
  • Issues: Read
  • Metadata: Read
코멘트·이슈 작성이 필요하면:
  • Pull requests: Read & write
  • Issues: Read & write
4

만료일 설정

캘린더에 만료 알림을 설정 — 만료 시 도구가 조용히 실패합니다.
5

토큰 복사 + 운영자 전달

발급 즉시 토큰 값을 복사 → 운영자에게 전달 → 운영자가 EnvironmentGITHUB_PERSONAL_ACCESS_TOKEN 으로 저장. 이후 Quick Setup 에서 GitHub 템플릿 선택 → Save 로 도구 등록.

26 개 노출 도구 (카테고리별)

카테고리주요 도구
PRlist_pull_requests · get_pull_request · get_pull_request_diff · add_pr_comment · create_pull_request · merge_pull_request
이슈list_issues · get_issue · create_issue · add_issue_comment · update_issue
커밋·코드list_commits · get_commit · search_code · get_file_contents · create_or_update_file
릴리스·CIlist_releases · create_release · list_workflow_runs · get_workflow_run
저장소list_repositories · get_repository · create_repository · fork_repository
사용자·검색search_users · search_issues

활용 예

시나리오구성
PR 1 차 리뷰 봇GitHub PR 리뷰 요약 레시피
릴리스 노트 자동 생성list_releases + list_pull_requests → LLM → CHANGELOG 생성
이슈 트리아지list_issues + LLM 분류 → update_issue 라벨
코드 검색 Q&Asearch_code + get_file_contents → 구조 질문 답변

보안 주의

  • Fine-grained PAT + 저장소 제한 — Classic PAT 의 전체 org 접근은 사고 위험이 큽니다.
  • Write 권한 최소화 — 자동 머지·강제 push 는 별도 도구·별도 계정으로. 에이전트 PAT 에는 병합 권한을 주지 않는 것을 권장.
  • 만료일 관리 — 만료 시 도구가 침묵 실패. 캘린더·Slack 알림으로 사전 갱신.
  • 퇴사자 토큰 회수 — GitHub 설정에서 revoke + Seahorse 도구 환경변수 갱신.
  • 시크릿 인젝션 — PR diff 에 포함된 시크릿이 LLM 프롬프트에 들어갈 수 있음. 마스킹 전처리 또는 발견 시 즉시 회전.

Transport 필드에 관하여

Basic Information 의 Transport 드롭다운에서 Standard I/O 외에 Streamable HTTP 를 선택하는 것이 UI 상으로는 가능합니다. HTTP 선택 시 입력 필드는 다음과 같이 바뀝니다:
stdio 필드HTTP 필드
Command + Args + Environment VariablesConnection Settings (Endpoint URL · Timeout · Verify SSL) + Headers
본 템플릿의 기본 Transport 는 Standard I/O 입니다. 업스트림 MCP 서버(@modelcontextprotocol/server-slack · @modelcontextprotocol/server-github · uvx mcp-atlassian · rdb_server.py) 는 모두 로컬 프로세스(stdio) 기반 으로 설계되어 있습니다.UI 에서 Streamable HTTP 로 전환할 수는 있지만, 그 경우 같은 기능을 HTTP 엔드포인트로 감싸서 별도 호스팅한 서버가 이미 준비되어 있어야 합니다 (공식 지원되는 HTTP 버전이 Seahorse 에 번들된 것은 아닙니다).
  • 일반 사용자는 기본 Standard I/O 를 그대로 유지 하세요.
  • HTTP 엔드포인트를 자체 운영 중이고 그걸 연결하려는 경우라면, 사실상 커스텀 도구 로 처음부터 등록하는 편이 깔끔합니다.
  • HTTP 로 전환한 상태에서는 본 템플릿의 사전 주입 Command/Args/Env 가 더 이상 의미를 갖지 않습니다.

관련 문서