Gitee MCP Server

resmi

Gitee API entegrasyonu, depo, konu ve çekme isteği yönetimi ve daha fazlası.

Dokümantasyon

Gitee MCP Sunucusu

Gitee MCP Sunucusu, Gitee için bir Model Bağlam Protokolü (MCP) sunucu uygulamasıdır. Gitee'nin API'si ile etkileşim kurmak için bir dizi araç sunarak yapay zeka asistanlarının depoları, konuları, çekme isteklerini ve daha fazlasını yönetmesine olanak tanır.

Install MCP Server

Özellikler

  • Gitee depoları, konuları, çekme istekleri ve bildirimleriyle etkileşim
  • Farklı Gitee örneklerini desteklemek için yapılandırılabilir API temel URL'si
  • Kolay yapılandırma için komut satırı bayrakları
  • Kişisel, organizasyon ve kurumsal işlemleri destekler
  • Dinamik araç seti etkinleştirme/devre dışı bırakma
Pratik senaryo: Depodan Konu alın, uygulayın ve bir Çekme İsteği oluşturun
  1. Depo Konularını alın get_repo_issues
  2. Kodlamayı uygulayın ve Konu ayrıntılarına dayalı Çekme İsteği oluşturun implement_issue
  3. Yorum yapın ve Konuyu kapatın comment_and_close_issue

Kurulum (npx ile başlatırken bu adım doğrudan atlanabilir)

Ön Koşullar

Kaynaktan Derleme

  1. Depoyu klonlayın:

    git clone https://gitee.com/oschina/mcp-gitee.git
    cd mcp-gitee
    
  2. Projeyi derleyin:

    make build
    

    ./bin/mcp-gitee PATH ortamına taşıyın

go install kullanın

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

Kullanım

mcp-gitee sürümünü kontrol edin:

mcp-gitee --version

MCP Ana Bilgisayar Yapılandırması

Yapılandırma örnekleri: Daha fazla uygulama yapılandırması görüntülemek için tıklayın

Uzak MCP Sunucusu

Resmi uzak mcp-gitee sunucusuna bağlanın (kurulum gerekmez):

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

Codex ~/.codex/config.toml kullanır:

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

opencode ~/.config/opencode/opencode.json kullanır:

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

Komut Satırı Seçenekleri

  • --token: Gitee erişim belirteci
  • --api-base: Gitee API temel URL'si (varsayılan: https://gitee.com/api/v5)
  • --version: Sürüm bilgisini göster
  • --transport: Taşıma türü (stdio, sse veya http, varsayılan: stdio)
  • --address: Sunucunun başlatılacağı ana bilgisayar ve bağlantı noktası (varsayılan: localhost:8000)
  • --enabled-toolsets: Etkinleştirilecek araçların virgülle ayrılmış listesi (belirtilirse, yalnızca bu araçlar etkinleştirilir)
  • --disabled-toolsets: Devre dışı bırakılacak araçların virgülle ayrılmış listesi

Ortam Değişkenleri

Sunucuyu ortam değişkenlerini kullanarak da yapılandırabilirsiniz:

  • GITEE_ACCESS_TOKEN: Gitee erişim belirteci
  • GITEE_API_BASE: Gitee API temel URL'si
  • ENABLED_TOOLSETS: Etkinleştirilecek araçların virgülle ayrılmış listesi
  • DISABLED_TOOLSETS: Devre dışı bırakılacak araçların virgülle ayrılmış listesi

Araç Seti Yönetimi

Araç seti yönetimi iki modu destekler:

  1. Belirtilen araçları etkinleştir (beyaz liste modu):

    • --enabled-toolsets parametresini veya ENABLED_TOOLSETS ortam değişkenini kullanın
    • Belirtildikten sonra, yalnızca listelenen araçlar etkinleştirilir, diğerleri devre dışı bırakılır
    • Örnek: --enabled-toolsets="list_user_repos,get_file_content"
  2. Belirtilen araçları devre dışı bırak (kara liste modu):

    • --disabled-toolsets parametresini veya DISABLED_TOOLSETS ortam değişkenini kullanın
    • Belirtildikten sonra, listelenen araçlar devre dışı bırakılır, diğerleri etkinleştirilir
    • Örnek: --disabled-toolsets="list_user_repos,get_file_content"

