- Last commit
- 1h ago
- Forks
- 0
- Open issues
- 0
- Registry update
- Oct 16, 2026
Connect
remote$claude mcp add --transport http ip https://www.ferntool.com/mcpHeaders
Nothing to configure — it works as is.
Security review
Review passedReviewed 35m ago.
- tools
- 8 tools scanned
- metadata
- scanned
No findings.
Tools
8get_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.
FernTool — network toolbox MCP server & free IP API
FernTool is a fast, clean "what is my IP" and IP lookup tool. This repo documents its hosted, remote MCP server so AI assistants and agents (Claude, Cursor, VS Code Copilot and others) can:
- get the caller's public IP, ISP, ASN, location and timezone
- look up the country, ASN and network owner of any IPv4/IPv6 address
- detect Tor exit nodes, VPN/datacenter and cloud IPs (AWS, Google Cloud, Azure, Cloudflare, DigitalOcean, Oracle, Hetzner, OVH and more)
- batch look up to 100 IPs in one call
- run WHOIS (RDAP) for domains, IPs and ASNs, DNS lookups (A/AAAA/MX/TXT/NS/CNAME/SOA), reverse DNS and IPv4/IPv6 subnet math
- validate and classify IP addresses (public, private, loopback, documentation and so on)
No API key, no install, no sign-up. It's just a URL:
https://www.ferntool.com/mcp
Transport: MCP streamable HTTP (JSON-RPC 2.0, protocol 2025-06-18).
Connect
Claude Code
claude mcp add --transport http ferntool https://www.ferntool.com/mcp
Claude Desktop (claude_desktop_config.json). Use Settings → Connectors → Add custom connector with the URL above, or bridge with mcp-remote:
{ "mcpServers": { "ferntool": { "command": "npx", "args": ["-y", "mcp-remote", "https://www.ferntool.com/mcp"] } } }
Cursor (~/.cursor/mcp.json or .cursor/mcp.json)
{ "mcpServers": { "ferntool": { "url": "https://www.ferntool.com/mcp" } } }
VS Code (.vscode/mcp.json)
{ "servers": { "ferntool": { "type": "http", "url": "https://www.ferntool.com/mcp" } } }
Ready-made files are in examples/.
Tools
| Tool | Input | What it returns |
|---|---|---|
get_my_ip | none | Public IP of the caller (IPv4 or IPv6) with ISP, ASN, city/region/country, coordinates, timezone and is_tor / is_datacenter / provider. For remote agents, this is the IP of the machine calling the server. |
lookup_ip | ip (string, IPv4 or IPv6) | Validity, version, scope, country, timezone, ASN, network owner and flags (is_tor, is_datacenter, provider). |
batch_lookup_ip | ips (array of 1–100 strings) | lookup_ip results for every address, plus complete / retry. |
validate_ip | ip (string) | Whether it's a valid IPv4/IPv6, the expanded form and the scope (public/private/loopback/link-local/documentation/...). |
whois_lookup | query (domain, IP or ASN like AS13335) | RDAP record: registrar, created/expiry/updated dates, status, nameservers, DNSSEC; for IPs/ASNs the network name, range/CIDR, owner org, country and abuse contact. |
dns_lookup | domain, optional types (A, AAAA, MX, TXT, NS, CNAME, SOA) | Records with TTLs via Cloudflare 1.1.1.1 DNS-over-HTTPS, response status and DNSSEC validation flag. |
reverse_dns | ip | PTR hostname(s) and whether the hostname resolves back to the IP (forward-confirmed). |
subnet_calc | cidr (e.g. 192.168.1.0/24, 2001:db8::/48) | Network, netmask, wildcard, broadcast, first/last usable, total and usable addresses, block type. |
Example lookup_ip result for 8.8.8.8:
{
"valid": true, "version": 4, "ip": "8.8.8.8", "scope": "public",
"source": "dbip-lite+iptoasn",
"geo": { "country": "US", "country_name": "United States", "asn": 15169, "isp": "GOOGLE",
"timezone": "America/New_York", "timezones": ["America/New_York", "..."] },
"flags": { "is_tor": false, "is_datacenter": true, "provider": "Google Cloud" }
}
Example validate_ip result for 2001:db8::1:
{ "valid": true, "version": 6, "ip": "2001:db8::1",
"expanded": "2001:0db8:0000:0000:0000:0000:0000:0001", "scope": "documentation" }
Raw JSON-RPC
curl -s https://www.ferntool.com/mcp \
-H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"lookup_ip","arguments":{"ip":"8.8.8.8"}}}'
Plain HTTP API
The same data is available without MCP. There's no key, and CORS is *. Full spec: /openapi.json.
curl https://www.ferntool.com/ip # 203.0.113.7 (plain text)
curl https://www.ferntool.com/json # your IP + ISP, ASN, city, timezone
curl https://www.ferntool.com/api/ip/1.1.1.1 # any IPv4/IPv6 (+ timezone, Tor/datacenter flags)
curl -X POST https://www.ferntool.com/api/batch -H 'Content-Type: application/json' -d '{"ips":["8.8.8.8","1.1.1.1"]}'
curl https://www.ferntool.com/api/whois/example.com # RDAP WHOIS (domain, IP or ASN)
curl "https://www.ferntool.com/api/dns/example.com?type=A,MX" # DNS via Cloudflare DoH
curl https://www.ferntool.com/api/reverse-dns/1.1.1.1 # PTR
curl "https://www.ferntool.com/api/subnet?cidr=10.0.0.0/22" # subnet calculator
Python:
import json, urllib.request
print(json.load(urllib.request.urlopen("https://www.ferntool.com/api/ip/8.8.8.8")))
JavaScript:
const r = await fetch("https://www.ferntool.com/api/ip/8.8.8.8");
console.log(await r.json());
Fair use
This is a free service on a shared edge network. Please cache results and keep traffic reasonable. Network lookups (WHOIS, DNS, reverse DNS, batch) are limited to roughly 40 per minute per IP; heavy or abusive traffic may be rate-limited further.
Data attribution
- IP geolocation by DB-IP, licensed under CC BY 4.0.
- ASN data from IPtoASN (PDDL).
- The caller's own location in
get_my_ipcomes from the Cloudflare edge. - Tor exit list from the Tor Project; cloud ranges published by AWS, Google Cloud, Microsoft Azure, Cloudflare, DigitalOcean and Oracle; plus a list of well-known hosting ASNs. Refreshed regularly.
- WHOIS from registry RDAP services (IANA bootstrap); DNS from Cloudflare 1.1.1.1. Timezones for other IPs are the country's main IANA zone (tzdata).
Links
- Website: https://www.ferntool.com
- What is my IP: https://www.ferntool.com/
- IP lookup: https://www.ferntool.com/ip-lookup
- VPN leak test: https://www.ferntool.com/vpn-leak-test
- WHOIS lookup: https://www.ferntool.com/whois-lookup
- DNS lookup: https://www.ferntool.com/dns-lookup
- Reverse DNS: https://www.ferntool.com/reverse-dns
- Subnet calculator: https://www.ferntool.com/subnet-calculator
- MCP registry name:
com.ferntool/ip
License
The contents of this repository (docs, examples, server.json) are under the MIT License. The hosted service and its data are subject to the attributions above.
From the server's repository — third-party content, read it before running anything it suggests.
More in DevOps
Clipwright
io.clipwright
Talking-actor and faceless short videos from your AI agent, with a free quote before each render
canvas-lms-mcp
io.github.bruchris
TypeScript MCP server for Canvas LMS — 176 tools across 42 domains.
mcp-page-finder-extractor
com.mambabuilt
Find a named page type on a company's own website from its domain, in 11 languages.
Log10x MCP
io.github.log-10x
Rank log patterns by volume and cost, then compact, tier down or offload the excess over each cap
BenchFleet
io.github.jimbob1414
Let AI agents use your real Android phones safely, with permissions, approvals and an audit log.
AppCrane
io.github.gitayg
Deploy and manage apps on your own AppCrane instance, the self-hosted PaaS for AI-built apps.
Listing from the official MCP Registry · repository facts from GitHub, 38m ago.