커서와 GitHub MCP 통합 시 발생하는 작업 흐름
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
DevOps
대상자
- 개발자, DevOps 엔지니어, AI 도구 사용자
- 중간 난이도: API, 툴 통합, 보안 개념 이해 필요
핵심 요약
- AI 모델과 툴 통합을 통해 GitHub 데이터를 안전하게 처리
list_pull_requests
등 GitHub MCP 툴 사용PAT
(Personal Access Token) 기반 인증- 구조화된 컨텍스트를 통해 LLM이 정확한 데이터를 처리
- JSON-RPC 형식의 MCP 툴 호출
tool/list_pull_requests
메서드 사용- 사용자 질문을 기반으로 상태가 있는 상호작용 가능
- "Merge the first one" 같은 후속 요청 처리
섹션별 세부 요약
1. 커서의 초기 요청 생성
- 사용자 입력과 최근 채팅 내역, 관련 코드 스니펫, 시스템 메타데이터를 결합하여 클라우드 모델에 전송
Claude
,OpenAI
,Anthropic
,Google
등 선택 가능한 모델- 모델은 아직 실행하지 않고 컨텍스트만 수신
2. 툴 사용 필요성 인식
- "Show my open PRs"와 같은 요청이 GitHub의 실시간 데이터 필요
list_pull_requests
툴 사용 결정- 필요한 파라미터: 리포지토리 이름, 사용자명,
PAT
(개인 액세스 토큰)
3. MCP 툴 호출
JSON-RPC
형식으로 GitHub MCP 서버에 요청- 예시 요청:
```json
{ "jsonrpc": "2.0", "method": "tool/list_pull_requests", "params": { "owner": "100daysofdevops", "repo": "100daysofdevops", "state": "open" }, "id": "req-42", "context": { "conversation": "...", "client": "cursor-ide", "auth": { "PAT": "ghp_" } } }
```
- PAT는 GitHub으로 전송되지 않음 (MCP 서버에서 로컬로 사용)
4. GitHub MCP 서버의 역할
PAT
로 GitHub 인증- REST 또는 GraphQL API 호출하여 오픈 PR 목록 가져오기
- 예시 응답:
```json
{ "result": [ { "number": 17, "title": "Add MCP demo", "author": "PrashantLakhera", "url": "..." }, ... ] }
```
- 응답은 다음 단계의 컨텍스트에 포함
5. 툴 결과를 LLM 입력에 통합
- 시스템 메시지, JSON 블록, 간단한 지시문 포함
- 예시:
```
System message: "User asked about open pull requests."
JSON block: resource://github:list_pull_requests → {…}
Instruction: "Summarize these PRs for the user."
```
- 모델이 환상( hallucination) 방지
6. LLM의 인간 친화적 응답
- 구조화된 데이터를 가독성 높은 형태로 변환
- 예시 응답:
```
You currently have 3 open PRs:
- #17 Add MCP demo (needs review)
- #15 Fix CI timeout (status: failing)
- #12 Refactor logging (waiting for approvals)
```
7. 컨텍스트 기반의 지능형 순환
- "Merge the first one" 같은 후속 요청 처리
merge_pull_request
툴 호출- 기존 컨텍스트 기반으로 상태 유지
결론
- 커서는 단순한 API 호출이 아닌, AI-에이전트 워크플로우를 orchestrate
GitHub MCP
와Cursor
의 통합이 개발자 워크플로우를 혁신- 보안적이고 구조화된 컨텍스트 기반의 툴-강화 LLM 사용 권장
- 추가 도구 필요 시 IdeaWeaver 활용 권장