ScanMalware.com URL Scanner
REMOTE · MCP.SCANMALWARE.COM · SCANNED AUG 3
MCP server for ScanMalware.com URL scanning, malware detection, and analysis.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →
Endpoint Security80
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one. See how to fix → View diagnostics → Partial
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability37
- AI-judged instruction clarity (poor).Fail
- Tool/resource definitions use about 4565 tokens (~35/item across 128 items; 128 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
- Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage71
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 0% of tool parameters carry a description.Fail
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
remote · mcp.scanmalware.com
claude mcp add --transport http com-scanmalware-mcp-scanmalware-mcp https://mcp.scanmalware.com/mcp
[mcp_servers.com-scanmalware-mcp-scanmalware-mcp] url = "https://mcp.scanmalware.com/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"com-scanmalware-mcp-scanmalware-mcp": {
"type": "remote",
"url": "https://mcp.scanmalware.com/mcp",
"enabled": true
}
}
} openclaw mcp add com-scanmalware-mcp-scanmalware-mcp --url https://mcp.scanmalware.com/mcp --transport streamable-http
mcp_servers:
com-scanmalware-mcp-scanmalware-mcp:
url: "https://mcp.scanmalware.com/mcp" {
"mcpServers": {
"com-scanmalware-mcp-scanmalware-mcp": {
"type": "http",
"url": "https://mcp.scanmalware.com/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 3 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.
- 1 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.
- 31 Jul 26 +6
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 +1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 29 Jul 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.
- 27 Jul 26 +9
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 26 Jul 26 47
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Probed https://mcp.scanmalware.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=mcp.scanmalware.com | CN=YE2,O=Let's Encrypt,C=US | 13 Jun 2026 | 11 Sept 2026 | ECDSA 256 | ECDSA-SHA384 | 5e9ac25e266941e92684a73c0b2622a4caa |
| SANs: mcp.scanmalware.com | ||||||
| CN=YE2,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 4df3b15dd6c0784c507cd37b58e6f115 |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
DNSSEC insecure
Validation of mcp.scanmalware.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| scanmalware.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=31536000 |
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://mcp.scanmalware.com/mcp | Verified | 200 | |
| http (plaintext) | http://mcp.scanmalware.com/mcp | HTTPS enforced | 301 | https://mcp.scanmalware.com/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
get_pcap_metadata Get PCAP Metadata ~27
Get PCAP metadata for a scan_id.
| Name | Type | Req | Description |
|---|---|---|---|
| scan_id | string | yes | — |
Structured output declared, but exposes no named fields.
No examples provided.
get_platform_stats Get Platform Stats ~13
Get platform statistics.
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
get_popular_technologies Get Popular Technologies ~38
Get popular technologies (paginated).
| Name | Type | Req | Description |
|---|---|---|---|
| days | — | — | — |
| limit | integer | — | — |
| page | integer | — | — |
Structured output declared, but exposes no named fields.
No examples provided.
get_rdap Get RDAP ~26
Get RDAP details for a scan_id.
| Name | Type | Req | Description |
|---|---|---|---|
| scan_id | string | yes | — |
Structured output declared, but exposes no named fields.
No examples provided.
get_recent_scans Get Recent Scans ~32
Get recent public scans (paginated).
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | — |
| page | integer | — | — |
Structured output declared, but exposes no named fields.
No examples provided.
get_recent_threats Get Recent Threats ~28
Get recent malware threats.
| Name | Type | Req | Description |
|---|---|---|---|
| hours | — | — | — |
| limit | integer | — | — |
Structured output declared, but exposes no named fields.
No examples provided.
get_recent_yara_threats Get Recent YARA Threats ~31
Get recent YARA threats.
| Name | Type | Req | Description |
|---|---|---|---|
| hours | — | — | — |
| limit | integer | — | — |
Structured output declared, but exposes no named fields.
No examples provided.
get_safe_browsing Get Safe Browsing ~28
Get safe browsing threats for a scan_id.
| Name | Type | Req | Description |
|---|---|---|---|
| scan_id | string | yes | — |
Structured output declared, but exposes no named fields.
No examples provided.
get_safe_browsing_stats Get Safe Browsing Stats ~17
Get safe browsing stats.
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
get_scan_ioc Get Scan IOC ~26
Get IOC matches for a scan_id.
| Name | Type | Req | Description |
|---|---|---|---|
| scan_id | string | yes | — |
Structured output declared, but exposes no named fields.
No examples provided.
get_scan_progress Get Scan Progress ~24
Get scan progress by scan_id.
| Name | Type | Req | Description |
|---|---|---|---|
| scan_id | string | yes | — |
Structured output declared, but exposes no named fields.
No examples provided.
get_scan_reports Get Scan Reports ~31
Get available reports for a scan_id.
| Name | Type | Req | Description |
|---|---|---|---|
| report_type | — | — | — |
| scan_id | string | yes | — |
Structured output declared, but exposes no named fields.
No examples provided.
get_scan_result Get Scan Result ~25
Get full scan result by scan_id.
| Name | Type | Req | Description |
|---|---|---|---|
| scan_id | string | yes | — |
Structured output declared, but exposes no named fields.
No examples provided.
get_scan_summary Get Scan Summary ~25
Get compact scan summary by scan_id.
| Name | Type | Req | Description |
|---|---|---|---|
| scan_id | string | yes | — |
Structured output declared, but exposes no named fields.
No examples provided.
get_screenshot_stats Get Screenshot Stats ~14
Get screenshot statistics.
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
get_technologies_by_scan Get Technologies By Scan ~28
Get detected technologies for a scan_id.
| Name | Type | Req | Description |
|---|---|---|---|
| scan_id | string | yes | — |
Structured output declared, but exposes no named fields.
No examples provided.
get_technology_combinations Get Technology Combinations ~47
Get technology combinations (paginated).
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | — |
| min_occurrences | — | — | — |
| page | integer | — | — |
| tech_name | string | yes | — |
Structured output declared, but exposes no named fields.
No examples provided.
get_technology_stats Get Technology Stats ~14
Get technology stats.
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
get_tls_asn1 Get TLS ASN1 ~31
Get TLS certificate ASN.1 data for a scan_id.
| Name | Type | Req | Description |
|---|---|---|---|
| scan_id | string | yes | — |
Structured output declared, but exposes no named fields.
No examples provided.
get_tls_details Get TLS Details ~25
Get TLS details for a scan_id.
| Name | Type | Req | Description |
|---|---|---|---|
| scan_id | string | yes | — |
Structured output declared, but exposes no named fields.
No examples provided.
get_top_tracking_keys Get Top Tracking Keys ~28
Get top tracking keys.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | — |
| tracker_type | — | — | — |
Structured output declared, but exposes no named fields.
No examples provided.
get_yara_by_scan Get YARA By Scan ~28
Get YARA results for a scan_id.
| Name | Type | Req | Description |
|---|---|---|---|
| scan_id | string | yes | — |
Structured output declared, but exposes no named fields.
No examples provided.
get_yara_matches Get YARA Matches ~27
Get YARA matches for a scan_id.
| Name | Type | Req | Description |
|---|---|---|---|
| scan_id | string | yes | — |
Structured output declared, but exposes no named fields.
No examples provided.
get_yara_stats Get YARA Stats ~15
Get YARA stats.
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
run_js_differential_analysis Run JS Differential Analysis ~48
Run JS differential analysis for a scan_id.
| Name | Type | Req | Description |
|---|---|---|---|
| include_known_libraries | boolean | — | — |
| min_confidence | number | — | — |
| scan_id | string | yes | — |
Structured output declared, but exposes no named fields.
No examples provided.
search_ai_classification Search AI Classification ~30
Search AI scans by classification.
| Name | Type | Req | Description |
|---|---|---|---|
| classification | string | yes | — |
| limit | integer | — | — |
Structured output declared, but exposes no named fields.
No examples provided.
search_ai_high_risk Search AI High Risk ~39
Search AI high-risk scans.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | — |
| min_confidence | — | — | — |
| min_risk_score | — | — | — |
Structured output declared, but exposes no named fields.
No examples provided.
search_ai_scam_type Search AI Scam Type ~33
Search AI scans by scam type.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | — |
| scam_type | string | yes | — |
Structured output declared, but exposes no named fields.
No examples provided.
search_analyzer_high_risk Search Analyzer High Risk ~43
Search analyzer high-risk scans (paginated).
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | — |
| min_risk_score | — | — | — |
| page | integer | — | — |
Structured output declared, but exposes no named fields.
No examples provided.
search_by_asn Search By ASN ~41
Search scans by ASN (paginated).
| Name | Type | Req | Description |
|---|---|---|---|
| asn_number | integer | yes | — |
| limit | integer | — | — |
| page | integer | — | — |
Structured output declared, but exposes no named fields.
No examples provided.
search_by_favicon Search By Favicon ~49
Search scans by favicon hash (paginated).
| Name | Type | Req | Description |
|---|---|---|---|
| hash_type | string | — | — |
| hash_value | string | yes | — |
| limit | integer | — | — |
| page | integer | — | — |
Structured output declared, but exposes no named fields.
No examples provided.
search_by_fuzzy_hash Search By Fuzzy Hash ~50
Search scans by fuzzy hash (paginated).
| Name | Type | Req | Description |
|---|---|---|---|
| hash_type | string | yes | — |
| hash_value | string | yes | — |
| limit | integer | — | — |
| page | integer | — | — |
Structured output declared, but exposes no named fields.
No examples provided.
search_by_ip Search By IP ~40
Search scans by IP address (paginated).
| Name | Type | Req | Description |
|---|---|---|---|
| ip_address | string | yes | — |
| limit | integer | — | — |
| page | integer | — | — |
Structured output declared, but exposes no named fields.
No examples provided.
search_by_jarm Search By JARM ~43
Search scans by JARM signature (paginated).
| Name | Type | Req | Description |
|---|---|---|---|
| jarm_signature | string | yes | — |
| limit | integer | — | — |
| page | integer | — | — |
Structured output declared, but exposes no named fields.
No examples provided.
search_by_nameserver Search By Nameserver ~24
Search scans by nameserver.
| Name | Type | Req | Description |
|---|---|---|---|
| nameserver | string | yes | — |
Structured output declared, but exposes no named fields.
No examples provided.
search_by_registrar Search By Registrar ~40
Search scans by registrar (paginated).
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | — |
| page | integer | — | — |
| registrar_name | string | yes | — |
Structured output declared, but exposes no named fields.
No examples provided.
search_by_screenshot_hash Search By Screenshot Hash ~56
Search scans by screenshot hash (paginated).
| Name | Type | Req | Description |
|---|---|---|---|
| hash_type | string | yes | — |
| hash_value | string | yes | — |
| limit | integer | — | — |
| page | integer | — | — |
| similarity_threshold | — | — | — |
Structured output declared, but exposes no named fields.
No examples provided.
search_cpe Search CPE ~42
Search CPEs by pattern (paginated).
| Name | Type | Req | Description |
|---|---|---|---|
| cpe_pattern | string | yes | — |
| limit | integer | — | — |
| page | integer | — | — |
Structured output declared, but exposes no named fields.
No examples provided.
search_favicon_mmh3 Search Favicon MMH3 ~47
Search favicon by mmh3 hash (paginated).
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | — |
| mmh3_hash | integer | yes | — |
| page | integer | — | — |
Structured output declared, but exposes no named fields.
No examples provided.
search_js_fingerprint_by_bundler Search JS Fingerprint By Bundler ~66
Search JS fingerprints by bundler type.
| Name | Type | Req | Description |
|---|---|---|---|
| bundle_format | — | — | — |
| bundler_type | string | yes | — |
| include_libraries | — | — | — |
| min_confidence | — | — | — |
| page | integer | — | — |
| per_page | integer | — | — |
Structured output declared, but exposes no named fields.
No examples provided.
search_js_fingerprint_by_cdn Search JS Fingerprint By CDN ~51
Search JS fingerprints by CDN.
| Name | Type | Req | Description |
|---|---|---|---|
| cdn_cache_status | — | — | — |
| cdn_type | string | yes | — |
| limit | integer | — | — |
| unpinned_only | — | — | — |
Structured output declared, but exposes no named fields.
No examples provided.
search_js_fingerprint_by_fuzzy_hash Search JS Fingerprint By Fuzzy Hash ~42
Search JS fingerprints by fuzzy hash.
| Name | Type | Req | Description |
|---|---|---|---|
| fuzzy_hash | string | yes | — |
| limit | integer | — | — |
| min_similarity | — | — | — |
Structured output declared, but exposes no named fields.
No examples provided.
search_js_fingerprint_by_library Search JS Fingerprint By Library ~68
Search JS fingerprints by library name.
| Name | Type | Req | Description |
|---|---|---|---|
| include_cdn_only | — | — | — |
| library_name | string | yes | — |
| min_confidence | — | — | — |
| page | integer | — | — |
| per_page | integer | — | — |
| version | — | — | — |
| version_pattern | — | — | — |
Structured output declared, but exposes no named fields.
No examples provided.
search_js_fingerprint_by_library_version Search JS Fingerprint By Library Version ~55
Search JS fingerprints by library version.
| Name | Type | Req | Description |
|---|---|---|---|
| group_by_url | — | — | — |
| include_deprecated | — | — | — |
| library | string | yes | — |
| limit | integer | — | — |
| version | string | yes | — |
Structured output declared, but exposes no named fields.
No examples provided.
search_js_fingerprint_by_md5 Search JS Fingerprint By MD5 ~55
Search JS fingerprints by MD5 hash.
| Name | Type | Req | Description |
|---|---|---|---|
| from_date | — | — | — |
| hash_value | string | yes | — |
| include_scans | — | — | — |
| limit | integer | — | — |
| to_date | — | — | — |
Structured output declared, but exposes no named fields.
No examples provided.
search_js_fingerprint_by_normalized_hash Search JS Fingerprint By Normalized Hash ~55
Search JS fingerprints by normalized hash.
| Name | Type | Req | Description |
|---|---|---|---|
| from_date | — | — | — |
| hash_value | string | yes | — |
| include_scans | — | — | — |
| limit | integer | — | — |
| to_date | — | — | — |
Structured output declared, but exposes no named fields.
No examples provided.
search_js_fingerprint_by_server Search JS Fingerprint By Server ~40
Search JS fingerprints by server type.
| Name | Type | Req | Description |
|---|---|---|---|
| include_headers | — | — | — |
| limit | integer | — | — |
| server_type | string | yes | — |
Structured output declared, but exposes no named fields.
No examples provided.
search_js_fingerprint_by_sha1 Search JS Fingerprint By SHA1 ~55
Search JS fingerprints by SHA1 hash.
| Name | Type | Req | Description |
|---|---|---|---|
| from_date | — | — | — |
| hash_value | string | yes | — |
| include_scans | — | — | — |
| limit | integer | — | — |
| to_date | — | — | — |
Structured output declared, but exposes no named fields.
No examples provided.
search_js_fingerprint_by_sha256 Search JS Fingerprint By SHA256 ~55
Search JS fingerprints by SHA256 hash.
| Name | Type | Req | Description |
|---|---|---|---|
| from_date | — | — | — |
| hash_value | string | yes | — |
| include_scans | — | — | — |
| limit | integer | — | — |
| to_date | — | — | — |
Structured output declared, but exposes no named fields.
No examples provided.
search_js_fingerprint_obfuscated Search JS Fingerprint Obfuscated ~64
Search obfuscated JS fingerprints.
| Name | Type | Req | Description |
|---|---|---|---|
| classification | — | — | — |
| exclude_libraries | — | — | — |
| max_score | — | — | — |
| min_code_length | — | — | — |
| min_score | — | — | — |
| page | integer | — | — |
| per_page | integer | — | — |
Structured output declared, but exposes no named fields.
No examples provided.