{"data":{"name":"com.ferntool/ip","title":"FernTool Network Tools","description":"24 free tools: IP/VPN lookup, WHOIS, DNS, SPF/DMARC, site up/down, redirects, time zones. No key.","version":"1.2.0","websiteUrl":"https://www.ferntool.com/api","repositoryUrl":null,"remotes":[{"type":"streamable-http","url":"https://www.ferntool.com/mcp"}],"packages":[],"status":"active","isLatest":true,"publishedAt":"2026-10-26T04:12:48.059Z","updatedAt":"2026-10-26T04:12:48.059Z","source":"official-registry","verification":"official","confidence":100,"stars":null,"sources":[{"source":"official-registry","sourceId":"com.ferntool/ip","verification":"official","confidence":100,"stars":null,"updatedAt":"2026-10-26T04:12:48.059Z","title":"FernTool Network Tools","description":"24 free tools: IP/VPN lookup, WHOIS, DNS, SPF/DMARC, site up/down, redirects, time zones. No key.","websiteUrl":"https://www.ferntool.com/api","repositoryUrl":null}],"toolIndex":{"tools":[{"serverName":"com.ferntool/ip","endpointFingerprint":"a5c2dac4819f9ad199c471bf25dc79cc456af5ccdfb558e2b22cb5daf5c6c90d","name":"ai_service_status","title":null,"description":"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.","inputSchema":{"type":"object","properties":{"service":{"type":"string","enum":["chatgpt","claude","gemini","copilot","perplexity","cohere"]}}},"annotations":null,"definitionHash":"58eee26babe5aa8fc60e4d589798cad860d92e254e2f658aaf3e1475e9bcbb05","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T16:47:27.762Z","metadataTrust":"untrusted"},{"serverName":"com.ferntool/ip","endpointFingerprint":"a5c2dac4819f9ad199c471bf25dc79cc456af5ccdfb558e2b22cb5daf5c6c90d","name":"analyze_email_headers","title":null,"description":"Is this email real or fake? Paste the raw headers of an email (Gmail Show original, Outlook View message details). Returns who really sent it (From, Reply-To, Return-Path), the SPF/DKIM/DMARC results recorded by the receiving provider, look-alike or fake sender names (banks, SARS, couriers, free-mail accounts posing as companies), every Received hop with delays, the sending server IP with country/network, and a verdict: verified, unverified or suspicious. Nothing is stored.","inputSchema":{"type":"object","properties":{"headers":{"type":"string","description":"Raw email header text"}},"required":["headers"]},"annotations":null,"definitionHash":"055fa41294c5277f4bf17b7fa02cf446dbaf2a3fd0bb61a13eb0cd98e95b4e6f","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T16:47:27.762Z","metadataTrust":"untrusted"},{"serverName":"com.ferntool/ip","endpointFingerprint":"a5c2dac4819f9ad199c471bf25dc79cc456af5ccdfb558e2b22cb5daf5c6c90d","name":"batch_lookup_ip","title":null,"description":"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).","inputSchema":{"type":"object","properties":{"ips":{"type":"array","items":{"type":"string"},"minItems":1,"maxItems":100}},"required":["ips"]},"annotations":null,"definitionHash":"ff0fc825c342f9382725676d940431bd3003369da828bd044402a57b93685126","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T16:47:27.762Z","metadataTrust":"untrusted"},{"serverName":"com.ferntool/ip","endpointFingerprint":"a5c2dac4819f9ad199c471bf25dc79cc456af5ccdfb558e2b22cb5daf5c6c90d","name":"check_dns_propagation","title":null,"description":"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 answers.","inputSchema":{"type":"object","properties":{"domain":{"type":"string"},"type":{"type":"string","enum":["A","AAAA","CNAME","MX","TXT","NS"],"description":"default A"}},"required":["domain"]},"annotations":null,"definitionHash":"6129e928abc1b4635a2639ccc7659412dbf80cef8909d4911f1c2acce2718d9e","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T16:47:27.762Z","metadataTrust":"untrusted"},{"serverName":"com.ferntool/ip","endpointFingerprint":"a5c2dac4819f9ad199c471bf25dc79cc456af5ccdfb558e2b22cb5daf5c6c90d","name":"check_email_security","title":null,"description":"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 / partial / unprotected) plus the exact TXT records to add.","inputSchema":{"type":"object","properties":{"domain":{"type":"string","description":"Domain or email address, e.g. example.com or you@example.com"},"selector":{"type":"string","description":"Optional DKIM selector, e.g. google or selector1"}},"required":["domain"]},"annotations":null,"definitionHash":"b0052f5d0eb02617c001672017b324e2dbae55c4d906b0825ad66a105a4f798d","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T16:47:27.762Z","metadataTrust":"untrusted"},{"serverName":"com.ferntool/ip","endpointFingerprint":"a5c2dac4819f9ad199c471bf25dc79cc456af5ccdfb558e2b22cb5daf5c6c90d","name":"check_website_legit","title":null,"description":"Is this website legit or a scam? Follows the URL (redirects included) and returns plain-language warning signs: domain age from RDAP (scam shops are usually days or weeks old), look-alike brand names (banks, SARS, couriers, Takealot, PayPal, Apple…), risky domain endings and scam words, look-alike letters, HTTPS, whether the domain receives email and has DMARC. verdict: no_signs, mostly_ok, caution or likely_scam. Warning signs only; not a malware scan.","inputSchema":{"type":"object","properties":{"url":{"type":"string","description":"Website or link, e.g. example-shop.co.za or https://bit.ly/abc"}},"required":["url"]},"annotations":null,"definitionHash":"c2e9ff2899afc7489c1ea8d84fda07369d196fd2a2adc03646acd884f86f93b7","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T16:47:27.762Z","metadataTrust":"untrusted"},{"serverName":"com.ferntool/ip","endpointFingerprint":"a5c2dac4819f9ad199c471bf25dc79cc456af5ccdfb558e2b22cb5daf5c6c90d","name":"check_website_status","title":null,"description":"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/network. One vantage point only; results cached 30 s.","inputSchema":{"type":"object","properties":{"url":{"type":"string","description":"Website address, e.g. example.com or https://example.com/page"}},"required":["url"]},"annotations":null,"definitionHash":"a0a715498f61174b603f5aa6de049378bb16fee5aee12214928db11426f81396","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T16:47:27.762Z","metadataTrust":"untrusted"},{"serverName":"com.ferntool/ip","endpointFingerprint":"a5c2dac4819f9ad199c471bf25dc79cc456af5ccdfb558e2b22cb5daf5c6c90d","name":"convert_timestamp","title":null,"description":"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.","inputSchema":{"type":"object","properties":{"value":{"type":"string","description":"Timestamp like 1760000000 or a date like 2026-12-25T09:00"},"timezone":{"type":"string","description":"IANA time zone for display and for dates without an offset (default UTC)"}},"required":["value"]},"annotations":null,"definitionHash":"ba9c414e3980218f49bbc2aa497338067a54a86c90a484d16821acd0694478b1","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T16:47:27.762Z","metadataTrust":"untrusted"},{"serverName":"com.ferntool/ip","endpointFingerprint":"a5c2dac4819f9ad199c471bf25dc79cc456af5ccdfb558e2b22cb5daf5c6c90d","name":"convert_timezone","title":null,"description":"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 offset, abbreviation, hour difference and whether it is the next/previous day.","inputSchema":{"type":"object","properties":{"time":{"type":"string","description":"e.g. 2026-12-25 09:00, 14:30 or 2:30pm (today in from); omit for now"},"from":{"type":"string","description":"Source zone (default UTC)"},"to":{"type":"array","items":{"type":"string"},"minItems":1,"maxItems":20,"description":"Target zones"}},"required":["to"]},"annotations":null,"definitionHash":"7fc839fa874c81700893997f0c9791251803e8f28d41c2ff48abff8002018ed0","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T16:47:27.762Z","metadataTrust":"untrusted"},{"serverName":"com.ferntool/ip","endpointFingerprint":"a5c2dac4819f9ad199c471bf25dc79cc456af5ccdfb558e2b22cb5daf5c6c90d","name":"count_words","title":null,"description":"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.","inputSchema":{"type":"object","properties":{"text":{"type":"string"}},"required":["text"]},"annotations":null,"definitionHash":"c0e899832b3c302c3071fb3be456a679856e3c80ce791b3f4107c14e7c4ecd3b","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T16:47:27.762Z","metadataTrust":"untrusted"},{"serverName":"com.ferntool/ip","endpointFingerprint":"a5c2dac4819f9ad199c471bf25dc79cc456af5ccdfb558e2b22cb5daf5c6c90d","name":"date_calc","title":null,"description":"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.","inputSchema":{"type":"object","properties":{"start":{"type":"string","description":"YYYY-MM-DD (default: today in timezone)"},"end":{"type":"string","description":"YYYY-MM-DD"},"include_end":{"type":"boolean","description":"Count the end date too (default false)"},"add_days":{"type":"integer"},"add_weeks":{"type":"integer"},"add_months":{"type":"integer"},"add_years":{"type":"integer"},"business_days":{"type":"boolean","description":"add_days counts Monday-Friday only"},"timezone":{"type":"string","description":"IANA zone used for today when start is omitted (default UTC)"}}},"annotations":null,"definitionHash":"a2ba206c635c777da1ede945738f08499c0c5e3dddfbc42223a6a9048587bc8b","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T16:47:27.762Z","metadataTrust":"untrusted"},{"serverName":"com.ferntool/ip","endpointFingerprint":"a5c2dac4819f9ad199c471bf25dc79cc456af5ccdfb558e2b22cb5daf5c6c90d","name":"dns_lookup","title":null,"description":"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).","inputSchema":{"type":"object","properties":{"domain":{"type":"string"},"types":{"type":"array","items":{"type":"string","enum":["A","AAAA","MX","TXT","NS","CNAME","SOA"]}}},"required":["domain"]},"annotations":null,"definitionHash":"7e5ebefdda3bbbe004314bc430306790f009e3c6f2c3b6b655d8efc77d9a8114","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T16:47:27.762Z","metadataTrust":"untrusted"},{"serverName":"com.ferntool/ip","endpointFingerprint":"a5c2dac4819f9ad199c471bf25dc79cc456af5ccdfb558e2b22cb5daf5c6c90d","name":"estimate_ai_cost","title":null,"description":"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.","inputSchema":{"type":"object","properties":{"text":{"type":"string"},"tokens":{"type":"integer","minimum":1},"output_tokens":{"type":"integer","minimum":0,"description":"Expected reply length in tokens (default: same as input)"}}},"annotations":null,"definitionHash":"c646fcebbf6bd7ad60c2b3486ac27f020a67a75106d20573da862edfcf1c6e8c","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T16:47:27.762Z","metadataTrust":"untrusted"},{"serverName":"com.ferntool/ip","endpointFingerprint":"a5c2dac4819f9ad199c471bf25dc79cc456af5ccdfb558e2b22cb5daf5c6c90d","name":"generate_spf_record","title":null,"description":"Build one valid SPF TXT record for a domain from the services that send its email (e.g. microsoft365, google, mailchimp, sendgrid, website). Optionally reads the domain's current SPF record and MX first (keeps unknown entries, warns about services it would drop), adds extra IPs/includes, and counts DNS lookups live against the 10-lookup limit. Returns the record, DNS name, lookup count, notes and a starter DMARC record. Service ids: microsoft365, google, zoho, proton, fastmail, icloud, mimecast_za, mimecast, website, mx, shopify, mailchimp, mandrill, brevo, mailerlite, constantcontact, campaignmonitor, mailjet, sendpulse, sendgrid, mailgun, amazonses, postmark, zendesk, freshdesk, helpscout, salesforce.","inputSchema":{"type":"object","properties":{"services":{"type":"array","items":{"type":"string"},"description":"Service ids"},"domain":{"type":"string","description":"Optional domain to read the current record from"},"ips":{"type":"array","items":{"type":"string"}},"includes":{"type":"array","items":{"type":"string"}},"strict":{"type":"boolean","description":"true = -all, default ~all"}}},"annotations":null,"definitionHash":"a3b963cd9b1ab1a925e102db44968f080f7d37eec5628ef9d7cb5fa3dcd206ec","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T16:47:27.762Z","metadataTrust":"untrusted"},{"serverName":"com.ferntool/ip","endpointFingerprint":"a5c2dac4819f9ad199c471bf25dc79cc456af5ccdfb558e2b22cb5daf5c6c90d","name":"get_current_time","title":null,"description":"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.","inputSchema":{"type":"object","properties":{"timezone":{"type":"string","description":"IANA time zone, e.g. Africa/Johannesburg or America/New_York (default UTC)"}}},"annotations":null,"definitionHash":"8f02e32fcaee1ae28c3c79abfb0c9b7cf9492f8a577a690b1e976a2b1e1a6328","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T16:47:27.762Z","metadataTrust":"untrusted"},{"serverName":"com.ferntool/ip","endpointFingerprint":"a5c2dac4819f9ad199c471bf25dc79cc456af5ccdfb558e2b22cb5daf5c6c90d","name":"get_my_ip","title":null,"description":"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.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":null,"definitionHash":"777705f225866034c7de145c63421c39bdd84713f9e3e983857a988e90e18af2","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T16:47:27.762Z","metadataTrust":"untrusted"},{"serverName":"com.ferntool/ip","endpointFingerprint":"a5c2dac4819f9ad199c471bf25dc79cc456af5ccdfb558e2b22cb5daf5c6c90d","name":"lookup_ip","title":null,"description":"Validate an IPv4/IPv6 address and return its version, scope (public/private/loopback/...), country, ASN and network owner (DB-IP Lite + IPtoASN data).","inputSchema":{"type":"object","properties":{"ip":{"type":"string","description":"IPv4 or IPv6 address"}},"required":["ip"]},"annotations":null,"definitionHash":"e55fb2eb2c46ecf9b2cefcc707a17b183b38292062550c8d24620b03f07ee40a","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T16:47:27.762Z","metadataTrust":"untrusted"},{"serverName":"com.ferntool/ip","endpointFingerprint":"a5c2dac4819f9ad199c471bf25dc79cc456af5ccdfb558e2b22cb5daf5c6c90d","name":"make_qr_code","title":null,"description":"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.","inputSchema":{"type":"object","properties":{"text":{"type":"string"},"ecc":{"type":"string","enum":["L","M","Q","H"],"description":"Error correction (default M)"}},"required":["text"]},"annotations":null,"definitionHash":"d6e2c06230a7444f38b50750fe672072c5e3a91f46de7329a7a8f6a18530445e","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T16:47:27.762Z","metadataTrust":"untrusted"},{"serverName":"com.ferntool/ip","endpointFingerprint":"a5c2dac4819f9ad199c471bf25dc79cc456af5ccdfb558e2b22cb5daf5c6c90d","name":"pick_random","title":null,"description":"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 chance unless dedupe=true.","inputSchema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"string"},"minItems":1,"maxItems":10000,"description":"The names or items"},"mode":{"type":"string","enum":["pick","shuffle","teams"],"description":"default pick"},"count":{"type":"integer","minimum":1,"description":"How many winners for mode=pick (default 1, never repeats an entry)"},"teams":{"type":"integer","minimum":2,"description":"Number of teams for mode=teams (default 2)"},"dedupe":{"type":"boolean","description":"Remove duplicate entries first (case-insensitive)"}},"required":["items"]},"annotations":null,"definitionHash":"7f332b7ea10b2f33d3d7ebc43f76223220aebd2c31d31def90fc1fc994e78c6b","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T16:47:27.762Z","metadataTrust":"untrusted"},{"serverName":"com.ferntool/ip","endpointFingerprint":"a5c2dac4819f9ad199c471bf25dc79cc456af5ccdfb558e2b22cb5daf5c6c90d","name":"random_number","title":null,"description":"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.","inputSchema":{"type":"object","properties":{"min":{"type":"integer","description":"default 1"},"max":{"type":"integer","description":"default 100"},"count":{"type":"integer","minimum":1,"maximum":1000,"description":"default 1"},"unique":{"type":"boolean"},"sort":{"type":"string","enum":["asc","desc"]}}},"annotations":null,"definitionHash":"3f08f32b6ed515345ea0e5bffb6ac05fa4e1163d29b1cb56fd72d0b3f53f12dc","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T16:47:27.762Z","metadataTrust":"untrusted"},{"serverName":"com.ferntool/ip","endpointFingerprint":"a5c2dac4819f9ad199c471bf25dc79cc456af5ccdfb558e2b22cb5daf5c6c90d","name":"reverse_dns","title":null,"description":"Reverse DNS (PTR) lookup for an IPv4/IPv6 address, with forward-confirmation check.","inputSchema":{"type":"object","properties":{"ip":{"type":"string"}},"required":["ip"]},"annotations":null,"definitionHash":"2e8e02b54f4e985d4fdc6bda709c066414297b466a2ce4162a375ff410d5d2dd","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T16:47:27.762Z","metadataTrust":"untrusted"},{"serverName":"com.ferntool/ip","endpointFingerprint":"a5c2dac4819f9ad199c471bf25dc79cc456af5ccdfb558e2b22cb5daf5c6c90d","name":"subnet_calc","title":null,"description":"IPv4/IPv6 CIDR subnet calculator: network, netmask, wildcard, broadcast, first/last usable host, total and usable addresses, block type. Optional split lists the smaller subnets (e.g. the /64s in a /48).","inputSchema":{"type":"object","properties":{"cidr":{"type":"string","description":"e.g. 192.168.1.0/24 or 2001:db8::/48"},"split":{"type":"integer","description":"Optional: split into subnets of this prefix length, e.g. 26 or 64 (first 64 listed plus the total count)"}},"required":["cidr"]},"annotations":null,"definitionHash":"68fe6b60ba84e8340f33e41f283af4a1b0475dfe74bdf41f163138cf9ca4712c","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T16:47:27.762Z","metadataTrust":"untrusted"},{"serverName":"com.ferntool/ip","endpointFingerprint":"a5c2dac4819f9ad199c471bf25dc79cc456af5ccdfb558e2b22cb5daf5c6c90d","name":"trace_redirects","title":null,"description":"Where does a link really go? Follows a URL (short links like bit.ly, tracking links, QR code links) hop by hop without a browser: every redirect with status code (301/302/307/308/meta refresh), final URL and page title, plus warning signs (ends on a different site, domain registered < 30 days ago, punycode look-alike name, bare IP, no HTTPS, loops, long chains) and a copy of the final URL with tracking parameters removed. Does not scan pages for malware. Max 10 hops; cached 60 s.","inputSchema":{"type":"object","properties":{"url":{"type":"string","description":"The link to check, e.g. bit.ly/abc123 or https://example.com/page"}},"required":["url"]},"annotations":null,"definitionHash":"7151192328197088efdbccc51bf80b09b5cdb5c35c0382d362169133b25d7cb2","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T16:47:27.762Z","metadataTrust":"untrusted"},{"serverName":"com.ferntool/ip","endpointFingerprint":"a5c2dac4819f9ad199c471bf25dc79cc456af5ccdfb558e2b22cb5daf5c6c90d","name":"validate_ip","title":null,"description":"Check whether a string is a valid IPv4 or IPv6 address and classify it.","inputSchema":{"type":"object","properties":{"ip":{"type":"string"}},"required":["ip"]},"annotations":null,"definitionHash":"e862267ff09ad5bcd4edcaafc7796ac66dccba22db9c68ca37236c8bb3d6d091","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T16:47:27.762Z","metadataTrust":"untrusted"},{"serverName":"com.ferntool/ip","endpointFingerprint":"a5c2dac4819f9ad199c471bf25dc79cc456af5ccdfb558e2b22cb5daf5c6c90d","name":"whois_lookup","title":null,"description":"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.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Domain, IPv4/IPv6 address, or ASN (e.g. AS13335)"}},"required":["query"]},"annotations":null,"definitionHash":"9634efafa162b9623893f09d3e88ae0ea136073ba6a7b7b23db56a1f58e13cfb","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T16:47:27.762Z","metadataTrust":"untrusted"}],"endpoints":[{"endpointFingerprint":"a5c2dac4819f9ad199c471bf25dc79cc456af5ccdfb558e2b22cb5daf5c6c90d","protocol":"streamable-http","status":"indexed","toolCount":25,"observedAt":"2026-11-03T16:47:27.762Z"}],"authentication":"unknown"},"connectionConfigurations":{"status":"ready","authentication":"not embedded","clients":{"Claude Desktop":{"mcpServers":{"com.ferntool/ip":{"url":"https://www.ferntool.com/mcp"}}},"Cursor":{"mcpServers":{"com.ferntool/ip":{"url":"https://www.ferntool.com/mcp"}}},"VS Code":{"servers":{"com.ferntool/ip":{"type":"http","url":"https://www.ferntool.com/mcp"}}}}},"resourceType":"mcp-server","callable":true,"runtime":{"callable":true,"protocols":["mcp"]},"interfaces":[{"protocol":"mcp","transport":"streamable-http","url":"https://www.ferntool.com/mcp"}],"profile":{"apiVersion":"1","schemaVersion":"1","id":"mcp-server:com.ferntool%2Fip","resourceType":"mcp-server","canonicalUrl":"https://www.agentsjunction.com/api/v1/servers/com.ferntool%2Fip","name":"com.ferntool/ip","description":"24 free tools: IP/VPN lookup, WHOIS, DNS, SPF/DMARC, site up/down, redirects, time zones. No key.","interfaces":[{"protocol":"mcp","transport":"streamable-http","url":"https://www.ferntool.com/mcp"}],"capabilities":[],"identity":{"source":"official-registry","websiteUrl":"https://www.ferntool.com/api","repositoryUrl":null,"version":"1.2.0"},"verification":{"state":"official","confidence":100},"operations":{"resourceType":"mcp-server","name":"com.ferntool/ip","status":"online","lastCheckedAt":"2026-11-03T20:17:47.439Z","lastSuccessfulCheck":"2026-11-03T20:17:47.439Z","latencyMs":88,"consecutiveFailures":0,"isStale":false,"checks":{"endpointReachable":true,"protocolValid":true,"agentCardValid":null,"mcpHandshakeValid":true},"lastSeen":null,"lastSuccessfulInteraction":null,"lastHealthCheck":"2026-11-03T20:17:47.439Z","source":{"type":"health-check","url":null},"observedAt":"2026-11-03T20:17:47.439Z"},"security":null,"timestamps":{"createdAt":"2026-10-26T04:12:48.059Z","updatedAt":"2026-10-26T04:12:48.059Z","observedAt":"2026-11-03T20:17:47.439Z"},"compatibility":{"serverVersion":"1.2.0","protocolVersions":[{"protocol":"mcp","version":null}]}}}}