[ Context7 + GitHub MCP 콤보 ]

박태근·2026년 3월 27일

Context7 + GitHub MCP 콤보 — 문서 참조부터 PR까지 프롬프트 한 줄로

들어가며

지난 편에서 GitHub MCP를 연결해 자연어만으로 레포 생성, 이슈 관리, PR 생성, 머지까지 처리하는 환경을 구축했습니다.
이번 편에서는 Context7 MCP와 GitHub MCP를 동시에 활용하는 콤보 실습을 진행합니다.

콤보로 달라지는 것은 명확합니다. 기존에는 "문서 찾기 → 코드 작성 → git 명령어 → PR 생성"이 4단계였다면, 콤보 이후엔 프롬프트 한 줄로 전부 처리됩니다.


MCP 콤보란 무엇인가

두 MCP의 역할을 먼저 정리합니다.

  • Context7: 라이브러리 공식 문서를 실시간으로 쿼리해 할루시네이션 없이 최신 API 기반 코드를 생성합니다.
  • GitHub MCP: 브랜치 생성, 파일 커밋, PR 오픈 등 GitHub 서버 작업을 API로 직접 처리합니다.

기존 워크플로우:

공식 문서 직접 검색 → 코드 작성 → git add/commit/push → GitHub에서 PR 생성

콤보 이후:

프롬프트 한 줄 → Context7 문서 참조 → 코드 작성 → GitHub MCP로 브랜치/커밋/PR 자동

MCP scope 개념

실습 전에 반드시 짚고 넘어가야 할 개념이 있습니다. 바로 MCP scope입니다.

claude mcp add 명령어로 MCP를 등록할 때 적용 범위를 지정할 수 있습니다.

scope적용 범위명령어 옵션
local현재 프로젝트만기본값 (옵션 없음)
user내 계정 전체 (모든 프로젝트)--scope user
project팀 공유 (.mcp.json)--scope project

"있는데 없는 것처럼" 동작하는 함정

이번 실습 중 이전 프로젝트 디렉토리에서 등록한 MCP가 새 프로젝트에서 claude mcp list에 뜨지 않는 현상을 겪었습니다.
원인은 간단합니다 -> 기본값인 local scope로 등록하면 해당 프로젝트 경로에서만 적용되기 때문입니다.

Context7, GitHub MCP처럼 어느 프로젝트에서나 쓰는 범용 MCP는 --scope user로 등록하는 것을 추천드립니다. 반면 특정 DB 접속 정보나 팀 전용 Slack 연동처럼 프로젝트에 종속되는 MCP는 local로 등록하는 것이 적절합니다.

등록 상태는 아래 명령어로 확인할 수 있습니다.

cat ~/.claude.json | python3 -c "
import json, sys
d = json.load(sys.stdin)
print('글로벌 mcpServers:', json.dumps(d.get('mcpServers', {}), indent=2))
"

mcpServers{}이면 user scope에 등록된 MCP가 없는 것입니다.


실습 1 — user scope로 재등록

기존에 local scope로 등록된 MCP를 제거하고 user scope로 재등록합니다.

# 기존 등록 제거
claude mcp remove context7
claude mcp remove github

# user scope로 재등록
claude mcp add context7 --scope user \
  -- npx -y @upstash/context7-mcp@latest

claude mcp add github --scope user \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=발급받은토큰 \
  -- npx -y @modelcontextprotocol/server-github

등록 후 확인합니다.

claude mcp list
# context7: ✓ Connected
# github: ✓ Connected

이제 어느 디렉토리에서 claude를 실행하더라도 두 MCP가 모두 활성화됩니다.


실습 2 — 레포 생성부터 PR까지

레포 생성 및 로컬 세팅

Claude Code를 실행하고 GitHub MCP로 레포를 먼저 생성합니다.

GitHub MCP를 사용해서 새 레포를 만들어줘.
- name: mcp-combo-practice
- description: Context7 + GitHub MCP 콤보 실습
- private: false
- auto_init: true

github - create_repository (MCP) 호출 확인

이후 로컬에 클론합니다.

git clone https://github.com/계정명/mcp-combo-practice.git
cd mcp-combo-practice
npm init -y
npm install express
echo "node_modules/" > .gitignore
mkdir src

콤보 프롬프트 실행

