Security Scanner MCP Server - Cursor, Claude Desktop, Claude Code integration for URL security scanning, passive/active vulnerability detection, and offline response body analysis
Security Scanner MCP has 5 tools with mixed quality. Tool names follow verb_noun convention (scan_url, list_recent_scans, get_scan, scan_body, clear_scans), which is good. However, descriptions are in Turkish, creating a language barrier for English-speaking LLM agents. Descriptions exist but lack clarity on when to use each tool vs. alternatives. Input schemas are present with types and enums, but parameter descriptions are sparse or missing context. scan_url has 4 params with descriptions, but credentialCheck and async lack detail on side effects. list_recent_scans and get_scan have minimal schemas. clear_scans is destructive but lacks confirmation/dry-run pattern. No output schemas documented. Error handling is absent, no guidance on retryability, user-fixable errors, or recovery paths.
Tüm tarama geçmişini siler. Sonraki list_recent_scans boş döner. Geçmişi sıfırlamak veya eski kayıtları temizlemek için kullanılır.
Belirli bir taramanın tam detaylarını getirir. scanId parametresi list_recent_scans çıktısından alınabilir.
Son 30 taramanın özetini listeler. Her tarama için hedef URL, mod, skor ve tamamlanma zamanı döner.
Bir HTTP yanıt gövdesini (response body) çevrimdışı olarak güvenlik açıkları için analiz eder. Canlı URL erişimi olmadan, kopyalanan sayfa içeriği veya log dosyası üzerinde analiz yapmak için kullanılır.
Bir URL'yi güvenlik açıkları için tarar. Pasif mod public hedeflerde çalışır. Aktif mod yalnızca sunucudaki ALLOWED_ACTIVE_HOSTS exact-host allowlist'i ile izin verilen hedeflerde çalışır.
Descriptions are in Turkish, not English. LLM agents expect English descriptions to understand tool purpose and selection criteria. This blocks non-Turkish-speaking agents from using the server effectively.
clear_scans is destructive (deletes all scan history) but has no confirmation step, dry-run option, or warning in the description. Agents may invoke it accidentally, causing data loss.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., scanId from list_recent_scans to pass to get_scan). This breaks tool chaining.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 53 | 2026-07-28+ | v2 |
scan_url parameters 'async' and 'credentialCheck' lack detail on side effects and constraints. 'async' returns 202 + scanId but no description of polling behavior. 'credentialCheck' mentions 'proxy and gecikme' (Turkish for delay) but no English explanation of privacy implications.
No error handling guidance. Tools do not document retryable vs. fatal errors, timeout behavior, or recovery steps. An agent hitting a timeout on scan_url has no guidance on whether to retry or escalate.