İçeriğe atla
vetkit

Dokümantasyon · MCP

vetkit MCP sunucusu

Kodlama ajanınıza bir kod denetçisi kazandırın. vetkit MCP sunucusu, Claude Code’un — ve diğer tüm Model Context Protocol istemcilerinin — depo bağlamasını, denetim çalıştırmasını, bulguları ve raporları okumasını sağlar.

Claude Code’a kurun
claude mcp add vetkit -e VETKIT_API_KEY=vk_live_... -- npx -y @vetkit/mcp

Ardından ajanınıza “acme/payments-api deposunu denetle ve önce neyi düzeltmem gerektiğini söyle.” gibi bir şey sorun. vetkit sunucusunun bağlı olduğunu doğrulamak için Claude Code içinde /mcp komutunu çalıştırın.

Gereksinimler

  • Node.js 20.3 veya daha yeni bir sürüm; npx komutu PATH üzerinde erişilebilir olmalıdır.
  • Denetlemek istediğiniz depolarda GitHub App’in kurulu olduğu bir vetkit hesabı.
  • Bir vetkit API anahtarı (sonraki adım).

API anahtarı oluşturun

  1. vetkit uygulamasında Ayarlar → API anahtarları sayfasını açın. Anahtarları yalnızca kuruluş sahipleri ve yöneticileri yönetebilir.
  2. Anahtara, kullanılacağı yeri belirten bir ad verin; örneğin “Claude Code — dizüstü”.
  3. Kapsamları seçin. Tam MCP işlevselliği için repos:read, repos:write, audits:read, audits:write, findings:read ve reports:read kapsamlarını seçin. Salt okunur bir ajan için repos:write ve audits:write kapsamlarını dışarıda bırakın.
  4. İsteğe bağlı olarak bir son kullanma tarihi ve dakika başına hız sınırı belirleyin (varsayılan 60, en fazla 600).
  5. Gizli değeri kopyalayın. vk_live_… biçimindedir ve bir kez gösterilir; vetkit yalnızca hash’ini saklar.

Yenileme ve iptal

Bir anahtarı yenilemek yeni bir gizli değer oluşturur ve geçişi yapabilmeniz için eski değeri 24 saat boyunca geçerli tutar. İptal hemen geçerli olur — sonraki istek 401 API_KEY_REVOKED döndürür.

Kurulum

Claude Code

Terminal
claude mcp add vetkit -e VETKIT_API_KEY=vk_live_... -- npx -y @vetkit/mcp

vetkit’i yalnızca geçerli projede değil, tüm projelerde kullanılabilir hale getirmek için --scope user ekleyin.

Claude Desktop

Settings → Developer → Edit Config menüsünü açın, vetkit’i claude_desktop_config.json dosyasına ekleyin ve ardından Claude Desktop’ı yeniden başlatın:

claude_desktop_config.json
{  "mcpServers": {    "vetkit": {      "command": "npx",      "args": ["-y", "@vetkit/mcp"],      "env": { "VETKIT_API_KEY": "vk_live_..." }    }  }}

Cursor

Aynı bloğu ~/.cursor/mcp.json (genel) dosyasına veya bir projedeki .cursor/mcp.json dosyasına ekleyin. Anahtarınızı içeren bir proje yapılandırmasını commit etmeyin.

~/.cursor/mcp.json
{  "mcpServers": {    "vetkit": {      "command": "npx",      "args": ["-y", "@vetkit/mcp"],      "env": { "VETKIT_API_KEY": "vk_live_..." }    }  }}

Diğer MCP istemcileri

stdio sunucusu başlatabilen her istemci çalışır: ortam değişkenlerinde VETKIT_API_KEY tanımlıyken npx -y @vetkit/mcp komutunu çalıştırın. Paketi global olarak kurup vetkit-mcp çalıştırılabilir dosyasını doğrudan da çalıştırabilirsiniz.

Global kurulum
npm install -g @vetkit/mcpVETKIT_API_KEY=vk_live_... vetkit-mcp

Yapılandırma

Sunucu tamamen ortam değişkenleriyle yapılandırılır.

