Search / is.how/domain-intel
how.is domain & IP intelligence
R0· no sign-inPay-per-call DNS, WHOIS, domain age, TLS, email auth, blocklists, IP intel. Free samples.
v1.1.0 · active · website · descriptor JSON · versions
Search / is.how/domain-intel
R0· no sign-inPay-per-call DNS, WHOIS, domain age, TLS, email auth, blocklists, IP intel. Free samples.
v1.1.0 · active · website · descriptor JSON · versions
{
"mcpServers": {
"domain-intel": {
"type": "http",
"url": "https://how.is/mcp",
"headers": {
"Authorization": "Bearer ${DOMAIN_INTEL_TOKEN}"
}
}
}
}claude mcp add --transport http domain-intel https://how.is/mcp --header "Authorization: Bearer ${DOMAIN_INTEL_TOKEN}"[mcp_servers.domain-intel]
url = "https://how.is/mcp"
bearer_token_env_var = "DOMAIN_INTEL_TOKEN"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"domain-intel": {
"type": "remote",
"url": "https://how.is/mcp",
"enabled": true,
"headers": {
"Authorization": "Bearer {env:DOMAIN_INTEL_TOKEN}"
}
}
}
}{
"mcpServers": {
"domain-intel": {
"type": "http",
"url": "https://how.is/mcp",
"headers": {
"Authorization": "Bearer ${DOMAIN_INTEL_TOKEN}"
}
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=domain-intel&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vaG93LmlzL21jcCIsImhlYWRlcnMiOnsiQXV0aG9yaXphdGlvbiI6IkJlYXJlciAke0RPTUFJTl9JTlRFTF9UT0tFTn0ifX0%3D"
}{
"servers": {
"domain-intel": {
"type": "http",
"url": "https://how.is/mcp",
"headers": {
"Authorization": "Bearer ${DOMAIN_INTEL_TOKEN}"
}
}
}
}{
"mcpServers": {
"domain-intel": {
"httpUrl": "https://how.is/mcp",
"headers": {
"Authorization": "Bearer ${DOMAIN_INTEL_TOKEN}"
}
}
}
}extensions:
"domain-intel":
enabled: true
name: "domain-intel"
type: streamable_http
uri: "https://how.is/mcp"
headers:
"Authorization": "Bearer ${DOMAIN_INTEL_TOKEN}"
timeout: 300
Placeholders to fill from your own secret store: ${DOMAIN_INTEL_TOKEN}. The registry never accepts secret values.
protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28protocol.statelessonly applies to 2026-07-28 serversprotocol.transportstreamable HTTPprotocol.list_ttlonly applies to 2026-07-28 serversauth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptionsevery tool has a descriptiontools.description_lengthdescriptions are concisetools.schemasevery tool has an object input schematools.annotations16 of 16 tools declare readOnlyHint or destructiveHinttools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHinttools.token_costabout 2,284 tokens to load every tooltools.api_dumptools are not a one-to-one API dumpstability.changes, stability.rug_pulltool history recorded for 0 of the 7 days neededdeps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI packagesite_screenshotaddedSee a web page: a 1280-wide JPEG of any public URL, viewport or full page (capped at 6000 px), with its final URL, HTTP status and title. Price $0.020 per call. Free sample: {"url": "https://example.com"}. Returns: data: image_base64 (JPEG), mime, width, height, final_url, http_status, title, note.
domain_availableaddedIs this domain name registered? Asked of the registry over RDAP, with the standard first-year and renewal price when it is free to register. Price $0.005 per call. Free sample: {"domain": "example.com"}. Returns: data: available (true/false; null when only DNS could be checked, then likely_available), registered_on, suffix, source (rdap/dns), confidence, price{registration_usd, renewal_usd, registrar, note}, caveat.
domain_trustaddedShould an agent click, sign in to, or pay this domain? A risk score and verdict (likely_safe / caution / high_risk, or inconclusive when a check could not run) with plain-English reasons, from domain age, spam/abuse blocklists and the HTTPS certificate. Price $0.020 per call. Free sample: {"domain": "example.com"}. Returns: data: verdict, risk_score (0-100), reasons[{risk, why}], age_days, blocklist_listings, blocklists_unanswered[], https_valid, not_checked[].
Full history: list_changes · trend: quality JSON.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+dns-namespace +website +reachable +uptime-100% +updated-1d-ago -no-repository
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://how.is/mcp streamable-http | none | yes | 100% | 314 ms | 2025-11-25 | 2026-10-20 |
bot_observatoryread-only | Partner tier of the dns.pizza bot observatory: every network (ASN), named crawler, TLS (JA4) fingerprint and firewall rule seen in the last 7 days, refreshed hourly. The public tier is free at https://dns.pizza/bots. Price $0.050 per call. Returns: data.data: generated_at, networks, bots, fingerprints (the free tier at dns.pizza/bots shows the same shape without fingerprints). |
domain_ageread-only | How old a domain is: registration date, age in days and years, and whether it was registered in the last 30 days (a common phishing signal). Price $0.005 per call. Free sample: {"domain": "example.com"}. Returns: data: created, age_days, age_years, newly_registered, expires, registrar, source. |
domain_availableread-only | Is this domain name registered? Asked of the registry over RDAP, with the standard first-year and renewal price when it is free to register. Price $0.005 per call. Free sample: {"domain": "example.com"}. Returns: data: available (true/false; null when only DNS could be checked, then likely_available), registered_on, suffix, source (rdap/dns), confidence, price{registration_usd, renewal_usd, registrar, note}, caveat. |
domain_blacklistread-only | Whether the addresses behind a domain appear on spam and abuse blocklists. Price $0.005 per call. Free sample: {"domain": "example.com"}. Returns: data.data.ipResults[]: target, isListed, listingCount, totalChecked. |
domain_dnsread-only | A, AAAA, MX, NS, TXT and other records for a domain, with resolve timing. Price $0.005 per call. Free sample: {"domain": "example.com"}. Returns: data.data.records keyed by record type (A, AAAA, MX, NS, TXT, ...); data.data.responseTime. |
domain_dnssecread-only | Whether DNSSEC is signed and validates for a domain. Price $0.005 per call. Free sample: {"domain": "example.com"}. Returns: data.data: isSigned, isValid, validationStatus, chainOfTrust, dsRecords, dnskeyRecords, errors, warnings, recommendations. |
domain_email_authread-only | SPF, DKIM and DMARC records and posture for a domain. Price $0.005 per call. Free sample: {"domain": "example.com"}. Returns: data.data: spf, dkim, dmarc, mx, overallScore, overallStatus, recommendations. |
domain_profileread-only | Everything about a domain in one call: DNS, WHOIS, TLS, DNSSEC, email auth, security score, blacklist status, plus IP intelligence for its A record. Price $0.025 per call. Free sample: {"domain": "example.com"}. Returns: data.sections.{dns,whois,tls,dnssec,email-auth,security-score,blacklist,ip}; data.errors names any section that failed; data.billing says what was delivered. |
domain_security_scoreread-only | A letter grade and point score for a domain security posture, with the scored items behind it. Price $0.005 per call. Free sample: {"domain": "example.com"}. Returns: data.data: grade, overallScore, maxPossibleScore, categories[] of scored items. |
domain_tlsread-only | Certificate validity, issuer, protocol and days until expiry for a domain. Price $0.005 per call. Free sample: {"domain": "example.com"}. Returns: data.data: valid, issuer, subject, subjectAltNames, validFrom, validTo, daysUntilExpiry, protocol, cipher, selfSigned. |
domain_trustread-only | Should an agent click, sign in to, or pay this domain? A risk score and verdict (likely_safe / caution / high_risk, or inconclusive when a check could not run) with plain-English reasons, from domain age, spam/abuse blocklists and the HTTPS certificate. Price $0.020 per call. Free sample: {"domain": "example.com"}. Returns: data: verdict, risk_score (0-100), reasons[{risk, why}], age_days, blocklist_listings, blocklists_unanswered[], https_valid, not_checked[]. |
domain_whoisread-only | Registrar, creation and expiry dates, nameservers and status codes for a domain. Price $0.005 per call. Free sample: {"domain": "example.com"}. Returns: data.data.data: the parsed WHOIS/RDAP record (registrar, dates, nameservers, status). |
ip_lookupread-only | Network owner (ASN), company, geolocation, privacy flags and abuse contact for an IP address. Price $0.005 per call. Free sample: {"ip": "1.1.1.1"}. Returns: data.data: ip, hostname, city, region, country, asn, company, privacy, carrier, abuse. |
page_watch | Has this page changed since your last call, and how much? The first call stores a baseline; later calls return a text diff (2% threshold). Price $0.005 per call. Free sample: {"url": "https://example.com"}. Returns: data with baseline, changed, change_pct, added, removed, last_change_ts. |
site_screenshotread-only | See a web page: a 1280-wide JPEG of any public URL, viewport or full page (capped at 6000 px), with its final URL, HTTP status and title. Price $0.020 per call. Free sample: {"url": "https://example.com"}. Returns: data: image_base64 (JPEG), mime, width, height, final_url, http_status, title, note. |
site_statusread-only | Live check of one or more URLs: HTTP status, latency, DNS resolve time, resolved IP, TTL, nameservers, TLS days remaining. Price $0.005 per call. Free sample: {"sites": ["https://example.com"]}. Returns: data keyed by URL; each entry has ok, code, ms, dns_ms, ip, ttl, ns, cert_days, server, ts. |
Schemas: list_tools.
{
"name": "is.how/domain-intel",
"title": "how.is domain & IP intelligence",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://how.is/mcp",
"type": "streamable-http",
"headers": [
{
"name": "Authorization",
"isSecret": true,
"description": "Optional prepaid key from https://how.is ('Bearer <key>'). Without it every tool still answers its free sample and returns price terms."
}
]
}
],
"version": "1.1.0",
"websiteUrl": "https://how.is",
"description": "Pay-per-call DNS, WHOIS, domain age, TLS, email auth, blocklists, IP intel. Free samples."
}