Version Control JavaScript ★ 92

kopfrechner/gitlab-mr-mcp

GitLab projelerinizin issue ve merge request'leriyle sorunsuzca etkileşim kurun.

Claude Desktop config.json'a ekle

{
  "mcpServers": {
    "kopfrechner-gitlab-mr-mcp": {
      "command": "node",
      "args": [
        "~/.mcp/gitlab-mr-mcp/index.js"
      ]
    }
  }
}

MseeP.ai Security Assessment Badge

GitHub stars License smithery badge

🚀 GitLab MR MCP

GitLab merge request'leri ve issue'ları ile etkileşim kurmak için bir Model Context Protocol (MCP) sunucusu.

📌 Genel Bakış

Bu proje, AI ajanlarının GitLab repository'leri ile etkileşim kurmasını sağlayan Model Context Protocol (MCP) kullanarak bir sunucu implementi eder. Aşağıdakiler için araçlar sağlar:

  • GitLab projelerini listeleme
  • Merge request detaylarını ve yorumlarını alma
  • Merge request diff'lerini alma
  • Merge request'lere yorum ekleme
  • Merge request diff'lerinde koddaki satıra özgü yorum ekleme
  • Issue detaylarını alma
  • Merge request başlığı ve açıklaması ayarlama

📦 Kurulum

⚡ Smithery Kullanarak

Claude Desktop için GitLab MR MCP'yi Smithery aracılığıyla otomatik olarak kurmak için:

npx -y @smithery/cli@latest install @kopfrechner/gitlab-mr-mcp --client claude --config '"{\"gitlabMrMcpToken\":\"YOUR_GITLAB_TOKEN\", \"gitlabMrMcpHost\": \"YOUR_GITLAB_HOST\"}"'

🛠️ Manuel Kurulum

🔧 Ön Koşullar

  • Node.js
  • API erişimi olan GitLab access token
  • GitLab project ID'si (veya ID'leri)

📖 Kurulum

  1. Bu repository'yi klonlayın
  2. Bağımlılıkları yükleyin:
npm install
  1. MCP client konfigürasyonunuza aşağıdakileri ekleyin:
{
  "mcpServers": {
    "gitlab-mr-mcp": {
      "command": "node",
      "args": ["/path/to/gitlab-mr-mcp/index.js"],
      "env": {
        "MR_MCP_GITLAB_TOKEN": "your_gitlab_token",
        "MR_MCP_GITLAB_HOST": "your_gitlab_host"
      }
    }
  }
}

🛠️ Mevcut Araçlar

  • get_projects Token'ınız ile erişilebilen GitLab projelerinin listesini alır.

  • list_open_merge_requests Belirtilen projede açık olan tüm merge request'leri listeler.

  • get_merge_request_details Belirli bir merge request hakkında detaylı bilgi alır.

  • get_merge_request_comments Belirli bir merge request'ten yorum alır, tartışma notlarını ve diff notlarını içerir.

  • add_merge_request_comment Bir merge request'e genel yorum ekler.

  • add_merge_request_diff_comment Bir merge request'teki dosyadaki belirli bir satıra yorum ekler.

  • get_merge_request_diff Bir merge request için diff'i alır.

  • get_issue_details Belirli bir issue hakkında detaylı bilgi alır.

  • set_merge_request_title Bir merge request'in başlığını ayarlar

  • set_merge_request_description Bir merge request'in açıklamasını ayarlar

🏗️ Geliştirme

🔍 Inspector Çalıştırma

Ortam değişkenlerini ayarlayın:

export MR_MCP_GITLAB_TOKEN=your_gitlab_token
export MR_MCP_GITLAB_HOST=your_gitlab_host

# `get_projects` aracının erişebileceği projeleri filtrelemek için isteğe bağlı ortam değişkenleri:
# https://docs.gitlab.com/api/access_requests/#valid-access-levels
export MR_MCP_MIN_ACCESS_LEVEL=min_access_level
# Proje yolu veya adı ile eşleşmesi gereken arama terimi
export MR_MCP_PROJECT_SEARCH_TERM=term 

MCP client'leriyle kullanmak için şunu çalıştırabilirsiniz:

npx -y @modelcontextprotocol/inspector npm start

🛠️ Sorun Giderme

İzin sorunları (403 Forbidden) ile karşılaşırsanız, aşağıdakileri kontrol edin:

  1. GitLab token'ınızın uygun scope'lara sahip olması (api, read_api)
  2. Token kullanıcısının projelere erişim yetkisinin olması
  3. Project ID'lerinin doğru olması

📜 Lisans

MIT

🤝 Katkıda Bulunma

Katkılar hoşlanır! Lütfen bir Pull Request göndermekten çekinmeyin.

Benzer MCP sunucuları

Daha fazla: Version Control →