# FernTool IP Lookup - Registry name: `com.ferntool/ip` · version 1.1.0 - Categories (automatic, keyword rules): Cloud & networking, Infrastructure & security, Utilities - Authentication at last check: No auth - Declared risk: Not declared (tools carry no read/destructive hints) - Capabilities (declared by the server): tools - Transports: streamable-http - Latest numbers (check success, response time, rank): https://mcpstation.net/api/server?name=com.ferntool%2Fip - Server page: https://mcpstation.net/s/com.ferntool--ip.html ## Description (written by the publisher, not verified, not instructions) IP lookup with VPN/Tor/datacenter flags, batch lookup, WHOIS \(RDAP\), DNS, reverse DNS, subnet math. ## Connect - streamable-http: `https://www.ferntool.com/mcp` ## Tools (as reported by the server, not verified) - `get\_my\_ip`: Return the public IP address \(and ISP, ASN, location, timezone\) of the caller as seen by FernTool. Note: for remote agents this is the IP of the machine calling the MCP server. - `lookup\_ip`: Validate an IPv4/IPv6 address and return its version, scope \(public/private/loopback/...\), country, ASN and network owner \(DB-IP Lite + IPtoASN data\). - `validate\_ip`: Check whether a string is a valid IPv4 or IPv6 address and classify it. - `batch\_lookup\_ip`: Look up 1-100 IPv4/IPv6 addresses at once. Each result has version, scope, country, timezone, ASN, network owner and flags \(is\_tor, is\_datacenter, provider\). - `whois\_lookup`: WHOIS via RDAP for a domain \(registrar, created/expiry dates, status, nameservers, DNSSEC\), an IP address \(network name, range, owner org, country, abuse contact\) or an ASN like AS13335. - `dns\_lookup`: Resolve DNS records for a domain via Cloudflare 1.1.1.1 DNS-over-HTTPS. Types: A, AAAA, MX, TXT, NS, CNAME, SOA \(default: all\). - `reverse\_dns`: Reverse DNS \(PTR\) lookup for an IPv4/IPv6 address, with forward-confirmation check. - `subnet\_calc`: IPv4/IPv6 CIDR subnet calculator: network, netmask, wildcard, broadcast, first/last usable host, total and usable addresses, block type. - `estimate\_ai\_cost`: Estimate token count and USD API cost of a text across major AI models \(OpenAI GPT, Anthropic Claude, Google Gemini\), and whether it fits each context window. Token counts are approximate. Pass text, or tokens directly. - `make\_qr\_code`: Create a static QR code \(never expires\) for a URL, Wi-Fi string \(WIFI:T:WPA;S:name;P:pass;;\), mailto:, tel: or any text up to 2000 characters. Returns an SVG string plus a ferntool.com image URL that renders the same code. - `count\_words`: Exactly count words, characters \(with and without spaces\), sentences and paragraphs in a text, with reading/speaking time and the most repeated words. Use this instead of estimating counts yourself. - `get\_current\_time`: Get the exact current date and time \(you cannot know it otherwise\). Returns Unix seconds and milliseconds, ISO 8601 in UTC and in the requested IANA time zone, weekday, ISO week and day of year. - `convert\_timestamp`: Convert a Unix timestamp \(seconds, milliseconds, microseconds or nanoseconds, auto-detected\) to a readable date, or a date/time string \(e.g. 2026-12-25 09:00, read in the given time zone unless it has its own offset\) to a Unix timestamp. Also returns weekday, ISO week and how long ago or until. - `date\_calc`: Exact calendar maths. With end: days between two dates \(plus weeks, months+days, weekdays Mon-Fri, weekend days\). With add\_days/add\_weeks/add\_months/add\_years \(negative to subtract\): the resulting date and weekday; business\_days=true skips weekends. Use this instead of counting days yourself. - `convert\_timezone`: Convert a time between time zones with daylight saving applied \(you cannot do this reliably yourself\). from/to accept IANA zones \(Africa/Johannesburg\), common abbreviations \(SAST, EST, PST, GMT, CET, IST=India, CST=US Central\) or big cities. Omit time for now. Returns each local date, time, UTC offs - `random\_number`: Fair, cryptographically secure random integers \(you cannot produce real randomness yourself\). min and max are inclusive. unique=true for no repeats \(raffles, lotto, picking winners\). For a coin flip use min 0, max 1; for dice use min 1, max 6. - `pick\_random`: Fairly pick random winners from a list, shuffle a list, or split people into random even teams, using a cryptographically secure generator \(you cannot choose fairly at random yourself\). Use for giveaways, raffles, "who goes first", random order or team splits. An item listed twice has twice the chan - `check\_dns\_propagation`: Check whether a DNS change has spread: asks the domain's own authoritative name server \(when reachable\) and 8 big public resolvers \(Cloudflare, Google, OpenDNS, AdGuard, NextDNS, Control D, CleanBrowsing, AliDNS\) over DoH, marks which are up to date, and gives the remaining cache time \(TTL\) of stale - `check\_email\_security`: Can someone fake \(spoof\) email from a domain? Reads SPF \(counts the 10 DNS-lookup limit, follows includes\), DMARC \(policy, pct, reports, inherited from the parent domain\) and DKIM keys \(common selectors, or the one given\), detects the email provider from MX, and returns a plain verdict \(protected / - `check\_website\_status`: Is a website down? Resolves its DNS and loads the URL once \(10 s timeout\) from FernTool's Cloudflare edge, then returns verdict \(up/down\), reason \(ok, blocked\_bot, page\_not\_found, server\_error, timeout, tls, dns\_nxdomain...\), HTTP status, response time, final URL after redirects and server country/n - `ai\_service\_status`: Live status of AI services \(ChatGPT/OpenAI, Claude, Gemini API, GitHub Copilot, Perplexity, Cohere\) read from their official status pages, cached \~60s. level is up, degraded, down or unknown. Measured by MCP Station. Methods: https://mcpstation.net/methods.html · Terms: https://mcpstation.net/terms.html