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 mcp add vetkit -e VETKIT_API_KEY=vk_live_... -- npx -y @vetkit/mcpArdı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;
npxkomutuPATHü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
- vetkit uygulamasında Ayarlar → API anahtarları sayfasını açın. Anahtarları yalnızca kuruluş sahipleri ve yöneticileri yönetebilir.
- Anahtara, kullanılacağı yeri belirten bir ad verin; örneğin “Claude Code — dizüstü”.
- Kapsamları seçin. Tam MCP işlevselliği için
repos:read,repos:write,audits:read,audits:write,findings:readvereports:readkapsamlarını seçin. Salt okunur bir ajan içinrepos:writeveaudits:writekapsamlarını dışarıda bırakın. - İ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).
- Gizli değeri kopyalayın.
vk_live_…biçimindedir ve bir kez gösterilir; vetkit yalnızca hash’ini saklar.
Yenileme ve iptal
401 API_KEY_REVOKED döndürür.Kurulum
Claude Code
claude mcp add vetkit -e VETKIT_API_KEY=vk_live_... -- npx -y @vetkit/mcpvetkit’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:
{ "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.
{ "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.
npm install -g @vetkit/mcpVETKIT_API_KEY=vk_live_... vetkit-mcpYapılandırma
Sunucu tamamen ortam değişkenleriyle yapılandırılır.
| Değişken | Zorunlu | Açıklama |
|---|---|---|
VETKIT_API_KEY | Evet | API anahtarınız: vk_live_… veya vk_test_…. |
VETKIT_API_URL | Hayır | API 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_ID | Hayır | Kuruluş 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_URL | Hayır | Denetim 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 okunurKuruluşunuza bağlı depoları, en son denetimin notu ve puanıyla birlikte listeler.
Kapsamlar: repos:read
| Argüman | Tür | Açıklama |
|---|---|---|
limit | number | Sayfa boyutu, 1–100. Varsayılan 25. |
cursor | string | Önceki sayfadaki nextCursor değeri. |
{ "limit": 10 }vetkit_connect_repo
yazmaBir 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üman | Tür | Açıklama |
|---|---|---|
urlzorunlu | string | GitHub URL’si (https://github.com/owner/name) veya "owner/name". |
{ "url": "https://github.com/acme/payments-api" }vetkit_run_audit
yazmaBir 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üman | Tür | Açıklama |
|---|---|---|
repozorunlu | string | Depo kimliği, "owner/name" veya bir GitHub URL’si — /tree/<branch> dahil. |
ref | string | Dal, etiket veya commit SHA’sı. Varsayılan olarak URL’deki ref, o da yoksa varsayılan dal kullanılır. |
wait | boolean | Nihai bir durumu bekler. Varsayılan true. |
timeoutSeconds | number | En uzun bekleme süresi, 10–1800. Varsayılan 600. Zaman aşımından sonra denetim çalışmaya devam eder. |
{ "repo": "acme/payments-api", "ref": "main" }vetkit_get_audit
salt okunurBir denetimin durumunu, notunu, puanını, bulgu sayılarını ve analizör bazında ilerlemesini döndürür.
Kapsamlar: audits:read
| Argüman | Tür | Açıklama |
|---|---|---|
auditIdzorunlu | uuid | vetkit_run_audit tarafından döndürülen denetim kimliği. |
{ "auditId": "0192f3a4-5b6c-7d8e-9f01-23456789abcd" }vetkit_list_findings
salt okunurBir 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üman | Tür | Açıklama |
|---|---|---|
auditIdzorunlu | uuid | Okunacak denetim. |
severity | string[] | CRITICAL, HIGH, MEDIUM, LOW veya INFO. |
category | string[] | SECURITY, SECRETS, DEPENDENCIES, QUALITY, HYGIENE veya AI_SIGNAL. |
status | string | NEW (önceki denetimden bu yana ortaya çıkan) veya EXISTING. |
limit | number | Sayfa boyutu, 1–100. Varsayılan 25. |
cursor | string | Önceki sayfadaki nextCursor değeri. |
{ "auditId": "0192f3a4-…", "severity": ["CRITICAL", "HIGH"] }vetkit_get_report
salt okunurTamamlanmış 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üman | Tür | Açıklama |
|---|---|---|
auditIdzorunlu | uuid | Okunacak denetim. |
format | string | markdown (varsayılan), json veya sarif. |
maxChars | number | Çıktıyı bu karakter sayısından sonra kısaltır, 2.000–500.000. Varsayılan 40.000. |
{ "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_KEYdeğerini güncelleyin ve sunucuyu yeniden başlatın.403 INSUFFICIENT_SCOPE— anahtarda, aracın ihtiyaç duyduğu bir kapsam eksik.409 AUDIT_CONCURRENCY_LIMITve429 RATE_LIMITED— bekleyip yeniden deneyin; APIRetry-Aftergönderdiğinde ipucu bekleme süresini de içerir.INSTALLATION_REQUIREDbir 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
envyapı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_URLadresine, HTTPS üzerinden birAuthorization: Bearerbaş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.