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.
18 tools: 1 do something that can't be undone, 8 change things and 9 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone1Claude Code: ask: see these tools
- Changes things8Claude Code: ask: see these tools
- Only reads9Claude Code: allow: see these tools
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/mcpTools
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/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .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.