FernTool IP Lookup
Servidor MCP remoto gratuito para obter seu IP público, consultar país, ISP e ASN de qualquer IP, e validar IPv4/IPv6. Não é necessária chave de API. Ferramentas: get_my_ip, lookup_ip, validate_ip. URL remota (HTTP streamable): https://www.ferntool.com/mcp
Servidor MCP hospedado
npx add-mcp 'https://www.ferntool.com/mcp'Instala no Claude Code, Codex, Cursor e outros
Documentação
FernTool — servidor MCP de toolbox de rede e API de IP gratuita
FernTool é uma ferramenta rápida e limpa de "qual é o meu IP" e consulta de IP. Este repositório documenta seu servidor MCP remoto e hospedado para que assistentes de IA e agentes (Claude, Cursor, VS Code Copilot e outros) possam:
- obter o IP público do chamador, ISP, ASN, localização e fuso horário
- consultar o país, ASN e proprietário da rede de qualquer endereço IPv4/IPv6
- detectar nós de saída Tor, IPs de VPN/datacenter e nuvem (AWS, Google Cloud, Azure, Cloudflare, DigitalOcean, Oracle, Hetzner, OVH e outros)
- consultar em lote até 100 IPs em uma única chamada
- executar WHOIS (RDAP) para domínios, IPs e ASNs, consultas DNS (A/AAAA/MX/TXT/NS/CNAME/SOA), DNS reverso e cálculos de sub-rede IPv4/IPv6
- validar e classificar endereços IP (público, privado, loopback, documentação e outros)
Sem chave de API, sem instalação, sem cadastro. É apenas uma URL:
https://www.ferntool.com/mcp
Transporte: MCP HTTP streamable (JSON-RPC 2.0, protocolo 2025-06-18).
Conectar
Claude Code
claude mcp add --transport http ferntool https://www.ferntool.com/mcp
Claude Desktop (claude_desktop_config.json). Use Configurações → Conectores → Adicionar conector personalizado com a URL acima, ou faça a ponte com mcp-remote:
{ "mcpServers": { "ferntool": { "command": "npx", "args": ["-y", "mcp-remote", "https://www.ferntool.com/mcp"] } } }
Cursor (~/.cursor/mcp.json ou .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" } } }
Arquivos prontos estão em examples/.
Ferramentas
| Ferramenta | Entrada | O que retorna |
|---|---|---|
get_my_ip | nenhuma | IP público do chamador (IPv4 ou IPv6) com ISP, ASN, cidade/região/país, coordenadas, fuso horário e is_tor / is_datacenter / provider. Para agentes remotos, este é o IP da máquina que chama o servidor. |
lookup_ip | ip (string, IPv4 ou IPv6) | Validade, versão, escopo, país, fuso horário, ASN, proprietário da rede e flags (is_tor, is_datacenter, provider). |
batch_lookup_ip | ips (array de 1–100 strings) | Resultados de lookup_ip para cada endereço, além de complete / retry. |
validate_ip | ip (string) | Se é um IPv4/IPv6 válido, a forma expandida e o escopo (público/privado/loopback/link-local/documentação/...). |
whois_lookup | query (domínio, IP ou ASN como AS13335) | Registro RDAP: registrador, datas de criação/expiração/atualização, status, servidores de nomes, DNSSEC; para IPs/ASNs, o nome da rede, intervalo/CIDR, organização proprietária, país e contato de abuso. |
dns_lookup | domain, opcional types (A, AAAA, MX, TXT, NS, CNAME, SOA) | Registros com TTLs via Cloudflare 1.1.1.1 DNS-over-HTTPS, status da resposta e sinalizador de validação DNSSEC. |
reverse_dns | ip | Nome(s) de host PTR e se o hostname resolve de volta para o IP (forward-confirmed). |
subnet_calc | cidr (ex.: 192.168.1.0/24, 2001:db8::/48) | Rede, máscara de rede, wildcard, broadcast, primeiro/último endereço utilizável, total e endereços utilizáveis, tipo de bloco. |
Exemplo de resultado de lookup_ip para 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" }
}
Exemplo de resultado de validate_ip para 2001:db8::1:
{ "valid": true, "version": 6, "ip": "2001:db8::1",
"expanded": "2001:0db8:0000:0000:0000:0000:0000:0001", "scope": "documentation" }
JSON-RPC bruto
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"}}}'
API HTTP simples
Os mesmos dados estão disponíveis sem MCP. Não há chave, e CORS está *. Especificação completa: /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());
Uso justo
Este é um serviço gratuito em uma rede de borda compartilhada. Por favor, armazene resultados em cache e mantenha o tráfego razoável. Consultas de rede (WHOIS, DNS, DNS reverso, lote) são limitadas a aproximadamente 40 por minuto por IP; tráfego pesado ou abusivo pode ser limitado ainda mais.
Atribuição de dados
- Geolocalização de IP por DB-IP, licenciado sob CC BY 4.0.
- Dados de ASN de IPtoASN (PDDL).
- A localização do próprio chamador em
get_my_ipvem da borda Cloudflare. - Lista de saída Tor do Tor Project; faixas de nuvem publicadas por AWS, Google Cloud, Microsoft Azure, Cloudflare, DigitalOcean e Oracle; além de uma lista de ASNs de hospedagem conhecidos. Atualizado regularmente.
- WHOIS dos serviços RDAP de registro (bootstrap IANA); DNS do Cloudflare 1.1.1.1. Fusos horários para outros IPs são a zona IANA principal do país (tzdata).
Links
- Site: https://www.ferntool.com
- Qual é o meu IP: https://www.ferntool.com/
- Consulta de IP: https://www.ferntool.com/ip-lookup
- Teste de vazamento VPN: https://www.ferntool.com/vpn-leak-test
- Consulta WHOIS: https://www.ferntool.com/whois-lookup
- Consulta DNS: https://www.ferntool.com/dns-lookup
- DNS reverso: https://www.ferntool.com/reverse-dns
- Calculadora de sub-rede: https://www.ferntool.com/subnet-calculator
- Nome no registro MCP:
com.ferntool/ip
Licença
O conteúdo deste repositório (documentação, exemplos, server.json) está sob a Licença MIT. O serviço hospedado e seus dados estão sujeitos às atribuições acima.