Feranor Resilience
Qué hace este MCP
Audits public domains for TLS, DNS, security headers and response performance, and scans or cleans suspicious Unicode text.
Herramientas
Esquema de entrada
{'type': 'object', 'required': ['domains'], 'properties': {'domains': {'type': 'array', 'items': {'type': 'string'}, 'description': "Bare domain names, apex or subdomain, for example ['example.com', 'www.example.org']. Between 1 and 100 entries. Scheme, path, port and query string are ignored if present. Duplicates are removed before billing."}}}
Esquema de salida
{'type': 'object', 'properties': {'results': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'error': {'type': ['string', 'null'], 'description': 'Why this domain could not be evaluated. Null on success.'}, 'domain': {'type': ['string', 'null'], 'description': 'Domain as it was requested.'}, 'report': {'type': ['object', 'null'], 'properties': {'error': {'type': ['string', 'null']}, 'score': {'type': 'integer'}, 'checks': {'type': ['array', 'null'], 'items': {'type': 'object', 'required': ['id', 'category', 'label', 'weight', 'earned', 'status', 'message'], 'properties': {'id': {'type': ['string', 'null']}, 'label': {'type': ['string', 'null']}, 'earned': {'type': 'integer'}, 'status': {'enum': ['Ok', 'Warning', 'Critical', 'Unknown'], 'type': 'string'}, 'weight': {'type': 'integer'}, 'message': {'type': ['string', 'null']}, 'category': {'type': ['string', 'null']}}}}, 'domain': {'type': ['string', 'null']}, 'noIndex': {'type': 'boolean'}, 'success': {'type': 'boolean'}, 'noArchive': {'type': 'boolean'}, 'evaluatedAt': {'type': 'string', 'format': 'date-time'}, 'requestedDomain': {'type': ['string', 'null']}}, 'description': 'Full report, or null when the check could not complete.'}}}, 'description': 'One entry per distinct domain, in no guaranteed order.'}, 'evaluated': {'type': 'integer', 'description': 'Number of distinct domains actually evaluated. This is the billed quantity.'}, 'requested': {'type': 'integer', 'description': 'Number of domains in the request, before de-duplication.'}, 'succeeded': {'type': 'integer', 'description': 'How many produced a full report. The rest carry an error field.'}, 'evaluatedAt': {'type': 'string', 'format': 'date-time', 'description': 'UTC timestamp of the batch.'}}}
Esquema de entrada
{'type': 'object', 'required': ['domains'], 'properties': {'domains': {'type': 'array', 'items': {'type': 'string'}, 'description': "Bare domain names, apex or subdomain, for example ['example.com', 'www.example.org']. Between 1 and 100 entries. Scheme, path, port and query string are ignored if present."}}}
Esquema de salida
{'type': 'object', 'properties': {'results': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'error': {'type': ['string', 'null']}, 'score': {'type': 'integer', 'description': 'Weighted resilience score out of 100.'}, 'domain': {'type': ['string', 'null'], 'description': 'Domain that was actually evaluated, after normalisation.'}, 'success': {'type': 'boolean'}, 'categories': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'name': {'type': ['string', 'null'], 'description': "Category name, for example 'tls' or 'headers'."}, 'score': {'type': 'integer', 'description': 'Score out of 100 for this category.'}, 'findingCount': {'type': 'integer', 'description': 'How many findings this category raised. The findings themselves require domain_check_v1.'}}}, 'description': 'Per-category score and finding count. Finding details are not included.'}, 'evaluatedAt': {'type': 'string', 'format': 'date-time', 'description': 'UTC timestamp of the evaluation.'}, 'measuredCategories': {'type': 'integer', 'description': 'Number of categories that could actually be measured. Compare two domains only when this matches.'}, 'detailsAvailableVia': {'type': ['string', 'null'], 'description': 'Name of the tool returning the full findings behind these scores.'}}}, 'description': 'One entry per distinct domain, in no guaranteed order.'}, 'evaluated': {'type': 'integer', 'description': 'Number of distinct domains actually evaluated. This is the billed quantity.'}, 'requested': {'type': 'integer', 'description': 'Number of domains in the request, before de-duplication.'}, 'succeeded': {'type': 'integer', 'description': 'How many produced a full report. The rest carry an error field.'}, 'evaluatedAt': {'type': 'string', 'format': 'date-time', 'description': 'UTC timestamp of the batch.'}}}
Esquema de entrada
{'type': 'object', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'description': "Bare domain name, apex or subdomain, for example 'example.com' or 'www.example.com'. Scheme, path, port and query string are ignored if present. IP addresses and private or localhost hostnames are rejected."}}}
Esquema de salida
{'type': 'object', 'properties': {'error': {'type': ['string', 'null']}, 'score': {'type': 'integer', 'description': 'Weighted resilience score out of 100.'}, 'domain': {'type': ['string', 'null'], 'description': 'Domain that was actually evaluated, after normalisation.'}, 'success': {'type': 'boolean'}, 'categories': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'name': {'type': ['string', 'null'], 'description': "Category name, for example 'tls' or 'headers'."}, 'score': {'type': 'integer', 'description': 'Score out of 100 for this category.'}, 'findingCount': {'type': 'integer', 'description': 'How many findings this category raised. The findings themselves require domain_check_v1.'}}}, 'description': 'Per-category score and finding count. Finding details are not included.'}, 'evaluatedAt': {'type': 'string', 'format': 'date-time', 'description': 'UTC timestamp of the evaluation.'}, 'measuredCategories': {'type': 'integer', 'description': 'Number of categories that could actually be measured. Compare two domains only when this matches.'}, 'detailsAvailableVia': {'type': ['string', 'null'], 'description': 'Name of the tool returning the full findings behind these scores.'}}}
Esquema de entrada
{'type': 'object', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'description': "Bare domain name, apex or subdomain, for example 'example.com' or 'www.example.com'. Scheme, path, port and query string are ignored if present. IP addresses and private or localhost hostnames are rejected."}}}
Esquema de salida
{'type': 'object', 'properties': {'error': {'type': ['string', 'null']}, 'score': {'type': 'integer'}, 'checks': {'type': ['array', 'null'], 'items': {'type': 'object', 'required': ['id', 'category', 'label', 'weight', 'earned', 'status', 'message'], 'properties': {'id': {'type': ['string', 'null']}, 'label': {'type': ['string', 'null']}, 'earned': {'type': 'integer'}, 'status': {'enum': ['Ok', 'Warning', 'Critical', 'Unknown'], 'type': 'string'}, 'weight': {'type': 'integer'}, 'message': {'type': ['string', 'null']}, 'category': {'type': ['string', 'null']}}}}, 'domain': {'type': ['string', 'null']}, 'noIndex': {'type': 'boolean'}, 'success': {'type': 'boolean'}, 'noArchive': {'type': 'boolean'}, 'evaluatedAt': {'type': 'string', 'format': 'date-time'}, 'requestedDomain': {'type': ['string', 'null']}}}
Esquema de entrada
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'description': 'The text to clean of hidden characters and homoglyphs.'}}}
Esquema de salida
{'type': 'object', 'properties': {'purgedText': {'type': ['string', 'null']}, 'reportAfter': {'type': ['object', 'null'], 'properties': {'notes': {'$ref': '#/properties/reportBefore/properties/notes', 'items': {}}, 'isClean': {'type': 'boolean'}, 'riskScore': {'type': 'integer'}, 'flaggedChars': {'$ref': '#/properties/reportBefore/properties/flaggedChars', 'items': {}}, 'isNormalized': {'type': 'boolean'}, 'categoryCounts': {'$ref': '#/properties/reportBefore/properties/categoryCounts'}, 'homoglyphMatches': {'$ref': '#/properties/reportBefore/properties/homoglyphMatches', 'items': {}}, 'normalizationForm': {'type': ['string', 'null']}}}, 'charsRemoved': {'type': 'integer'}, 'reportBefore': {'type': ['object', 'null'], 'properties': {'notes': {'type': ['array', 'null'], 'items': {'type': 'string'}}, 'isClean': {'type': 'boolean'}, 'riskScore': {'type': 'integer'}, 'flaggedChars': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'name': {'type': ['string', 'null']}, 'index': {'type': 'integer'}, 'category': {'type': ['string', 'null']}, 'severity': {'enum': ['Low', 'Medium', 'High'], 'type': 'string'}, 'codePoint': {'type': 'integer'}}}}, 'isNormalized': {'type': 'boolean'}, 'categoryCounts': {'type': ['object', 'null'], 'additionalProperties': {'type': 'integer'}}, 'homoglyphMatches': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'index': {'type': 'integer'}, 'original': {'type': ['string', 'null']}, 'originalScript': {'type': ['string', 'null']}, 'suspectedLatin': {'type': ['string', 'null']}}}}, 'normalizationForm': {'type': ['string', 'null']}}}, 'homoglyphsReplaced': {'type': 'integer'}}}
Esquema de entrada
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'description': 'The text to scan for hidden characters and homoglyphs.'}}}
Esquema de salida
{'type': 'object', 'properties': {'notes': {'type': ['array', 'null'], 'items': {'type': 'string'}}, 'isClean': {'type': 'boolean'}, 'riskScore': {'type': 'integer'}, 'flaggedChars': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'name': {'type': ['string', 'null']}, 'index': {'type': 'integer'}, 'category': {'type': ['string', 'null']}, 'severity': {'enum': ['Low', 'Medium', 'High'], 'type': 'string'}, 'codePoint': {'type': 'integer'}}}}, 'isNormalized': {'type': 'boolean'}, 'categoryCounts': {'type': ['object', 'null'], 'additionalProperties': {'type': 'integer'}}, 'homoglyphMatches': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'index': {'type': 'integer'}, 'original': {'type': ['string', 'null']}, 'originalScript': {'type': ['string', 'null']}, 'suspectedLatin': {'type': ['string', 'null']}}}}, 'normalizationForm': {'type': ['string', 'null']}}}
Cambios recientes en herramientas
Servidores MCP similares
BorealHost
Provides web hosting and infrastructure management, including site deployment, DNS, domains, containers, compute, backups, cachin…
BlackVeil DNS & Email Security Scanner
Audits domain, DNS, email, certificate, HTTP, brand-impersonation, and agent-discovery security controls.
Hackertarget
Performs passive DNS, ASN, IP geolocation, HTTP header, ping, link, and network-path reconnaissance and diagnostics.
Busymate DevTools
Captures, inspects, exports, and debugs HTTPS traffic from devices and applications, with request and response inspection, proxy …
Ripe Stat
Provides RIPE registry and routing data for IP addresses, prefixes, ASNs, BGP state and neighbors, network ownership, geolocation…
Cloudflare Radar
Provides Cloudflare Radar internet observatory data on DDoS attacks, BGP leaks, domain popularity, internet quality, and traffic …
Domains
Checks domain registration status and availability and searches certificate-transparency records for certificates and subdomains.
Rdap
Looks up authoritative RDAP registration records for domains, IP addresses, autonomous systems, entities, and nameservers.