dotmoose-tools
Public DNS, mail, TLS, and web diagnostics plus Looking Glass probes via remote MCP.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (6)
- LOWin trace_cname_chain
- LOWin check_tls_certificate
- LOWin check_favicon
- LOWin check_page_metadata
- LOWin estimate_storage_growth
- LOWin estimate_backup_retention
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"dotmoose-tools": {
"url": "https://mcp.dotmoose.com/tools/mcp"
}
}
}Remote-Endpunkte
https://mcp.dotmoose.com/tools/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (40)
🟢check_dns_propagation(domain)
Check A, AAAA, MX, NS, and TXT answers for a hostname at the Cloudflare, Google, and Quad9 resolvers.
Eingabe-Schema
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"minLength": 1,
"maxLength": 253
}
},
"required": [
"domain"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢check_domain_delegation(domain)
List the delegation nameservers for a domain and the A and AAAA glue addresses for each one.
Eingabe-Schema
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"minLength": 1,
"maxLength": 253
}
},
"required": [
"domain"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢check_dnssec(domain)
Check the DS and DNSKEY records for a domain and whether a validating resolver sets the AD flag on its answers.
Eingabe-Schema
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"minLength": 1,
"maxLength": 253
}
},
"required": [
"domain"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢trace_cname_chain(domain)
Follow the CNAME chain for a hostname, up to 12 aliases, and report loops.
Eingabe-Schema
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"minLength": 1,
"maxLength": 253
}
},
"required": [
"domain"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢lookup_domain_rdap(domain)
Return the public RDAP registration summary for a domain. Registrant contact fields are not returned.
Eingabe-Schema
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"minLength": 1,
"maxLength": 253
}
},
"required": [
"domain"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢lookup_ip_info(target)
Resolve a hostname, or take an IP address directly, and return RDAP network data and the ASN for each public address.
Eingabe-Schema
{
"type": "object",
"properties": {
"target": {
"type": "string",
"minLength": 1,
"maxLength": 253
}
},
"required": [
"target"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢check_forward_confirmed_rdns(ip)
Check the PTR record for an IP address and whether the name it returns resolves back to the same address.
Eingabe-Schema
{
"type": "object",
"properties": {
"ip": {
"type": "string",
"minLength": 1,
"maxLength": 253
}
},
"required": [
"ip"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢check_tls_certificate(target)
Connect to a host on port 443 and return the TLS version, cipher, and certificate details including expiry and subject alternative names.
Eingabe-Schema
{
"type": "object",
"properties": {
"target": {
"type": "string",
"minLength": 1,
"maxLength": 253
}
},
"required": [
"target"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢check_tls_configuration(target)
Observe which TLS protocol versions a host accepts and summarize its TLS configuration.
Eingabe-Schema
{
"type": "object",
"properties": {
"target": {
"type": "string",
"minLength": 1,
"maxLength": 253
}
},
"required": [
"target"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢check_http_chain(target)
Fetch a URL and return each redirect hop with status codes and response headers.
Eingabe-Schema
{
"type": "object",
"properties": {
"target": {
"type": "string",
"minLength": 1,
"maxLength": 1024
}
},
"required": [
"target"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢check_http_status(target)
Fetch a URL and return the final status after following redirects.
Eingabe-Schema
{
"type": "object",
"properties": {
"target": {
"type": "string",
"minLength": 1,
"maxLength": 1024
}
},
"required": [
"target"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢measure_web_performance(target)
Measure DNS, connect, TLS, and time to first byte for a URL from the DotMoose diagnostic node. This is a network timing sample. It is not a browser rendering benchmark.
Eingabe-Schema
{
"type": "object",
"properties": {
"target": {
"type": "string",
"minLength": 1,
"maxLength": 1024
}
},
"required": [
"target"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢check_website_security(target)
Review the security controls a site exposes in its public responses, including security headers, cookie attributes, and CORS policy.
Eingabe-Schema
{
"type": "object",
"properties": {
"target": {
"type": "string",
"minLength": 1,
"maxLength": 1024
}
},
"required": [
"target"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢check_security_txt(target)
Fetch and parse the security.txt file for a site.
Eingabe-Schema
{
"type": "object",
"properties": {
"target": {
"type": "string",
"minLength": 1,
"maxLength": 1024
}
},
"required": [
"target"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢check_compression(target)
Check whether a URL is served with gzip or Brotli compression and report the sizes with and without compression.
Eingabe-Schema
{
"type": "object",
"properties": {
"target": {
"type": "string",
"minLength": 1,
"maxLength": 1024
}
},
"required": [
"target"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢check_ipv6_website(target)
Check whether a site answers over IPv6 and compare the result with IPv4.
Eingabe-Schema
{
"type": "object",
"properties": {
"target": {
"type": "string",
"minLength": 1,
"maxLength": 1024
}
},
"required": [
"target"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢check_favicon(target)
Locate the favicon a site declares and report its URL, type, and size.
Eingabe-Schema
{
"type": "object",
"properties": {
"target": {
"type": "string",
"minLength": 1,
"maxLength": 1024
}
},
"required": [
"target"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢audit_page_links(target)
Check up to 20 same-origin links found on one page and report the status of each. This is a single page check, not a site crawl.
Eingabe-Schema
{
"type": "object",
"properties": {
"target": {
"type": "string",
"minLength": 1,
"maxLength": 1024
}
},
"required": [
"target"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢check_page_metadata(target)
Return the title, meta description, canonical URL, headings, hreflang entries, and JSON-LD types found on a page.
Eingabe-Schema
{
"type": "object",
"properties": {
"target": {
"type": "string",
"minLength": 1,
"maxLength": 1024
}
},
"required": [
"target"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢test_robots_txt(target, path, userAgent)
Fetch the robots.txt for a site and test whether a user agent may fetch a given path.
Eingabe-Schema
{
"type": "object",
"properties": {
"target": {
"type": "string",
"minLength": 1,
"maxLength": 1024
},
"path": {
"default": "/",
"type": "string",
"minLength": 1,
"maxLength": 1024
},
"userAgent": {
"default": "Googlebot",
"type": "string",
"minLength": 1,
"maxLength": 128
}
},
"required": [
"target"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢validate_sitemap(target)
Fetch the sitemap for a site and report its structure, URL count, and fetch errors.
Eingabe-Schema
{
"type": "object",
"properties": {
"target": {
"type": "string",
"minLength": 1,
"maxLength": 1024
}
},
"required": [
"target"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢check_spf(domain)
Read the SPF record for a domain and count the DNS lookup terms in the full include chain against the limit of 10.
Eingabe-Schema
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"minLength": 1,
"maxLength": 253
}
},
"required": [
"domain"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢check_dmarc(domain)
Read the DMARC record published at _dmarc for a domain.
Eingabe-Schema
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"minLength": 1,
"maxLength": 253
}
},
"required": [
"domain"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢check_dkim(domain, selector)
Read the DKIM public key record for a domain and selector.
Eingabe-Schema
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"minLength": 1,
"maxLength": 253
},
"selector": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,63}$"
}
},
"required": [
"domain",
"selector"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢check_mx_records(domain)
List the MX records for a domain with the A and AAAA addresses of each mail server.
Eingabe-Schema
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"minLength": 1,
"maxLength": 253
}
},
"required": [
"domain"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢check_smtp_starttls(domain)
Connect to the mail servers for a domain on port 25 and report the banner, EHLO response, and STARTTLS support. No mail is sent and no recipient is tested.
Eingabe-Schema
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"minLength": 1,
"maxLength": 253
}
},
"required": [
"domain"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢check_mta_sts(domain)
Read the MTA-STS DNS record and the published policy file for a domain.
Eingabe-Schema
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"minLength": 1,
"maxLength": 253
}
},
"required": [
"domain"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢check_tls_rpt(domain)
Read the TLS-RPT record published at _smtp._tls for a domain.
Eingabe-Schema
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"minLength": 1,
"maxLength": 253
}
},
"required": [
"domain"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢check_bimi(domain, selector)
Read the BIMI record for a domain and selector. The selector defaults to default.
Eingabe-Schema
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"minLength": 1,
"maxLength": 253
},
"selector": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,63}$"
}
},
"required": [
"domain"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢check_ip_blacklists(target)
Check an IP address, or the public addresses a hostname resolves to, against the reviewed DNS blacklist providers.
Eingabe-Schema
{
"type": "object",
"properties": {
"target": {
"type": "string",
"minLength": 1,
"maxLength": 253
}
},
"required": [
"target"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢looking_glass_ping(target, family)
Send four ICMP echo probes from the DotMoose network in Canada to a public host or IP address.
Eingabe-Schema
{
"type": "object",
"properties": {
"target": {
"type": "string",
"minLength": 1,
"maxLength": 253
},
"family": {
"anyOf": [
{
"type": "number",
"const": 4
},
{
"type": "number",
"const": 6
}
]
}
},
"required": [
"target"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢looking_glass_traceroute(target, family)
Trace the route from the DotMoose network in Canada to a public host or IP address, up to 20 hops with one probe per hop.
Eingabe-Schema
{
"type": "object",
"properties": {
"target": {
"type": "string",
"minLength": 1,
"maxLength": 253
},
"family": {
"anyOf": [
{
"type": "number",
"const": 4
},
{
"type": "number",
"const": 6
}
]
}
},
"required": [
"target"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢looking_glass_path(target, family)
Sample the route from the DotMoose network in Canada to a public host or IP address, up to 20 hops with three probes per hop.
Eingabe-Schema
{
"type": "object",
"properties": {
"target": {
"type": "string",
"minLength": 1,
"maxLength": 253
},
"family": {
"anyOf": [
{
"type": "number",
"const": 4
},
{
"type": "number",
"const": 6
}
]
}
},
"required": [
"target"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢calculate_subnet(cidr)
Compute the network address, broadcast or last address, and address counts for an IPv4 or IPv6 CIDR block.
Eingabe-Schema
{
"type": "object",
"properties": {
"cidr": {
"type": "string",
"minLength": 3,
"maxLength": 60
}
},
"required": [
"cidr"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢ip_range_to_cidr(start, end)
Convert an IPv4 or IPv6 address range into the smallest set of CIDR blocks that covers it exactly.
Eingabe-Schema
{
"type": "object",
"properties": {
"start": {
"type": "string",
"minLength": 1,
"maxLength": 45
},
"end": {
"type": "string",
"minLength": 1,
"maxLength": 45
}
},
"required": [
"start",
"end"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢calculate_bandwidth(linkMbps, monthlyTransferGb, fileSizeGb)
Convert a link speed into maximum daily and monthly transfer, convert monthly transfer into an average rate, and estimate how long a file transfer takes at a given rate.
Eingabe-Schema
{
"type": "object",
"properties": {
"linkMbps": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1000000
},
"monthlyTransferGb": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1000000000
},
"fileSizeGb": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1000000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢estimate_storage_growth(currentGb, monthlyGrowthPercent, months)
Project storage size over up to 120 months at a constant monthly growth rate.
Eingabe-Schema
{
"type": "object",
"properties": {
"currentGb": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1000000000
},
"monthlyGrowthPercent": {
"type": "number",
"minimum": 0,
"maximum": 100
},
"months": {
"type": "integer",
"minimum": 1,
"maximum": 120
}
},
"required": [
"currentGb",
"monthlyGrowthPercent",
"months"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢estimate_backup_retention(fullBackupGb, dailyIncrementGb, dailyCopies, weeklyCopies, monthlyCopies)
Estimate backup storage for a grandfather-father-son retention plan where weekly and monthly copies are full backups and daily copies are increments.
Eingabe-Schema
{
"type": "object",
"properties": {
"fullBackupGb": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1000000000
},
"dailyIncrementGb": {
"type": "number",
"minimum": 0,
"maximum": 1000000000
},
"dailyCopies": {
"type": "integer",
"minimum": 0,
"maximum": 365
},
"weeklyCopies": {
"type": "integer",
"minimum": 0,
"maximum": 365
},
"monthlyCopies": {
"type": "integer",
"minimum": 0,
"maximum": 365
}
},
"required": [
"fullBackupGb",
"dailyIncrementGb",
"dailyCopies",
"weeklyCopies",
"monthlyCopies"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢build_spf_record(ipv4, ipv6, includes, useA, useMx, ...)
Assemble an SPF record from IP ranges, includes, and the a and mx mechanisms, and count its DNS lookup terms against the limit of 10.
Eingabe-Schema
{
"type": "object",
"properties": {
"ipv4": {
"default": [],
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 60
}
},
"ipv6": {
"default": [],
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 60
}
},
"includes": {
"default": [],
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 253
}
},
"useA": {
"default": false,
"type": "boolean"
},
"useMx": {
"default": false,
"type": "boolean"
},
"redirectDomain": {
"type": "string",
"minLength": 1,
"maxLength": 253
},
"allQualifier": {
"default": "-all",
"type": "string",
"enum": [
"~all",
"-all",
"?all",
"+all"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢build_dmarc_record(policy, subdomainPolicy, rua, ruf, percent, ...)
Assemble a DMARC record from a policy, optional subdomain policy, report addresses, and enforcement percentage.
Eingabe-Schema
{
"type": "object",
"properties": {
"policy": {
"type": "string",
"enum": [
"none",
"quarantine",
"reject"
]
},
"subdomainPolicy": {
"type": "string",
"enum": [
"none",
"quarantine",
"reject"
]
},
"rua": {
"maxItems": 5,
"type": "array",
"items": {
"type": "string",
"minLength": 3,
"maxLength": 254
}
},
"ruf": {
"maxItems": 5,
"type": "array",
"items": {
"type": "string",
"minLength": 3,
"maxLength": 254
}
},
"percent": {
"default": 100,
"type": "integer",
"minimum": 1,
"maximum": 100
},
"failureReporting": {
"default": "1",
"type": "string",
"enum": [
"0",
"1",
"d",
"s"
]
}
},
"required": [
"policy"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Community
Nachweis