Gitee

공식

Gitee API 통합, 저장소, 이슈 및 풀 리퀘스트 관리 등.

Gitee MCP(으)로 무엇을 할 수 있나요?

  • 저장소 이슈 관리 — 어시스턴트에게 list_repo_issues, create_issue, update_issue를 사용하여 저장소의 이슈를 나열, 생성 또는 업데이트하도록 요청하세요.
  • 풀 리퀘스트 처리 — 어시스턴트가 list_repo_pulls, create_pull, merge_pull, manage_pull_review 같은 도구로 풀 리퀘스트를 나열, 생성, 병합 또는 검토하도록 하세요.
  • 저장소 콘텐츠 탐색get_file_content, compare_branches_tags, search_files_by_content를 사용하여 파일 내용을 가져오고, 브랜치나 태그를 비교하며, 콘텐츠로 파일을 검색하세요.
  • 릴리스 및 포크 관리create_release, list_releases, fork_repository를 통해 릴리스를 생성하거나 기존 릴리스를 나열하고, 저장소를 포크하세요.
  • 검색 및 발견search_open_source_repositoriessearch_users로 Gitee에서 오픈 소스 저장소나 사용자를 찾으세요.
  • 알림 추적list_user_notifications로 최신 알림을 확인하세요.

문서

Gitee MCP 서버

Gitee MCP 서버는 Gitee를 위한 Model Context Protocol(MCP) 서버 구현입니다. Gitee의 API와 상호작용하기 위한 도구 세트를 제공하여 AI 어시스턴트가 저장소, 이슈, 풀 리퀘스트 등을 관리할 수 있게 합니다.

Install MCP Server

기능

  • Gitee 저장소, 이슈, 풀 리퀘스트 및 알림과 상호작용
  • 다양한 Gitee 인스턴스를 지원하도록 구성 가능한 API 기본 URL
  • 쉬운 구성을 위한 명령줄 플래그
  • 개인, 조직 및 엔터프라이즈 작업 모두 지원
  • 동적 도구 세트 활성화/비활성화
실용 시나리오: 저장소에서 Issue를 가져오고, 구현한 후 Pull Request 생성
  1. 저장소 이슈 가져오기 get_repo_issues
  2. Issue 세부 정보를 기반으로 코딩 구현 및 Pull Request 생성 implement_issue
  3. Issue에 댓글 달기 및 닫기 comment_and_close_issue

설치

원격 MCP 서버는 설치가 필요 없으며 바로 사용할 수 있습니다. mcp-gitee를 로컬(stdio)에서 실행하려면 아래 옵션 중 하나를 선택하세요.

원격 MCP 서버 (권장)

호스트 구성의 mcpServers 섹션에 다음을 추가하고, <your personal access token>여기에서 얻은 토큰으로 교체하세요:

{
  "mcpServers": {
    "gitee": {
      "url": "https://api.gitee.com/mcp",
      "headers": {
        "Authorization": "Bearer <your personal access token>"
      }
    }
  }
}

클라이언트별 구성 파일 경로 및 형식(Claude Code, Codex, Cursor, Trae, Cline, Continue, opencode)에 대해서는 아래 MCP 호스트 구성 섹션에 연결된 가이드를 따르세요.

로컬 (stdio)

사전 빌드된 바이너리 다운로드

Releases에서 플랫폼에 맞는 아카이브(linux-amd64 / linux-arm / darwin-amd64 / darwin-arm64 / windows-amd64)를 받아 압축을 풀고 mcp-gitee을 PATH에 추가하세요 (Windows에서는 실행 파일이 mcp-gitee.exe입니다).

npx 사용

설치가 필요 없습니다. 플랫폼에 맞는 사전 빌드된 바이너리가 시작 시 자동으로 다운로드됩니다:

{
  "mcpServers": {
    "gitee": {
      "command": "npx",
      "args": [
        "-y",
        "@gitee/mcp-gitee@latest"
      ],
      "env": {
        "GITEE_API_BASE": "https://gitee.com/api/v5",
        "GITEE_ACCESS_TOKEN": "<your personal access token>"
      }
    }
  }
}

소스에서 빌드

Go 1.23.0 이상이 필요합니다.

  1. 저장소를 클론합니다:

    git clone https://gitee.com/oschina/mcp-gitee.git
    cd mcp-gitee
    
  2. 프로젝트를 빌드합니다:

    make build
    

    ./bin/mcp-gitee를 PATH 환경 변수로 이동

go install 사용

go install gitee.com/oschina/mcp-gitee@latest

설치된 실행 파일 사용

mcp-gitee이 PATH에서 사용 가능해지면 (Releases, 소스 빌드 또는 go install를 통해):

{
  "mcpServers": {
    "gitee": {
      "command": "mcp-gitee",
      "env": {
        "GITEE_API_BASE": "https://gitee.com/api/v5",
        "GITEE_ACCESS_TOKEN": "<your personal access token>"
      }
    }
  }
}

Windows: 실행 파일에는 .exe 접미사가 포함되어야 하며, command의 경로는 슬래시(/)를 사용해야 합니다 (Windows에서 허용되며 JSON 백슬래시 이스케이프 오류를 방지합니다):

{
  "mcpServers": {
    "gitee": {
      "command": "C:/Users/<you>/bin/mcp-gitee.exe",
      "env": {
        "GITEE_ACCESS_TOKEN": "<your personal access token>"
      }
    }
  }
}

MCP 호스트 구성

구성 예시: 더 많은 애플리케이션 구성 보기