Not:

  • Hem enabled-toolsets hem de disabled-toolsets belirtilirse, enabled-toolsets önceliklidir
  • Araç adları büyük/küçük harfe duyarlıdır

İstek Başına Araç Filtreleme (HTTP Başlıkları)

Uzak MCP sunucusunu (HTTP/SSE taşıması) kullanırken, HTTP başlıkları aracılığıyla istek başına kullanılabilir araçları dinamik olarak filtreleyebilirsiniz. Bu, sunucuyu yeniden başlatmadan araç maruziyeti üzerinde ince taneli kontrole ihtiyaç duyan istemciler için kullanışlıdır.

  1. Başlık aracılığıyla belirtilen araçları etkinleştir (beyaz liste):

    • X-MCP-Enabled-Tools başlığını kullanın
    • Bu istek için yalnızca listelenen araçlar etkinleştirilir
    • Örnek: X-MCP-Enabled-Tools: list_user_repos,get_file_content
  2. Başlık aracılığıyla belirtilen araçları devre dışı bırak (kara liste):

    • X-MCP-Disabled-Tools başlığını kullanın
    • Bu istek için listelenen araçlar devre dışı bırakılır
    • Örnek: X-MCP-Disabled-Tools: create_repo,delete_repo

Öncelik kuralları:

  • Aynı istekte hem X-MCP-Enabled-Tools hem de X-MCP-Disabled-Tools varsa, beyaz liste (X-MCP-Enabled-Tools) önceliklidir
  • Araç adları büyük/küçük harfe duyarlıdır

Cursor/Claude için örnek yapılandırma:

{
  "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"
      }
    }
  }
}

Lisans

Bu proje MIT Lisansı altında lisanslanmıştır. Daha fazla bilgi için LICENSE dosyasına bakın.

Kullanılabilir Araçlar

Sunucu, Gitee ile etkileşim kurmak için çeşitli araçlar sağlar:

AraçKategoriAçıklama
list_user_reposDepoKullanıcı yetkili depolarını listele
get_file_contentDepoBir depodaki dosyanın içeriğini al
create_repoDepoBir depo oluştur (kullanıcı, organizasyon veya kurumsal)
fork_repositoryDepoBir depoyu çatalla
create_releaseDepoBir depo için sürüm oluştur
list_releasesDepoDepo sürümlerini listele
search_open_source_repositoriesDepoGitee'de açık kaynak depoları ara
search_files_by_contentDepoBir depoda içeriğe göre dosya ara
compare_branches_tagsDepoBir depoda iki dalı, etiketi veya commit'i karşılaştır
list_repo_pullsÇekme İsteğiBir depodaki çekme isteklerini listele
merge_pullÇekme İsteğiBir çekme isteğini birleştir
create_pullÇekme İsteğiBir çekme isteği oluştur
update_pullÇekme İsteğiBir çekme isteğini güncelle
get_pull_detailÇekme İsteğiBir çekme isteğinin ayrıntılarını al
get_diff_filesÇekme İsteğiBir çekme isteği fark dosyalarını al
manage_pull_reviewÇekme İsteğiBir çekme isteği incelemesini yönet (onayla veya iptal et)
create_commentYorumBir konu veya çekme isteğine yorum oluştur
list_commentsYorumBir konu veya çekme isteği için tüm yorumları listele
create_issueKonuBir konu oluştur
update_issueKonuBir konuyu güncelle
get_repo_issue_detailKonuBir depo konusunun ayrıntılarını al
list_repo_issuesKonuDepo konularını listele
get_user_infoKullanıcıMevcut kimliği doğrulanmış kullanıcı bilgilerini al
search_usersKullanıcıKullanıcıları ara
list_user_notificationsBildirimKullanıcı bildirimlerini listele

Katkı

Açık kaynak topluluğundan katkıları memnuniyetle karşılıyoruz! Bu projeye katkıda bulunmak isterseniz, lütfen şu yönergeleri izleyin:

  1. Depoyu çatallayın.
  2. Özelliğiniz veya hata düzeltmeniz için yeni bir dal oluşturun.
  3. Değişikliklerinizi yapın ve kodun iyi belgelendiğinden emin olun.
  4. Değişikliklerinizin net bir açıklamasıyla bir çekme isteği gönderin.

Daha fazla bilgi için lütfen CONTRIBUTING dosyasına bakın.