Skip to main content
Glama
yashwant-kumar08

GitHub Dev Copilot

GitHub Dev Copilot - MCP Server

프로덕션 준비가 완료된 Model Context Protocol (MCP) 서버로, AI 에이전트를 위한 GitHub Copilot 역할을 합니다. 에이전트가 GitHub API와 상호작용하여 저장소, 이슈, PR을 관리하고 저장소 상태를 분석할 수 있는 도구를 제공합니다.

아키텍처

+----------------+      +-----------------------+      +-------------+
|    AI Agent    | ---> |  GitHub MCP Server    | <--> |  GitHub API |
| (Client)       | STDI |  (Python / FastMCP)   | HTTP |             |
+----------------+      +-----------------------+      +-------------+
                                   |
                        +-----------------------+
                        |        Tools          |
                        | - list_repositories   |
                        | - read_issues         |
                        | - create_issue        |
                        | - comment_on_pr       |
                        | - analyze_repo_health |
                        +-----------------------+

Related MCP server: github-mcp-server

기능

  • 인증: GitHub 개인 액세스 토큰(PAT)을 사용하여 안전하게 연결합니다.

  • 도구: 견고하고 엄격한 타입의 MCP 도구를 제공합니다.

  • 안전:

    • Pydantic을 사용하여 입력을 검증합니다.

    • 차단을 방지하기 위해 API 호출 속도를 제한합니다.

    • 토큰을 절대 노출하지 않습니다.

  • 분석: 저장소를 점수화하는 지능적인 analyze_repo_health 도구.

설정

  1. 저장소를 클론합니다 (해당되는 경우) 또는 프로젝트 디렉터리로 이동합니다.

  2. 의존성 설치:

    pip install -r requirements.txt
  3. 환경 구성: .env.example을 .env로 복사하고 GitHub PAT를 추가하세요.

    cp .env.example .env
    # Edit .env and set GITHUB_TOKEN
  4. 서버 실행: Python으로 직접 실행하거나 MCP 클라이언트 인스펙터를 통해 실행할 수 있습니다.

    python main.py

Claude Desktop 또는 MCP 클라이언트와 함께 사용하기

claude_desktop_config.json에 서버 구성을 추가하세요:

{
  "mcpServers": {
    "github-copilot": {
      "command": "python",
      "args": ["/path/to/mcp_github_dev_copilot/main.py"]
    }
  }
}

사용 가능한 도구

1. list_repositories

인증된 사용자가 접근할 수 있는 저장소 목록을 표시합니다.

  • 반환: 이름, 소유자, 비공개/공개 상태, 스타 수, 언어.

2. read_issues

저장소에서 이슈를 가져옵니다.

  • 입력: repo_owner, repo_name, state ("open", "closed", "all")

  • 출력: ID, 제목, 레이블이 포함된 이슈 목록.

3. create_issue

새 이슈를 생성합니다.

  • 입력: repo_owner, repo_name, title, body (markdown), labels

  • 출력: 이슈 URL 및 번호.

4. comment_on_pr

Pull Request에 댓글을 추가합니다.

  • 입력: repo_owner, repo_name, pr_number, comment_text

  • 출력: 댓글 URL.

5. analyze_repo_health

저장소에 대한 상태 점검을 수행합니다.

  • 검사 항목: 열린 이슈 수, 오래된 이슈(>30일), 최근 커밋 활동, 테스트 존재 여부, CI 구성.

  • 출력: 상태 점수(0-100) 및 개선 제안.

보안 및 제한 사항

  • 속도 제한: 서버는 대기 또는 재시도를 통해 GitHub 속도 제한을 처리하는 데코레이터를 구현합니다.

  • 범위: PAT에 repo, read:org, workflow 범위가 있는지 확인하세요.

  • 브라우저 불필요: 이 서버는 공식 GitHub API를 사용하며 웹 스크래핑을 하지 않습니다.

  • 로그: MCP stdio 통신을 방해하지 않도록 활동이 stderr에 기록됩니다.

향후 개선 사항

  • update_issue 및 merge_pr 도구를 추가합니다.

  • 파일 내용 읽기/검색을 구현합니다.

  • GitHub App 인증 지원을 추가합니다.

Related MCP Connectors

Related MCP Servers