명령줄 옵션

  • --token: Gitee 액세스 토큰
  • --api-base: Gitee API 기본 URL (기본값: https://gitee.com/api/v5)
  • --version: 버전 정보 표시
  • --transport: 전송 유형 (stdio, sse 또는 http, 기본값: stdio)
  • --address: 서버를 시작할 호스트 및 포트 (기본값: localhost:8000)
  • --enabled-toolsets: 활성화할 도구의 쉼표로 구분된 목록 (지정된 경우 해당 도구만 활성화됨)
  • --disabled-toolsets: 비활성화할 도구의 쉼표로 구분된 목록

환경 변수

환경 변수를 사용하여 서버를 구성할 수도 있습니다:

  • GITEE_ACCESS_TOKEN: Gitee 액세스 토큰
  • GITEE_API_BASE: Gitee API 기본 URL
  • ENABLED_TOOLSETS: 활성화할 도구의 쉼표로 구분된 목록
  • DISABLED_TOOLSETS: 비활성화할 도구의 쉼표로 구분된 목록

도구 세트 관리

도구 세트 관리는 두 가지 모드를 지원합니다:

  1. 지정된 도구 활성화 (화이트리스트 모드):

    • --enabled-toolsets 매개변수 또는 ENABLED_TOOLSETS 환경 변수 사용
    • 지정 후 나열된 도구만 활성화되고 나머지는 비활성화됩니다
    • 예시: --enabled-toolsets="list_user_repos,get_file_content"
  2. 지정된 도구 비활성화 (블랙리스트 모드):

    • --disabled-toolsets 매개변수 또는 DISABLED_TOOLSETS 환경 변수 사용
    • 지정 후 나열된 도구는 비활성화되고 나머지는 활성화됩니다
    • 예시: --disabled-toolsets="list_user_repos,get_file_content"

참고:

  • enabled-toolsetsdisabled-toolsets이 모두 지정된 경우 enabled-toolsets가 우선합니다
  • 도구 이름은 대소문자를 구분합니다

요청별 도구 필터링 (HTTP 헤더)

원격 MCP 서버(HTTP/SSE 전송)를 사용할 때 HTTP 헤더를 통해 요청별로 사용 가능한 도구를 동적으로 필터링할 수 있습니다. 이는 서버를 재시작하지 않고 도구 노출을 세밀하게 제어해야 하는 클라이언트에 유용합니다.

  1. 헤더를 통한 지정된 도구 활성화 (화이트리스트):

    • X-MCP-Enabled-Tools 헤더 사용
    • 해당 요청에 대해 나열된 도구만 활성화됩니다
    • 예시: X-MCP-Enabled-Tools: list_user_repos,get_file_content
  2. 헤더를 통한 지정된 도구 비활성화 (블랙리스트):

    • X-MCP-Disabled-Tools 헤더 사용
    • 해당 요청에 대해 나열된 도구가 비활성화됩니다
    • 예시: X-MCP-Disabled-Tools: create_repo,delete_repo

우선순위 규칙:

  • 동일한 요청에 X-MCP-Enabled-ToolsX-MCP-Disabled-Tools이 모두 있는 경우 화이트리스트(X-MCP-Enabled-Tools)가 우선합니다
  • 도구 이름은 대소문자를 구분합니다

Cursor/Claude 구성 예시:

{
  "mcpServers": {
    "gitee": {
      "url": "https://api.gitee.com/mcp",
      "headers": {
        "Authorization": "Bearer <your personal access token>",
        "X-MCP-Enabled-Tools": "list_user_repos,get_file_content,list_repo_issues"
      }
    }
  }
}

라이선스

이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.

사용 가능한 도구

서버는 Gitee와 상호작용하기 위한 다양한 도구를 제공합니다:

도구카테고리설명
list_user_repos저장소사용자 권한이 있는 저장소 목록
get_file_content저장소저장소의 파일 내용 가져오기
create_repo저장소저장소 생성 (사용자, 조직 또는 엔터프라이즈)
fork_repository저장소저장소 포크
create_release저장소저장소 릴리스 생성
list_releases저장소저장소 릴리스 목록
search_open_source_repositories저장소Gitee에서 오픈 소스 저장소 검색
search_files_by_content저장소저장소에서 내용으로 파일 검색
compare_branches_tags저장소저장소의 두 브랜치, 태그 또는 커밋 비교
list_repo_pulls풀 리퀘스트저장소의 풀 리퀘스트 목록
merge_pull풀 리퀘스트풀 리퀘스트 병합
create_pull풀 리퀘스트풀 리퀘스트 생성
update_pull풀 리퀘스트풀 리퀘스트 업데이트
get_pull_detail풀 리퀘스트풀 리퀘스트 세부 정보 가져오기
get_diff_files풀 리퀘스트풀 리퀘스트 diff 파일 가져오기
manage_pull_review풀 리퀘스트풀 리퀘스트 리뷰 관리 (승인 또는 취소)
create_comment댓글이슈 또는 풀 리퀘스트에 댓글 생성
list_comments댓글이슈 또는 풀 리퀘스트의 모든 댓글 목록
create_issue이슈이슈 생성
update_issue이슈이슈 업데이트
get_repo_issue_detail이슈저장소 이슈 세부 정보 가져오기
list_repo_issues이슈저장소 이슈 목록
get_user_info사용자현재 인증된 사용자 정보 가져오기
search_users사용자사용자 검색
list_user_notifications알림사용자 알림 목록

기여

오픈 소스 커뮤니티의 기여를 환영합니다! 이 프로젝트에 기여하려면 다음 지침을 따르세요:

  1. 저장소를 포크합니다.
  2. 기능 또는 버그 수정을 위한 새 브랜치를 만듭니다.
  3. 변경 사항을 적용하고 코드가 잘 문서화되었는지 확인합니다.
  4. 변경 사항에 대한 명확한 설명과 함께 풀 리퀘스트를 제출합니다.

자세한 내용은 CONTRIBUTING 파일을 참조하세요.