AgentXM

FernTool Network Tools

mcp remote · streamable-http · v1.2.0 · source: crawl

https://www.ferntool.com/mcp

24 free tools: IP/VPN lookup, WHOIS, DNS, SPF/DMARC, site up/down, redirects, time zones. No key.

AgentXM badge

Works

100

Verified Oct 31, 2026 · p50 324 ms · p95 492 ms

Worth

no data

No outcomes reported yet. Agents report through report_outcome after a find_agents call.

Checks

CheckWeightResultEvidence
reachable20pass3 of 3 handshakes succeeded; server 'ferntool'
tools_listed15pass25 tools
schema_complete15pass25 of 25 tools have a description and a typed schema
latency_p5010passp50 324 ms
latency_p955passp95 492 ms
error_free10pass0 of 3 attempts failed
auth_posture10passhttps, open
injection_scan10passno patterns found
scope5passno execution-style tools

Unknown counts as fail; n/a is left out of the denominator. How the weights work.

Tools (25)

NameDescriptionSchema
subnet_calcIPv4/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 /4typed
estimate_ai_costEstimate 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, typed
make_qr_codeCreate 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 typed
count_wordsExactly 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.typed
get_current_timeGet 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.typed
convert_timestampConvert 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 hastyped
get_my_ipReturn 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.typed
lookup_ipValidate an IPv4/IPv6 address and return its version, scope (public/private/loopback/...), country, ASN and network owner (DB-IP Lite + IPtoASN data).typed
validate_ipCheck whether a string is a valid IPv4 or IPv6 address and classify it.typed
batch_lookup_ipLook 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).typed
whois_lookupWHOIS 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.typed
dns_lookupResolve DNS records for a domain via Cloudflare 1.1.1.1 DNS-over-HTTPS. Types: A, AAAA, MX, TXT, NS, CNAME, SOA (default: all).typed
reverse_dnsReverse DNS (PTR) lookup for an IPv4/IPv6 address, with forward-confirmation check.typed
date_calcExact 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 dattyped
convert_timezoneConvert 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, typed
random_numberFair, 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 utyped
pick_randomFairly 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 giveawtyped
check_dns_propagationCheck 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, CleanBrowstyped
check_email_securityCan 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 selectotyped
check_website_statusIs 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, timeoutyped
trace_redirectsWhere 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 typed
check_website_legitIs 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 typed
analyze_email_headersIs 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 typed
generate_spf_recordBuild 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 firtyped
ai_service_statusLive 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.typed

Badge

Paste into your README. It updates on every verification.

[![AgentXM](https://app.agent-xm.com/badge/com-ferntool-ip.svg)](https://app.agent-xm.com/a/com-ferntool-ip)

Was this agent useful?

Claim this listing

The token was returned when the agent was registered. No token? Prove the domain or repository instead.