DeğişkenZorunluAçıklama
VETKIT_API_KEYEvetAPI anahtarınız: vk_live_… veya vk_test_….
VETKIT_API_URLHayırAPI temel URL’si. Varsayılan: https://api.vetkit.dev. HTTPS olmalıdır; düz HTTP yalnızca localhost için kabul edilir.
VETKIT_ORG_IDHayırKuruluş kimliği. Her API anahtarı tam olarak bir kuruluşa aittir ve varsayılan olarak o kuruluş kullanılır; bu nedenle buna nadiren ihtiyaç duyarsınız.
VETKIT_APP_URLHayırDenetim bağlantıları için kullanılan web uygulaması URL’si. Varsayılan: https://app.vetkit.dev.

Araçlar

Her araç okunabilir metin döndürür; vetkit_get_report dışındaki tüm araçlar ayrıca tipli, yapılandırılmış içerik de döndürür. Araçlar MCP ek açıklamaları taşır, böylece istemciler salt okunur olanları otomatik olarak onaylayabilir. Araçların hiçbiri bir şey silmez.

vetkit_list_repos

salt okunur

Kuruluşunuza bağlı depoları, en son denetimin notu ve puanıyla birlikte listeler.

Kapsamlar: repos:read

ArgümanTürAçıklama
limitnumberSayfa boyutu, 1–100. Varsayılan 25.
cursorstringÖnceki sayfadaki nextCursor değeri.
Örnek argümanlar
{ "limit": 10 }

vetkit_connect_repo

yazma

Bir GitHub deposunu bağlar. vetkit GitHub App depo sahibi için henüz kurulmamışsa, tarayıcıda açılacak bir kurulum URL’siyle birlikte "installation_required" sonucunu döndürür.

Kapsamlar: repos:write

