HackMyIP — no-key IP intelligence
Measured conclusion: Alive, not deep-tested. L2 outcome: not_attempted.
Free no-key IP intelligence: geolocation, VPN detection, DNS, WHOIS, blacklists, breach checks
| Author | io.github.0xvibly |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Alive, not deep-tested |
| L1 liveness | alive |
| L1 latency | 2225 ms |
| Last measured | 2026-10-26 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"HackMyIP — no-key IP intelligence": {
"url": "https://hackmyip.com/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (15)
server_infoDescribe this MCP server: what it wraps, the fact that it is completely free with no API key, no signup and no auth, the fair-use rate limit, the full tool list, and links to hackmyip.com and its API docs. Call this when the user asks what this server can do, whether it costs anything, or where the data comes from.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
my_ipGet the public IP address of the machine that opened this MCP connection, enriched with city/country, coordinates, timezone, ISP, ASN and hosting/proxy classification. Use this for 'what is my IP', 'where does the internet think I am', or a quick sanity check that a VPN is actually routing traffic. Note: this reflects the IP the MCP request arrived from, so if the client sits behind a corporate proxy or remote host, it reports that egress IP.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
ip_lookupLook up geolocation (city, region, country, lat/lon, timezone, postal code) plus ISP, ASN, organization and AS name for any public IPv4 or IPv6 address. The workhorse tool for 'where is this IP', triaging a log entry, or identifying who owns an address.
Parameters:
ip(required) — string — Public IPv4 or IPv6 address, e.g. 8.8.8.8 or 2001:4860:4860::8888
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
bulk_ip_lookupLook up country, city, ISP, organization and coordinates for up to 50 IP addresses in a single request. Much faster and far kinder to the rate limit than calling ip_lookup in a loop — always prefer this when you have more than a couple of addresses (e.g. a list from access logs or a firewall export).
Parameters:
ips(required) — array — Array of 1-50 public IPv4/IPv6 addresses
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
vpn_proxy_checkClassify an IP as hosting/datacenter, open proxy, or mobile-carrier, alongside its geolocation and network owner. Use it to decide whether traffic is likely a VPN, a cloud server or a real residential/mobile user — for fraud triage, abuse review, or checking whether your own VPN is being detected. Omit `ip` to check the connection this MCP request came from.
Parameters:
ip— string — IP to classify. Defaults to the IP this MCP request arrived from.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
asn_lookupResolve an Autonomous System by IP address, AS number, or organization name. Returns the AS number, network name, holder, description, RIR and whether the AS is currently announced. Use it to answer 'which network is this IP on', 'who is AS15169', or to find the ASNs belonging to a company.
Parameters:
query(required) — string — An IP (8.8.8.8), an AS number (AS15169 or 15169), or an org name (google)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
reverse_dnsGet the PTR hostname for an IPv4 or IPv6 address. Useful for identifying mail servers, confirming that a crawler really belongs to the bot it claims to be, or adding a human-readable name to a raw log IP.
Parameters:
ip(required) — string — IPv4 or IPv6 address to reverse-resolve
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
dns_lookupQuery live DNS records for a domain over public resolvers. Supports A, AAAA, CNAME, MX, NS, TXT, SOA, SRV, CAA and PTR. Use it to verify a deployment's DNS, inspect MX/SPF/DKIM/DMARC TXT records, check nameserver delegation, or confirm propagation after a change.
Parameters:
domain(required) — string — Domain name, e.g. github.comtype— string — Record type. Defaults to A.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
whois_domainFetch registration data for a domain via RDAP: registrar, creation/expiration/last-updated dates, nameservers and EPP status codes. Use it to check domain age (a common trust signal), see when a domain expires, or find who it is registered through. Note that RDAP is a third-party registry service and can be temporarily unavailable — a failure here is upstream, not a bad query.
Parameters:
domain(required) — string — Domain name, e.g. github.com
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
ip_blacklist_checkCheck an IPv4 address against 12 major spam and abuse blacklists (Spamhaus ZEN, Barracuda, SpamCop, UCEPROTECT and others) with a per-list LISTED / CLEAN / unavailable breakdown. Run this before sending bulk email from a new IP, or when mail is being rejected. Lists that refuse public queries are reported as 'unavailable' rather than falsely clean, so read total_checked alongside listed_count.
Parameters:
ip(required) — string — IPv4 address to check (DNSBLs are IPv4-only in practice)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
email_breach_checkCheck whether an email address appears in known data breaches, using the XposedOrNot breach database. Returns the number of breaches and the named services involved. Free alternative to paid breach-lookup APIs. The address is partially masked in the response.
Parameters:
email(required) — string — Email address to check, e.g. [email protected]
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
email_auth_checkAudit a domain's email authentication setup: MX records, SPF record and DMARC policy, with a pass/warn/fail verdict per mechanism and an overall grade. Use it when diagnosing deliverability, hardening a domain against spoofing, or reviewing a vendor's email posture.
Parameters:
domain(required) — string — Domain to audit, e.g. github.com
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
security_headers_checkFetch a site and grade its HTTP security headers (A-F): CSP, HSTS, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, plus information-leak headers like Server and X-Powered-By. Each check comes back with the actual header value and an explanation. Use it for a quick security review of your own site or a third party's. Rate limited to 20 requests/minute.
Parameters:
url(required) — string — Site to analyze. Scheme optional — https is assumed. e.g. example.com
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
port_scanRun a real server-side TCP connect scan against a public host. Each port comes back as open (handshake completed), closed (refused/reset), filtered (no response, likely firewalled) or blocked (Cloudflare blocks outbound to that port, e.g. 25/SMTP). With no `ports` argument a curated common-port catalog is scanned. Private, reserved and internal addresses are rejected. Only scan hosts you are authorized to test. Rate limited to 20 requests/minute and can take 20+ seconds.
Parameters:
host(required) — string — Public hostname or IP to scan, e.g. example.com. Required — do not scan third parties without permission.ports— string — Optional comma-separated port list. Omit to scan the common-port catalog.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
site_status_checkCheck whether a site is reachable from Cloudflare's network. Returns an up/down boolean, HTTP status code, response time in milliseconds, and the server / content-type headers. Use it to confirm an outage is real rather than local, or to verify a deployment is serving.
Parameters:
url(required) — string — URL or bare domain to check, e.g. example.com or https://example.com/health
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.