아래 프롬프트 한 줄로 Context7 문서 참조, 코드 작성, 브랜치 생성, 커밋, PR 오픈까지 한 번에 처리합니다.

use context7 to look up the latest Express.js documentation,
then create src/index.js with the following:
- GET /health → { status: 'ok', timestamp: 현재시간 }
- GET /users  → 더미 유저 배열 3개 반환
- POST /users → body에서 name 받아서 { message: 'created', user: {...} } 반환

After writing the code, use github mcp to:
1. create a new branch named 'feat/express-api'
2. commit all files (src/index.js, package.json, .gitignore)
3. open a pull request to main with title 'feat: Express.js REST API 기본 엔드포인트 추가'
단, main 브랜치에 README.md가 없으면 먼저 README.md를 커밋해줘.

MCP 호출 로그

실행 후 다음 순서로 도구 호출이 이루어집니다.

context7 - resolve-library-id (MCP) ✅
context7 - query-docs (MCP) ✅
github - create_or_update_file (MCP) ✅
github - add_issue_comment (MCP) ✅

여기서 눈에 띄는 것이 마지막 줄입니다.
add_issue_comment는 프롬프트에 지시하지 않은 단계입니다.
Claude가 PR을 생성한 뒤 "어떤 문서를 참조해서 이 코드를 작성했는지"를 PR 코멘트로 자동 등록한 것입니다.
에이전트(agent)가 목표 달성을 위해 스스로 판단해 추가 행동을 취한 사례입니다.

create_or_update_file은 로컬 git push 없이 GitHub API로 직접 파일을 커밋하는 MCP 도구입니다. 브랜치명, 커밋 메시지, 파일 내용을 지정하면 원격 레포에 바로 반영됩니다.


트러블슈팅(작성자 환경)

MCP scope 문제 — claude mcp list에 MCP가 안 뜸

새 프로젝트 디렉토리에서 claude mcp list를 실행했을 때 등록한 MCP가 표시되지 않는다면 local scope로 등록된 것입니다. claude mcp remove--scope user로 재등록하면 해결됩니다.

MCP 미설정 시 Bash로 우회하는 현상

MCP가 없으면 Claude가 git checkout, curl -X POST 같은 Bash 명령어로 GitHub API를 직접 호출하려 합니다.
(MCP) 표시 없이 명령어가 실행된다면 MCP 등록 상태를 먼저 확인하세요. 기능은 동작할 수 있지만 MCP 콤보 실습의 의미가 없어집니다.

auto_init 미적용 현상

GitHub MCP의 create_repository에서 auto_init: true를 지정했음에도 빈 저장소로 생성되는 경우가 있습니다.
클론 시 "빈 저장소를 복제한 것처럼 보입니다" 경고가 뜬다면 Claude Code에서 README.md 생성을 별도로 요청해 첫 커밋을 만들면 됩니다.


실전 활용 시나리오

1. 졸작/사이드 프로젝트
"Prisma로 User 모델 만들고 CRUD API 짜줘" → Context7이 최신 Prisma 스키마 문법을 확인하고, GitHub MCP가 브랜치·커밋·PR을 자동 처리합니다.

2. 버그 대응
"main 브랜치 최근 커밋 보고 버그 원인 찾아줘" → GitHub MCP로 커밋 히스토리를 조회하고, Context7으로 올바른 API 사용법을 확인한 뒤, hotfix 브랜치와 PR까지 자동으로 생성합니다.

3. 팀 협업
"이번 PR 리뷰해줘" → GitHub MCP로 PR diff를 조회하고 Claude가 분석한 뒤, 리뷰 코멘트를 자동으로 등록합니다.


마무리 및 다음 편 예고

Context7 + GitHub MCP 콤보를 쓰고 나면 개발 사이클의 구조가 달라집니다. 문서를 찾고, 코드를 짜고, 커밋하고, PR을 여는 과정이 프롬프트 한 줄로 처리됩니다. 에이전트가 지시하지 않은 단계까지 스스로 판단해 처리하는 장면은 단순한 자동화와는 다른 경험입니다.

다음 편에서는 Notion MCP Server 연동을 다룰 예정입니다. Claude Code에서 Notion 페이지를 직접 읽고, 생성하고, 업데이트하는 워크플로우를 실습해보겠습니다.


profile
기록

0개의 댓글