Gitee

공식

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

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

  • 오픈 소스 저장소 검색search_open_source_repositories를 사용하여 키워드로 공개 Gitee 프로젝트를 찾습니다.
  • 저장소 이슈 목록 및 조회list_repo_issues로 열린 이슈를 가져오고 get_repo_issue_detail로 전체 세부 정보를 확인합니다.
  • 이슈에서 풀 리퀘스트 생성create_pull을 사용하여 PR을 열고, create_commentupdate_issue로 댓글을 달고 관련 이슈를 닫습니다.
  • 풀 리퀘스트 검토 및 병합manage_pull_review로 리뷰를 승인하거나 취소하고 merge_pull로 병합합니다.
  • 저장소 파일 및 릴리스 관리get_file_content로 파일 내용을 읽고, search_files_by_content로 코드를 검색하며, create_release로 릴리스를 게시합니다.
  • 알림 및 사용자 정보 확인list_user_notifications로 Gitee 알림을 나열하고 get_user_info로 인증된 사용자 세부 정보를 가져옵니다.

문서

Gitee MCP 서버

Gitee MCP 서버는 Gitee를 위한 모델 컨텍스트 프로토콜(MCP) 서버 구현체입니다. AI 어시스턴트가 저장소, 이슈, 풀 리퀘스트 등을 관리할 수 있도록 Gitee API와 상호 작용하는 도구 모음을 제공합니다.

Install MCP Server

기능

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

설치 (npx로 시작할 때 이 단계를 직접 건너뛸 수 있습니다)

사전 요구 사항

소스에서 빌드

  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 버전 확인:

mcp-gitee --version

MCP 호스트 구성

구성 예시: 더 많은 애플리케이션 구성 보려면 클릭

원격 MCP 서버

공식 원격 mcp-gitee 서버에 연결 (설치 불필요):

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

Codex는 ~/.codex/config.toml 사용:

[mcp_servers.gitee]
url = "https://api.gitee.com/mcp"
bearer_token_env_var = "GITEE_ACCESS_TOKEN"

opencode는 ~/.config/opencode/opencode.json 사용:

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

명령줄 옵션

  • --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풀 리퀘스트풀 리퀘스트 차이 파일 가져오기
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 파일을 참조하십시오.