ArgümanTürAçıklama
urlzorunlustringGitHub URL’si (https://github.com/owner/name) veya "owner/name".
Örnek argümanlar
{ "url": "https://github.com/acme/payments-api" }

vetkit_run_audit

yazma

Bir denetim başlatır ve varsayılan olarak, ilerleme bildirimleri göndererek bitmesini bekler. Gerekirse önce depoyu bağlar. Notu, puanı ve bulgu sayılarını döndürür.

Kapsamlar: repos:read, audits:write, audits:read (otomatik bağlama için + repos:write)

ArgümanTürAçıklama
repozorunlustringDepo kimliği, "owner/name" veya bir GitHub URL’si — /tree/<branch> dahil.
refstringDal, etiket veya commit SHA’sı. Varsayılan olarak URL’deki ref, o da yoksa varsayılan dal kullanılır.
waitbooleanNihai bir durumu bekler. Varsayılan true.
timeoutSecondsnumberEn uzun bekleme süresi, 10–1800. Varsayılan 600. Zaman aşımından sonra denetim çalışmaya devam eder.
Örnek argümanlar
{ "repo": "acme/payments-api", "ref": "main" }

vetkit_get_audit

salt okunur

Bir denetimin durumunu, notunu, puanını, bulgu sayılarını ve analizör bazında ilerlemesini döndürür.

Kapsamlar: audits:read

ArgümanTürAçıklama
auditIdzorunluuuidvetkit_run_audit tarafından döndürülen denetim kimliği.
Örnek argümanlar
{ "auditId": "0192f3a4-5b6c-7d8e-9f01-23456789abcd" }

vetkit_list_findings

salt okunur

Bir denetimin bulgularını en ciddi olandan başlayarak listeler. Metin olarak kompakt bir tablo, yapılandırılmış içerik olarak da tüm ayrıntıları — mesaj, maskelenmiş kod parçası, düzeltme önerisi, referanslar — döndürür.

Kapsamlar: findings:read

ArgümanTürAçıklama
auditIdzorunluuuidOkunacak denetim.
severitystring[]CRITICAL, HIGH, MEDIUM, LOW veya INFO.
categorystring[]SECURITY, SECRETS, DEPENDENCIES, QUALITY, HYGIENE veya AI_SIGNAL.
statusstringNEW (önceki denetimden bu yana ortaya çıkan) veya EXISTING.
limitnumberSayfa boyutu, 1–100. Varsayılan 25.
cursorstringÖnceki sayfadaki nextCursor değeri.
Örnek argümanlar
{ "auditId": "0192f3a4-…", "severity": ["CRITICAL", "HIGH"] }

vetkit_get_report

salt okunur

Tamamlanmış bir denetimin raporunu döndürür: okunabilir Markdown, kategori puanlarını ve önceki denetime göre farkı içeren bir JSON özeti ya da SARIF 2.1.0.

Kapsamlar: reports:read

ArgümanTürAçıklama
auditIdzorunluuuidOkunacak denetim.
formatstringmarkdown (varsayılan), json veya sarif.
maxCharsnumberÇıktıyı bu karakter sayısından sonra kısaltır, 2.000–500.000. Varsayılan 40.000.
Örnek argümanlar
{ "auditId": "0192f3a4-…", "format": "markdown" }

Uzun süren denetimler

Çoğu denetim birkaç dakikada tamamlanır. vetkit_run_audit birkaç saniyede bir durumu sorgular ve beklerken ilerleme bildirimleri gönderir. Bazı istemciler araç çağrılarını sabit bir süreden sonra iptal eder — örneğin Claude Code MCP_TOOL_TIMEOUT ayarına uyar. Sizin istemciniz de böyleyse "wait": false iletin ve vetkit_get_audit ile sorgulayın. timeoutSeconds süresi dolduğunda denetim çalışmaya devam eder ve araç "outcome": "still_running" döndürür.

Hatalar

API hataları isError: true içeren araç sonuçları olarak döner ve HTTP durum kodunu, vetkit hata kodunu, mesajı, istek kimliğini ve bir ipucunu içerir.

  • 401 API_KEY_INVALID, API_KEY_REVOKED, API_KEY_EXPIRED — bir anahtar oluşturun veya mevcut anahtarı yenileyin, VETKIT_API_KEY değerini güncelleyin ve sunucuyu yeniden başlatın.
  • 403 INSUFFICIENT_SCOPE — anahtarda, aracın ihtiyaç duyduğu bir kapsam eksik.
  • 409 AUDIT_CONCURRENCY_LIMIT ve 429 RATE_LIMITED — bekleyip yeniden deneyin; API Retry-After gönderdiğinde ipucu bekleme süresini de içerir.
  • INSTALLATION_REQUIRED bir hata olarak değil, GitHub App kurulum URL’sini içeren normal bir sonuç olarak döndürülür.

Güvenlik notları

  • API anahtarına parola gibi davranın. Anahtar, özel depolar dahil kuruluşunuzun denetimlerine ve bulgularına erişim sağlar. Onu asla commit ettiğiniz dosyalarda değil, MCP istemcinizin env yapılandırmasında tutun. Yalnızca ihtiyacınız olan kapsamları verin, bir son kullanma tarihi belirleyin ve sızarsa uygulamadan iptal edin.
  • Anahtar yalnızca VETKIT_API_URL adresine, HTTPS üzerinden bir Authorization: Bearer başlığı olarak gönderilir. Sunucu onu asla loglara yazmaz veya hata mesajlarına eklemez.
  • Sunucu yalnızca stdio üzerinden MCP ile iletişim kurar. Hiçbir ağ portu açmaz ve logları yalnızca stderr akışına yazar.
  • Bulgulardaki kod parçaları vetkit tarafından saklanmadan önce maskelenir; gizli bilgi değerleri asla döndürülmez.
  • Rapor ve bulgu metinleri denetlenen depodan gelir (dosya yolları, mesajlar). Bunları diğer araç çıktıları gibi güvenilmeyen girdi olarak ele alın — kötü niyetli bir depo, ajanınızı hedef alan talimatlar yerleştirmeye çalışabilir.

Doğrudan HTTP mi tercih ediyorsunuz? MCP sunucusunun yaptığı her şey REST API üzerinden de kullanılabilir.