SecScan
by secscan.us · remote · no sign-in to list tools · v1.1.0 · published by us.secscan
Scan, monitor and fix a live web app from your editor: graded security reports with fix prompts.
12 tools: 1 can delete or cancel things, 5 change things and 6 only read.
Scanned Oct 21, 2026
- Deletes or cancels1Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things5Claude Code: ask: see these tools
- Only reads6Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http secscan https://secscan.us/api/mcp --header 'Authorization: <your-authorization>'Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
12 tools
Deletes or cancels 1Claude Code: deny
dismiss_findingMark a finding as a false positive for this site, so future scans of it stop reporting it — the same as Dismiss in the app, and undoable there.No findings
Why it is in this group
- The name "dismiss_finding" says "dismiss": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Mark a finding as a false positive for this site, so future scans of it stop reporting it — the same as Dismiss in the app, and undoable there. ONLY use this after the user has confirmed the finding is wrong; never dismiss a real problem to improve a grade.
Annotations the server declares
- destructiveHint: true
Changes things 5Claude Code: ask
add_monitorPut a site the user owns under continuous monitoring: hourly uptime checks, CVE matching, certificate alerts and regular rescans.No findings
Why it is in this group
- The name "add_monitor" says "add": a word for a change.
Description, as the server wrote it Put a site the user owns under continuous monitoring: hourly uptime checks, CVE matching, certificate alerts and regular rescans. Runs a full baseline scan straight away, which uses one of the user's scans exactly as in the app (free for plan holders). Returns the baseline scan_id for get_scan_status.
Annotations the server declares
- openWorldHint: true
check_domain_verificationCheck whether the file or DNS record from start_domain_verification is live.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Check whether the file or DNS record from start_domain_verification is live. On success the domain is verified and its next scan includes active tests. DNS changes can take a few minutes.
Annotations the server declares
- idempotentHint: true
- openWorldHint: true
monitor_scan_nowRun a full scan of a monitored site now instead of waiting for its schedule — e.g.No findings
Why it is in this group
- The description's first verb is "run": a word for a change.
Description, as the server wrote it Run a full scan of a monitored site now instead of waiting for its schedule — e.g. to confirm a fix. Free for plan holders; otherwise uses one of the user's scans, as in the app. Takes the monitor id from list_monitors.
Annotations the server declares
- openWorldHint: true
scan_urlStart a SecScan security scan of a web application the user owns or is authorised to test.No findings
Why it is in this group
- The description's first verb is "start": a word for a change.
Description, as the server wrote it Start a SecScan security scan of a web application the user owns or is authorised to test. Returns a scan_id; most scans finish in under a minute — then call get_scan_status with wait_seconds, or get_report. Active tests (injection, XSS, SSRF…) run only on domains the user has verified; others get passive checks. Optionally also reads a GitHub repository's source (github_repo): any public one, or a private one the user connected at secscan.us. That only contacts GitHub, never the site. Each scan uses one of the user's free scans, plan scans or credits.
Annotations the server declares
- openWorldHint: true
start_domain_verificationBegin proving the user owns a domain, which unlocks active tests (injection, XSS, SSRF, access control) on its scans.No findings
Why it is in this group
- The name "start_domain_verification" says "start": a word for a change.
Description, as the server wrote it Begin proving the user owns a domain, which unlocks active tests (injection, XSS, SSRF, access control) on its scans. Returns a file to publish on the site, or a DNS TXT record — an editor can usually add the file to the codebase and deploy it. Then call check_domain_verification. Calling it again returns the same token, so a record already published stays valid.
Annotations the server declares
- idempotentHint: false
Only reads 6Claude Code: allow
get_accountHow many scans the user can still run — free scans, plan scans and credits — and their plan.No findings
Why it is in this group
- The name "get_account" says "get": a word for reading.
Description, as the server wrote it How many scans the user can still run — free scans, plan scans and credits — and their plan. Check this before starting several scans.
Annotations the server declares
- readOnlyHint: true
get_reportThe finished report for a scan: grade, what the scan tested and what it skipped (a clean grade says nothing about skipped areas, so say so), prioritised findings with fixes and evi…No findings
Why it is in this group
- The name "get_report" says "get": a word for reading.
Description, as the server wrote it The finished report for a scan: grade, what the scan tested and what it skipped (a clean grade says nothing about skipped areas, so say so), prioritised findings with fixes and evidence, and a fix prompt written for the user's AI editor. Findings come 25 per page, most severe first — pass offset for the next page, or min_severity (e.g. "high") to focus on what matters most.
Annotations the server declares
- readOnlyHint: true
get_scan_statusStatus of a scan (queued, scanning, analyzing, complete, failed).No findings
Why it is in this group
- The name "get_scan_status" says "get": a word for reading.
Description, as the server wrote it Status of a scan (queued, scanning, analyzing, complete, failed). With wait_seconds (max 60) it waits for the scan to finish and returns the full report as soon as it does.
Annotations the server declares
- readOnlyHint: true
list_monitorsSites under continuous monitoring: latest grade, last and next scan, uptime check, CVE alerts, new problems in the last scan and certificate expiry.No findings
Why it is in this group
- The name "list_monitors" says "list": a word for reading.
Description, as the server wrote it Sites under continuous monitoring: latest grade, last and next scan, uptime check, CVE alerts, new problems in the last scan and certificate expiry. Use the monitor id with monitor_scan_now.
Annotations the server declares
- readOnlyHint: true
list_recent_scansThe user's most recent scans with their status, newest first.No findings
Why it is in this group
- The name "list_recent_scans" says "list": a word for reading.
Description, as the server wrote it The user's most recent scans with their status, newest first.
Annotations the server declares
- readOnlyHint: true
list_verified_domainsDomains the user has proved they own.No findings
Why it is in this group
- The name "list_verified_domains" says "list": a word for reading.
Description, as the server wrote it Domains the user has proved they own. Only these receive active testing (injection, XSS, SSRF, access control); others get passive checks. Verify more at https://secscan.us/domains.
Annotations the server declares
- readOnlyHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.1.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http secscan https://secscan.us/api/mcp --header 'Authorization: <your-authorization>'Run in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__secscan__get_scan_status",
"mcp__secscan__get_report",
"mcp__secscan__list_recent_scans",
"mcp__secscan__list_verified_domains",
"mcp__secscan__get_account",
"mcp__secscan__list_monitors"
],
"ask": [
"mcp__secscan__scan_url",
"mcp__secscan__start_domain_verification",
"mcp__secscan__check_domain_verification",
"mcp__secscan__add_monitor",
"mcp__secscan__monitor_scan_now"
],
"deny": [
"mcp__secscan__dismiss_finding"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as secscan. Review it before you use it.