io.github.dotmoosehosting/dotmoose-tools
io.github.dotmoosehosting/dotmoose-toolsdotmoosehostingstreamable-httpv1.0.0Scanned
Public DNS, mail, TLS, and web diagnostics plus Looking Glass probes via remote MCP.
40 tools: 1 do something that can't be undone, 23 change things and 16 only read.
- Reads private data · 3
- Reads text others write · 4
- Can send data out · 0
- 4 findings
Anlyon alternative
24 of these tools change something. Run those as governed actions.
Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.
Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.
Import an OpenAPI spec →Tools
Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.
40 tools
Can't be undone 1Claude Code: ask
looking_glass_pingSend four ICMP echo probes from the DotMoose network in Canada to a public host or IP address.1 finding
Why it is in this group
- The name "looking_glass_ping" says "ping": a word for reading.
- The description's first verb is "send": a word for sending, and what is sent cannot be taken back.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "looking_glass_ping" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true}; The name "looking_glass_ping" says "ping": a word for reading.
Description, as the server wrote it Send four ICMP echo probes from the DotMoose network in Canada to a public host or IP address.
Annotations the server declares
- readOnlyHint: true
Changes things 23Claude Code: ask
audit_page_linksCheck up to 20 same-origin links found on one page and report the status of each.1 finding
Why it is in this group
- The name "audit_page_links" says "link": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "audit_page_links" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true}; The name "audit_page_links" says "link": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
build_dmarc_recordAssemble a DMARC record from a policy, optional subdomain policy, report addresses, and enforcement percentage.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.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Assemble a DMARC record from a policy, optional subdomain policy, report addresses, and enforcement percentage.
Annotations the server declares
- readOnlyHint: true
build_spf_recordAssemble an SPF record from IP ranges, includes, and the a and mx mechanisms, and count its DNS lookup terms against the limit of 10.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.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
calculate_bandwidthConvert 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.1 finding
Why it is in this group
- The description's first verb is "convert": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "calculate_bandwidth" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true}; The description's first verb is "convert": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
calculate_subnetCompute the network address, broadcast or last address, and address counts for an IPv4 or IPv6 CIDR block.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.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Compute the network address, broadcast or last address, and address counts for an IPv4 or IPv6 CIDR block.
Annotations the server declares
- readOnlyHint: true
check_compressionCheck whether a URL is served with gzip or Brotli compression and report the sizes with and without compression.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.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Check whether a URL is served with gzip or Brotli compression and report the sizes with and without compression.
Annotations the server declares
- readOnlyHint: true
check_dns_propagationCheck A, AAAA, MX, NS, and TXT answers for a hostname at the Cloudflare, Google, and Quad9 resolvers.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.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Check A, AAAA, MX, NS, and TXT answers for a hostname at the Cloudflare, Google, and Quad9 resolvers.
Annotations the server declares
- readOnlyHint: true
check_dnssecCheck the DS and DNSKEY records for a domain and whether a validating resolver sets the AD flag on its answers.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.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Check the DS and DNSKEY records for a domain and whether a validating resolver sets the AD flag on its answers.
Annotations the server declares
- readOnlyHint: true
check_faviconLocate the favicon a site declares and report its URL, type, and size.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.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Locate the favicon a site declares and report its URL, type, and size.
Annotations the server declares
- readOnlyHint: true
check_forward_confirmed_rdnsCheck the PTR record for an IP address and whether the name it returns resolves back to the same address.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.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Check the PTR record for an IP address and whether the name it returns resolves back to the same address.
Annotations the server declares
- readOnlyHint: true
check_ip_blacklistsCheck an IP address, or the public addresses a hostname resolves to, against the reviewed DNS blacklist providers.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.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Check an IP address, or the public addresses a hostname resolves to, against the reviewed DNS blacklist providers.
Annotations the server declares
- readOnlyHint: true
check_ipv6_websiteCheck whether a site answers over IPv6 and compare the result with IPv4.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.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Check whether a site answers over IPv6 and compare the result with IPv4.
Annotations the server declares
- readOnlyHint: true
check_smtp_starttlsConnect to the mail servers for a domain on port 25 and report the banner, EHLO response, and STARTTLS support.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.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
check_tls_certificateConnect to a host on port 443 and return the TLS version, cipher, and certificate details including expiry and subject alternative names.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.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Connect to a host on port 443 and return the TLS version, cipher, and certificate details including expiry and subject alternative names.
Annotations the server declares
- readOnlyHint: true
check_tls_configurationObserve which TLS protocol versions a host accepts and summarize its TLS configuration.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.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Observe which TLS protocol versions a host accepts and summarize its TLS configuration.
Annotations the server declares
- readOnlyHint: true
check_website_securityReview the security controls a site exposes in its public responses, including security headers, cookie attributes, and CORS policy.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.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Review the security controls a site exposes in its public responses, including security headers, cookie attributes, and CORS policy.
Annotations the server declares
- readOnlyHint: true
estimate_backup_retentionEstimate backup storage for a grandfather-father-son retention plan where weekly and monthly copies are full backups and daily copies are increments.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.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Estimate backup storage for a grandfather-father-son retention plan where weekly and monthly copies are full backups and daily copies are increments.
Annotations the server declares
- readOnlyHint: true
estimate_storage_growthProject storage size over up to 120 months at a constant monthly growth rate.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.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Project storage size over up to 120 months at a constant monthly growth rate.
Annotations the server declares
- readOnlyHint: true
ip_range_to_cidrConvert an IPv4 or IPv6 address range into the smallest set of CIDR blocks that covers it exactly.1 finding
Why it is in this group
- The description's first verb is "convert": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "ip_range_to_cidr" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true}; The description's first verb is "convert": a word for a change.
Description, as the server wrote it Convert an IPv4 or IPv6 address range into the smallest set of CIDR blocks that covers it exactly.
Annotations the server declares
- readOnlyHint: true
looking_glass_pathSample the route from the DotMoose network in Canada to a public host or IP address, up to 20 hops with three probes per hop.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.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
looking_glass_tracerouteTrace the route from the DotMoose network in Canada to a public host or IP address, up to 20 hops with one probe per hop.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.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
measure_web_performanceMeasure DNS, connect, TLS, and time to first byte for a URL from the DotMoose diagnostic node.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.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
trace_cname_chainFollow the CNAME chain for a hostname, up to 12 aliases, and report loops.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.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Follow the CNAME chain for a hostname, up to 12 aliases, and report loops.
Annotations the server declares
- readOnlyHint: true
Only reads 16Show 16 read-only tools
check_bimiRead the BIMI record for a domain and selector.No findings
Why it is in this group
- The description's first verb is "read": a word for reading.
Description, as the server wrote it Read the BIMI record for a domain and selector. The selector defaults to default.
Annotations the server declares
- readOnlyHint: true
check_dkimRead the DKIM public key record for a domain and selector.No findings
Why it is in this group
- The description's first verb is "read": a word for reading.
Description, as the server wrote it Read the DKIM public key record for a domain and selector.
Annotations the server declares
- readOnlyHint: true
check_dmarcRead the DMARC record published at _dmarc for a domain.No findings
Why it is in this group
- The description's first verb is "read": a word for reading.
Description, as the server wrote it Read the DMARC record published at _dmarc for a domain.
Annotations the server declares
- readOnlyHint: true
check_domain_delegationList the delegation nameservers for a domain and the A and AAAA glue addresses for each one.No findings
Why it is in this group
- The description's first verb is "list": a word for reading.
Description, as the server wrote it List the delegation nameservers for a domain and the A and AAAA glue addresses for each one.
Annotations the server declares
- readOnlyHint: true
check_http_chainFetch a URL and return each redirect hop with status codes and response headers.Reads text others writeNo findings
Why it is in this group
- The description's first verb is "fetch": a word for reading.
What it can reach
- untrusted-inputThe name "check_http_chain" says "http": it reads web pages, which anyone can write.
- untrusted-inputThe description's first sentence says "fetch" and "url": it reads web pages, which anyone can write.
Description, as the server wrote it Fetch a URL and return each redirect hop with status codes and response headers.
Annotations the server declares
- readOnlyHint: true
check_http_statusFetch a URL and return the final status after following redirects.Reads text others writeNo findings
Why it is in this group
- The name "check_http_status" says "status": a word for reading.
What it can reach
- untrusted-inputThe name "check_http_status" says "status" and "http": it reads web pages, which anyone can write.
- untrusted-inputThe description's first sentence says "fetch" and "url": it reads web pages, which anyone can write.
Description, as the server wrote it Fetch a URL and return the final status after following redirects.
Annotations the server declares
- readOnlyHint: true
check_mta_stsRead the MTA-STS DNS record and the published policy file for a domain.Reads private dataNo findings
Why it is in this group
- The description's first verb is "read": a word for reading.
What it can reach
- private-dataThe description's first sentence says "read" and "file": it reads files.
Description, as the server wrote it Read the MTA-STS DNS record and the published policy file for a domain.
Annotations the server declares
- readOnlyHint: true
check_mx_recordsList the MX records for a domain with the A and AAAA addresses of each mail server.Reads private dataReads text others writeNo findings
Why it is in this group
- The description's first verb is "list": a word for reading.
What it can reach
- private-dataThe description's first sentence says "list" and "mail": it reads mail.
- untrusted-inputThe description's first sentence says "list" and "mail": it reads inbound email, which other people can write.
Description, as the server wrote it List the MX records for a domain with the A and AAAA addresses of each mail server.
Annotations the server declares
- readOnlyHint: true
check_page_metadataReturn the title, meta description, canonical URL, headings, hreflang entries, and JSON-LD types found on a page.Reads text others writeNo findings
Why it is in this group
- The description's first verb is "return": a word for reading.
What it can reach
- untrusted-inputThe description's first sentence says "return" and "url": it reads web pages, which anyone can write.
Description, as the server wrote it Return the title, meta description, canonical URL, headings, hreflang entries, and JSON-LD types found on a page.
Annotations the server declares
- readOnlyHint: true
check_security_txtFetch and parse the security.txt file for a site.Reads private dataNo findings
Why it is in this group
- The description's first verb is "fetch": a word for reading.
What it can reach
- private-dataThe description's first sentence says "fetch" and "file": it reads files.
Description, as the server wrote it Fetch and parse the security.txt file for a site.
Annotations the server declares
- readOnlyHint: true
check_spfRead the SPF record for a domain and count the DNS lookup terms in the full include chain against the limit of 10.No findings
Why it is in this group
- The description's first verb is "read": a word for reading.
Description, as the server wrote it Read the SPF record for a domain and count the DNS lookup terms in the full include chain against the limit of 10.
Annotations the server declares
- readOnlyHint: true
check_tls_rptRead the TLS-RPT record published at _smtp._tls for a domain.No findings
Why it is in this group
- The description's first verb is "read": a word for reading.
Description, as the server wrote it Read the TLS-RPT record published at _smtp._tls for a domain.
Annotations the server declares
- readOnlyHint: true
lookup_domain_rdapReturn the public RDAP registration summary for a domain.No findings
Why it is in this group
- The name "lookup_domain_rdap" says "lookup": a word for reading.
Description, as the server wrote it Return the public RDAP registration summary for a domain. Registrant contact fields are not returned.
Annotations the server declares
- readOnlyHint: true
lookup_ip_infoResolve a hostname, or take an IP address directly, and return RDAP network data and the ASN for each public address.No findings
Why it is in this group
- The name "lookup_ip_info" says "lookup": a word for reading.
Description, as the server wrote it Resolve a hostname, or take an IP address directly, and return RDAP network data and the ASN for each public address.
Annotations the server declares
- readOnlyHint: true
test_robots_txtFetch the robots.txt for a site and test whether a user agent may fetch a given path.No findings
Why it is in this group
- The description's first verb is "fetch": a word for reading.
Description, as the server wrote it Fetch the robots.txt for a site and test whether a user agent may fetch a given path.
Annotations the server declares
- readOnlyHint: true
validate_sitemapFetch the sitemap for a site and report its structure, URL count, and fetch errors.No findings
Why it is in this group
- The name "validate_sitemap" says "validate": a word for reading.
Description, as the server wrote it Fetch the sitemap for a site and report its structure, URL count, and fetch errors.
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.
Exfil surface
Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.
No private-data, untrusted-input, outbound path in this server alone: no tool is tagged outbound.
- Reads private data3
- Reads files, mail, messages, databases, secrets, calendars or repositories.
- Reads text others write4
- Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
- Can send data out0
- Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.
Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.
Findings
Matches of fixed checks, with the text they matched.
- Warnaudit_page_links
The server marks "audit_page_links" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true}; The name "audit_page_links" says "link": a word for a change.
The server marks "looking_glass_ping" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true}; The name "looking_glass_ping" says "ping": a word for reading.
- Warnip_range_to_cidr
The server marks "ip_range_to_cidr" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true}; The description's first verb is "convert": a word for a change.
The server marks "calculate_bandwidth" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true}; The description's first verb is "convert": a word for a change.
History
Changes to its tool definitions and to its remote endpoint, newest first.
No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.
Install
Pinned to version 1.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http dotmoose-tools https://mcp.dotmoose.com/tools/mcpclaude mcp add --transport http dotmoose-tools https://mcp.dotmoose.com/tools/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__dotmoose-tools__check_domain_delegation",
"mcp__dotmoose-tools__lookup_domain_rdap",
"mcp__dotmoose-tools__lookup_ip_info",
"mcp__dotmoose-tools__check_http_chain",
"mcp__dotmoose-tools__check_http_status",
"mcp__dotmoose-tools__check_security_txt",
"mcp__dotmoose-tools__check_page_metadata",
"mcp__dotmoose-tools__test_robots_txt",
"mcp__dotmoose-tools__validate_sitemap",
"mcp__dotmoose-tools__check_spf",
"mcp__dotmoose-tools__check_dmarc",
"mcp__dotmoose-tools__check_dkim",
"mcp__dotmoose-tools__check_mx_records",
"mcp__dotmoose-tools__check_mta_sts",
"mcp__dotmoose-tools__check_tls_rpt",
"mcp__dotmoose-tools__check_bimi"
],
"ask": [
"mcp__dotmoose-tools__check_dns_propagation",
"mcp__dotmoose-tools__check_dnssec",
"mcp__dotmoose-tools__trace_cname_chain",
"mcp__dotmoose-tools__check_forward_confirmed_rdns",
"mcp__dotmoose-tools__check_tls_certificate",
"mcp__dotmoose-tools__check_tls_configuration",
"mcp__dotmoose-tools__measure_web_performance",
"mcp__dotmoose-tools__check_website_security",
"mcp__dotmoose-tools__check_compression",
"mcp__dotmoose-tools__check_ipv6_website",
"mcp__dotmoose-tools__check_favicon",
"mcp__dotmoose-tools__audit_page_links",
"mcp__dotmoose-tools__check_smtp_starttls",
"mcp__dotmoose-tools__check_ip_blacklists",
"mcp__dotmoose-tools__looking_glass_ping",
"mcp__dotmoose-tools__looking_glass_traceroute",
"mcp__dotmoose-tools__looking_glass_path",
"mcp__dotmoose-tools__calculate_subnet",
"mcp__dotmoose-tools__ip_range_to_cidr",
"mcp__dotmoose-tools__calculate_bandwidth",
"mcp__dotmoose-tools__estimate_storage_growth",
"mcp__dotmoose-tools__estimate_backup_retention",
"mcp__dotmoose-tools__build_spf_record",
"mcp__dotmoose-tools__build_dmarc_record"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as dotmoose-tools. Review it before you use it.
Capability tags behind 6 rules
- mcp__dotmoose-tools__check_http_chain untrusted-input
- mcp__dotmoose-tools__check_http_status untrusted-input
- mcp__dotmoose-tools__check_security_txt private-data
- mcp__dotmoose-tools__check_page_metadata untrusted-input
- mcp__dotmoose-tools__check_mx_records private-data, untrusted-input
- mcp__dotmoose-tools__check_mta_sts private-data
Pin
Keep the decision: fail CI when the tools change, follow every change, or show a badge.
Pin in CI
Fail a build when the tools you reviewed are not the tools the server serves today.
curl -s "https://anlyon.dev/api/v1/servers/io.github.dotmoosehosting/dotmoose-tools/verify?hash=cab073da4bdd0119a653820c1e5b93b6cac9bac9e6a1fe56e7b005f174d26b2e" | jq -e '.changed == false'Pinned hash cab073da4bdd, from Oct 24, 2026, 00:17 UTC.
Watch
Get told when its tools change: a new tool, a new description, a new class.
https://anlyon.dev/servers/io.github.dotmoosehosting/dotmoose-tools/changes.xmlAn Atom feed. Works in any feed reader or Slack's RSS app.
Badge
[](https://anlyon.dev/servers/io.github.dotmoosehosting/dotmoose-tools)Source: MCP Registry · repository. Synced Oct 24, 2026, 00:17 UTC.