Skip to content

FernTool IP Lookup

by ferntool.com · remote · no sign-in to list tools · v1.1.0 · published by com.ferntool

IP lookup with VPN/Tor/datacenter flags, batch lookup, WHOIS (RDAP), DNS, reverse DNS, subnet math.

Final · 1Changes · 8

18 tools: 1 do something that can't be undone, 8 change things and 9 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http ip https://www.ferntool.com/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

18 tools

Can't be undone 1Claude Code: ask
  • convert_timezoneConvert a time between time zones with daylight saving applied (you cannot do this reliably yourself).No findings

    Why it is in this group

    • The name "convert_timezone" says "convert": a word for a change.
    • The input addresses people (input.to): what it sends cannot be taken back.
    Description, as the server wrote it
    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.
Changes things 8Claude Code: ask
  • convert_timestampConvert a Unix timestamp (seconds, milliseconds, microseconds or nanoseconds, auto-detected) to a readable date, or a date/time string (e.g.No findings

    Why it is in this group

    • The name "convert_timestamp" says "convert": a word for a change.
    Description, as the server wrote it
    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_calcExact calendar maths.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    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.
  • 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.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    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_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.No findings

    Why it is in this group

    • The description's first verb is "create": a word for a change.
    Description, as the server wrote it
    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.
  • 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 yours…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    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.
  • random_numberFair, cryptographically secure random integers (you cannot produce real randomness yourself).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    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.
  • reverse_dnsReverse DNS (PTR) lookup for an IPv4/IPv6 address, with forward-confirmation check.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Reverse DNS (PTR) lookup for an IPv4/IPv6 address, with forward-confirmation check.
  • subnet_calcIPv4/IPv6 CIDR subnet calculator: network, netmask, wildcard, broadcast, first/last usable host, total and usable addresses, block type.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    IPv4/IPv6 CIDR subnet calculator: network, netmask, wildcard, broadcast, first/last usable host, total and usable addresses, block type.
Only reads 9Claude Code: allow
  • ai_service_statusLive status of AI services (ChatGPT/OpenAI, Claude, Gemini API, GitHub Copilot, Perplexity, Cohere) read from their official status pages, cached ~60s.No findings

    Why it is in this group

    • The name "ai_service_status" says "status": a word for reading.
    Description, as the server wrote it
    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.
  • batch_lookup_ipLook up 1-100 IPv4/IPv6 addresses at once.No findings

    Why it is in this group

    • The name "batch_lookup_ip" says "lookup": a word for reading.
    Description, as the server wrote it
    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).
  • count_wordsExactly count words, characters (with and without spaces), sentences and paragraphs in a text, with reading/speaking time and the most repeated words.No findings

    Why it is in this group

    • The name "count_words" says "count": a word for reading.
    Description, as the server wrote it
    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.
  • dns_lookupResolve DNS records for a domain via Cloudflare 1.1.1.1 DNS-over-HTTPS.No findings

    Why it is in this group

    • The name "dns_lookup" says "lookup": a word for reading.
    Description, as the server wrote it
    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).
  • get_current_timeGet the exact current date and time (you cannot know it otherwise).No findings

    Why it is in this group

    • The name "get_current_time" says "get": a word for reading.
    Description, as the server wrote it
    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.
  • get_my_ipReturn the public IP address (and ISP, ASN, location, timezone) of the caller as seen by FernTool.No findings

    Why it is in this group

    • The name "get_my_ip" says "get": a word for reading.
    Description, as the server wrote it
    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_ipValidate an IPv4/IPv6 address and return its version, scope (public/private/loopback/...), country, ASN and network owner (DB-IP Lite + IPtoASN data).No findings

    Why it is in this group

    • The name "lookup_ip" says "lookup": a word for reading.
    Description, as the server wrote it
    Validate an IPv4/IPv6 address and return its version, scope (public/private/loopback/...), country, ASN and network owner (DB-IP Lite + IPtoASN data).
  • validate_ipCheck whether a string is a valid IPv4 or IPv6 address and classify it.No findings

    Why it is in this group

    • The name "validate_ip" says "validate": a word for reading.
    Description, as the server wrote it
    Check whether a string is a valid IPv4 or IPv6 address and classify it.
  • 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 AS…No findings

    Why it is in this group

    • The name "whois_lookup" says "lookup": a word for reading.
    Description, as the server wrote it
    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.

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.1.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http ip https://www.ferntool.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__ip__get_my_ip",
      "mcp__ip__lookup_ip",
      "mcp__ip__validate_ip",
      "mcp__ip__batch_lookup_ip",
      "mcp__ip__whois_lookup",
      "mcp__ip__dns_lookup",
      "mcp__ip__count_words",
      "mcp__ip__get_current_time",
      "mcp__ip__ai_service_status"
    ],
    "ask": [
      "mcp__ip__reverse_dns",
      "mcp__ip__subnet_calc",
      "mcp__ip__estimate_ai_cost",
      "mcp__ip__make_qr_code",
      "mcp__ip__convert_timestamp",
      "mcp__ip__date_calc",
      "mcp__ip__convert_timezone",
      "mcp__ip__random_number",
      "mcp__ip__pick_random"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as ip. Review it before you use it.