2025-05-08 9:00 AM
최근 AI 기술의 발전으로 코딩 어시스턴트와 같은 도구들이 개발자 생산성을 크게 향상시키고 있습니다. 그러나 AI 모델이 실시간 데이터에 접근하거나 실제 시스템과 상호작용하는 데는 여전히 제약이 있었습니다. 이런 제약을 해결하기 위해 등장한 것이 Model Context Protocol(MCP) 입니다.
MCP는 AI 모델이 외부 시스템과 상호작용할 수 있게 해주는 표준화된 프로토콜로, AI가 실시간 데이터를 조회하고 작업을 수행할 수 있는 인터페이스를 제공합니다. 이를 통해 AI는 단순히 정적인 학습 데이터에만 의존하는 것이 아니라, 실제 환경의 최신 정보를 활용할 수 있게 됩니다.
소프트웨어 개발에서 GitHub은 중심적인 역할을 합니다. 코드 저장소, 이슈 관리, PR 검토, 코드 검색 등 개발 워크플로우의 많은 부분이 GitHub에서 이루어집니다.
따라서 AI 코딩 어시스턴트가 GitHub과 원활하게 통합된다면 개발자 경험을 크게 향상시킬 수 있습니다.
GitHub MCP 서버는 AI 모델이 GitHub API와 직접 상호작용할 수 있게 해주는 중간 계층입니다. 이를 통해 AI는:
등의 작업을 수행할 수 있습니다.
공식 GitHub MCP 서버가 출시되기 전, 저는 GitHub Enterprise 환경에서 사용할 수 있는 MCP 서버를 직접 개발했습니다.
이 프로젝트는 github-enterprise-mcp라는 이름으로 공개되어 있습니다.
GitHub Enterprise 환경에서 AI 코딩 어시스턴트를 효과적으로 활용하기 위해서는 엔터프라이즈 API에 접근할 수 있는 MCP 서버가 필요했습니다.
당시 공식 GitHub MCP 서버가 없었기 때문에, Node.js를 기반으로 자체 구현을 시작했습니다.
이 프로젝트의 주요 목표는:
GitHub Enterprise MCP 서버는 Node.js와 TypeScript를 사용하여 개발되었으며, 다음과 같은 기술적 특징을 가지고 있습니다:
이후 GitHub에서 공식 MCP 서버를 출시했습니다. 두 프로젝트를 비교해보면:
특징 | 내 github-enterprise-mcp | 공식 github-mcp-server |
---|---|---|
개발 언어 | Node.js / TypeScript | Go |
성능 | 준수 | 최적화됨 |
기능 범위 | GitHub Enterprise 특화 | GitHub.com 중심, Enterprise 부분 지원 |
확장성 | 중간 | 높음 (도구 세트 개념) |
다국어 지원 | 영어, 한국어 | 영어 (설정으로 확장 가능) |
라이센스 | ISC | MIT |
설치 방법 | npm, Docker | Go 바이너리, Docker |
도구 수 | 20+ | 40+ |
# Docker 이미지 빌드
docker build -t github-enterprise-mcp .
# Docker 컨테이너 실행
docker run -p 3000:3000 \
-e GITHUB_TOKEN="your_github_token" \
-e GITHUB_ENTERPRISE_URL="https://github.your-company.com/api/v3" \
-e DEBUG=true \
github-enterprise-mcp
Cursor에서 MCP 서버를 사용하려면 .cursor/mcp.json
파일에 다음과 같이 설정합니다:
{
"mcpServers": {
"github-enterprise": {
"url": "http://localhost:3000/sse"
}
}
}
Cursor나 Claude와 같은 AI 도구에서 다음과 같이 MCP 도구를 호출할 수 있습니다:
# 저장소 정보 조회
mcp_github_enterprise_get_repository(owner="octocat", repo="hello-world")
# 이슈 생성
mcp_github_enterprise_create_issue(
owner="octocat",
repo="hello-world",
title="버그 발견",
body="버그에 대한 설명입니다",
labels=["bug", "priority:high"]
)
# PR 검토
mcp_github_enterprise_list_pull_requests(owner="octocat", repo="hello-world", state="open")
MCP는 AI와 외부 시스템 간의 표준화된 인터페이스를 제공함으로써 다양한 AI 도구들이 동일한 방식으로 GitHub과 상호작용할 수 있게 합니다.
이런 표준화가 생태계 발전에 얼마나 중요한지 실감했습니다.
GitHub.com과 GitHub Enterprise는 비슷하지만 중요한 차이점이 있습니다.
엔터프라이즈 환경에서는 라이센스 관리, 사용자 관리, 시스템 통계 등 추가적인 기능이 필요하며, 이를 위한 특별한 고려사항이 있습니다.
MCP와 같은 프로토콜은 AI가 단순한 텍스트 생성을 넘어 실제 개발 환경과 상호작용하는 데 필수적인 요소가 되고 있습니다.
앞으로도 AI와 개발 도구 간의 통합은 더욱 깊어질 것이며, 이는 개발자 생산성과 코드 품질 향상에 큰 기여를 할 것입니다.
저는 Devops 엔지니어로서 개발자 분들에 비해 코딩 실력이 현저히 부족합니다.
새로운 기술 트렌드를 파악하고 직접 구현해보는 경험은 매우 가치 있었으며, 이런 사이드 프로젝트를 통해 얻은 지식은 일상 업무에도 많은 도움이 되고 있습니다.