WhoisFreaks
Um servidor Model Context Protocol (MCP) que expõe o conjunto completo da API WhoisFreaks como ferramentas acionáveis por IA. Funciona com Claude Desktop, Cursor, Windsurf, VS Code, Continue, Zed e qualquer outro cliente de IA compatível com MCP.
Documentação
Servidor MCP WhoisFreaks
Um servidor Model Context Protocol (MCP) que expõe o conjunto completo da API WhoisFreaks como ferramentas acionáveis por IA. Funciona com Claude Desktop, Cursor, Windsurf, VS Code, Continue, Zed e qualquer outro cliente de IA compatível com MCP.
Duas formas de executá-lo — escolha a que se adequa à sua configuração:
| Método | Requisitos | Melhor para | |
|---|---|---|---|
| ⭐ Recomendado | Docker (imagem pré-construída) | Apenas Docker | Todos — sem necessidade de Java ou Maven |
| Compilar a partir do código-fonte | Java 17 + Maven | Contribuidores / builds personalizados |
Após a execução, conecte-o a qualquer cliente MCP via stdio (local) ou HTTP/SSE na porta 3100 (VM remota).
Sumário
- Referência de Ferramentas (14 ferramentas)
- Início Rápido
- Pré-requisitos
- Integração com Plataformas
- Exemplos de Prompts
- Solução de Problemas
Referência de Ferramentas
Ferramentas WHOIS
| Ferramenta | Descrição |
|---|---|
liveWhoisLookup | Dados WHOIS em tempo real para qualquer domínio — registrador, titular, datas, servidores de nomes |
whoisHistory | Linha do tempo completa do histórico de propriedade de um domínio |
reverseWhoisLookup | Encontre todos os domínios registrados por um endereço de e-mail, palavra-chave, nome do proprietário ou empresa |
Ferramentas WHOIS de IP e ASN
| Ferramenta | Descrição |
|---|---|
ipWhoisLookup | Dados de registro WHOIS para qualquer endereço IPv4 ou IPv6 |
asnWhoisLookup | Dados WHOIS para um Número de Sistema Autônomo (ex.: AS15169) |
Ferramentas DNS
| Ferramenta | Descrição |
|---|---|
dnsLookup | Registros DNS ao vivo — A, AAAA, MX, NS, CNAME, SOA, TXT, SPF ou todos |
dnsHistory | Registros DNS históricos com linha do tempo completa de alterações |
reverseDnsLookup | Encontre todos os domínios apontando para um IP ou servidor de nomes específico |
Ferramentas de Inteligência de IP
| Ferramenta | Descrição |
|---|---|
ipGeolocation | País, cidade, região, ISP e coordenadas para qualquer endereço IP |
ipSecurity | VPN, proxy, nó de saída Tor, bot e inteligência de ameaças para qualquer IP |
Ferramentas de Domínio
| Ferramenta | Descrição |
|---|---|
domainAvailability | Verifique se um domínio está disponível para registro, com sugestões opcionais |
subdomainLookup | Enumere todos os subdomínios conhecidos de um domínio, com filtros de status e data |
domainDiscovery | Encontre domínios por palavra-chave, incluindo typosquatting e variantes semelhantes |
Ferramentas SSL
| Ferramenta | Descrição |
|---|---|
sslLookup | Detalhes do certificado SSL/TLS — emissor, expiração, SANs, cadeia e saída bruta |
Início Rápido
⭐ Recomendado — Docker
Sem necessidade de Java ou Maven. Baixe a imagem pré-construída diretamente do Docker Hub e execute.
Obtenha sua chave de API gratuita primeiro: whoisfreaks.com/signup
Opção 1 — docker run direto (mais simples)
docker run -d \
--name whoisfreaks-mcp \
--restart unless-stopped \
-p 3100:3100 \
-e WHOISFREAKS_API_KEY=your-api-key-here \
whoisfreaks/mcp-server:latest
O gateway MCP agora está ativo em http://localhost:3100/sse.
Opção 2 — Docker Compose (recomendado para produção / VM)
Crie um docker-compose.yml:
services:
whoisfreaks-mcp:
image: whoisfreaks/mcp-server:latest
container_name: whoisfreaks-mcp
restart: unless-stopped
ports:
- "3100:3100"
environment:
WHOISFREAKS_API_KEY: your-api-key-here
Inicie:
docker compose up -d
Ou use um arquivo .env em vez de codificar a chave (recomendado):
# Create .env file (never commit this to git)
echo "WHOISFREAKS_API_KEY=your-api-key-here" > .env
docker compose up -d
Verifique se o Docker está funcionando
# Container should show as "Up"
docker ps
# SSE endpoint should respond
curl http://localhost:3100/health
# → {"status":"ok"}
# List all 14 registered tools
curl http://localhost:3100/tools/list
Uso com Claude Desktop (modo stdio Docker)
O Claude Desktop requer transporte stdio. Substitua o entrypoint do Docker para ignorar mcp-proxy e executar o JAR diretamente:
{
"mcpServers": {
"whoisfreaks": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "WHOISFREAKS_API_KEY=your-api-key-here",
"--entrypoint", "java",
"whoisfreaks/mcp-server:latest",
"-jar", "app.jar"
]
}
}
}
Nenhum mapeamento de porta necessário aqui — o Claude Desktop se comunica com o contêiner diretamente via stdio.
Compilar a partir do Código-Fonte
Necessário apenas se você quiser modificar o código ou criar uma versão personalizada.
Pré-requisitos:
| Requisito | Versão Mínima | Observações |
|---|---|---|
| Java (JDK) | 17 | Verifique com java -version |
| Maven | 3.8 | Verifique com mvn -version |
| Chave de API WhoisFreaks | — | Obtenha a sua em whoisfreaks.com/signup |
Clone e compile:
git clone https://github.com/whoisfreaks/whoisfreaks-mcp-server.git
cd whoisfreaks-mcp-server
mvn clean package -q
Isso produz um único JAR gordo autocontido:
target/whoisfreaks-mcp-server-1.0.0.jar
Dica: Anote o caminho absoluto para este JAR — você precisará dele nas configurações de plataforma abaixo. Exemplo:
/Users/yourname/whoisfreaks-mcp-server/target/whoisfreaks-mcp-server-1.0.0.jar
Pré-requisitos
| Requisito | Observações |
|---|---|
| Docker | Necessário para o caminho Docker recomendado |
| Java 17 + Maven 3.8 | Necessário apenas se compilar a partir do código-fonte |
| Chave de API WhoisFreaks | Gratuita em whoisfreaks.com/signup |
Integração com Plataformas
1. Claude Desktop
O cliente MCP mais popular. O Claude Desktop inicia o servidor MCP como um subprocesso na inicialização e se comunica via stdio — ele não suporta URLs SSE/HTTP.
Localização do arquivo de configuração:
| SO | Caminho |
|---|---|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
| Linux | ~/.config/Claude/claude_desktop_config.json |
⭐ Opção A — Docker (recomendado, sem necessidade de Java)
{
"mcpServers": {
"whoisfreaks": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "WHOISFREAKS_API_KEY=your-api-key-here",
"--entrypoint", "java",
"whoisfreaks/mcp-server:latest",
"-jar", "app.jar"
]
}
}
}
O Docker deve estar em execução antes de abrir o Claude Desktop. A imagem é baixada automaticamente no primeiro uso.
Opção B — JAR diretamente (requer Java 17)
{
"mcpServers": {
"whoisfreaks": {
"command": "java",
"args": ["-jar", "/absolute/path/to/whoisfreaks-mcp-server-1.0.0.jar"],
"env": {
"WHOISFREAKS_API_KEY": "your-api-key-here"
}
}
}
}
Passos (ambas as opções):
- Cole a configuração acima no arquivo de configuração (crie-o se não existir)
- Salve o arquivo
- Saia completamente do Claude Desktop (
Cmd+Qno macOS / sair pela barra de tarefas no Windows) - Reabra o Claude Desktop
- Clique no ícone de martelo (Ferramentas) na entrada de chat — você deve ver 14 ferramentas WhoisFreaks listadas
Verifique se funciona: Digite Who owns google.com? e o Claude chamará automaticamente liveWhoisLookup.
2. Cursor IDE
O Cursor suporta transportes stdio e SSE. Arquivo de configuração: ~/.cursor/mcp.json
⭐ Opção A — Docker via SSE (recomendado)
{
"mcpServers": {
"whoisfreaks": {
"url": "http://localhost:3100/sse",
"transport": "sse"
}
}
}
Inicie o contêiner Docker primeiro:
docker run -d -p 3100:3100 -e WHOISFREAKS_API_KEY=your-key whoisfreaks/mcp-server:latest
Opção B — Docker via stdio (sem necessidade de porta)
{
"mcpServers": {
"whoisfreaks": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "WHOISFREAKS_API_KEY=your-api-key-here",
"--entrypoint", "java",
"whoisfreaks/mcp-server:latest",
"-jar", "app.jar"
]
}
}
}
Opção C — JAR diretamente (requer Java 17)
{
"mcpServers": {
"whoisfreaks": {
"command": "java",
"args": ["-jar", "/absolute/path/to/whoisfreaks-mcp-server-1.0.0.jar"],
"env": {
"WHOISFREAKS_API_KEY": "your-api-key-here"
}
}
}
}
Passos:
- Salve
~/.cursor/mcp.jsoncom a opção escolhida - Reinicie o Cursor
- Abra o Painel de IA (
Cmd+L) → você deve ver um indicador de ferramentas mostrando as ferramentas WhoisFreaks - Pergunte:
Check the SSL certificate for github.com
3. Windsurf IDE
O Windsurf (da Codeium) suporta MCP via sua barra lateral de IA Cascade.
Localização do arquivo de configuração:
| SO | Caminho |
|---|---|
| macOS | ~/.codeium/windsurf/mcp_config.json |
| Windows | %USERPROFILE%\.codeium\windsurf\mcp_config.json |
| Linux | ~/.codeium/windsurf/mcp_config.json |
⭐ Opção A — Docker via stdio (recomendado)
{
"mcpServers": {
"whoisfreaks": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "WHOISFREAKS_API_KEY=your-api-key-here",
"--entrypoint", "java",
"whoisfreaks/mcp-server:latest",
"-jar", "app.jar"
]
}
}
}
Opção B — JAR diretamente (requer Java 17)
{
"mcpServers": {
"whoisfreaks": {
"command": "java",
"args": ["-jar", "/absolute/path/to/whoisfreaks-mcp-server-1.0.0.jar"],
"env": {
"WHOISFREAKS_API_KEY": "your-api-key-here"
}
}
}
}
Passos:
- Salve a configuração com a opção escolhida
- Reinicie o Windsurf
- Abra a barra lateral Cascade → procure o indicador de ferramentas MCP (ícone de plugue)
- Pergunte:
Find all subdomains of tesla.com
Observação: O Windsurf requer que o Cascade esteja no modo Escrita para uso de ferramentas. Alterne no cabeçalho do Cascade se as ferramentas não estiverem sendo chamadas.
4. VS Code + GitHub Copilot
O VS Code suporta ferramentas MCP através da extensão GitHub Copilot (recurso Chat Participants / Tools).
Arquivo de configuração (.vscode/mcp.json no seu workspace, ou ~/.vscode/mcp.json globalmente):
⭐ Opção A — Docker via SSE (recomendado, contêiner deve estar em execução)
{
"servers": {
"whoisfreaks": {
"type": "sse",
"url": "http://localhost:3100/sse"
}
}
}
Inicie o contêiner primeiro:
docker run -d -p 3100:3100 -e WHOISFREAKS_API_KEY=your-key whoisfreaks/mcp-server:latest
Opção B — Docker via stdio
{
"servers": {
"whoisfreaks": {
"type": "stdio",
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "WHOISFREAKS_API_KEY=your-api-key-here",
"--entrypoint", "java",
"whoisfreaks/mcp-server:latest",
"-jar", "app.jar"
]
}
}
}
Opção C — JAR diretamente (requer Java 17)
{
"servers": {
"whoisfreaks": {
"type": "stdio",
"command": "java",
"args": ["-jar", "/absolute/path/to/whoisfreaks-mcp-server-1.0.0.jar"],
"env": {
"WHOISFREAKS_API_KEY": "your-api-key-here"
}
}
}
}
Passos:
- Certifique-se de ter a extensão GitHub Copilot Chat instalada (v1.99+)
- Salve o arquivo de configuração acima com a opção escolhida
- Abra o Copilot Chat (
Ctrl+Shift+I/Cmd+Shift+I) - Alterne o modelo para o modo Agente usando o menu suspenso
- Clique no botão Ferramentas — as ferramentas WhoisFreaks devem aparecer na lista
- Pergunte:
What are the MX records for github.com?
Requisito: VS Code 1.99+ e extensão GitHub Copilot Chat são necessários para suporte a ferramentas MCP.
5. Continue.dev
O Continue é um assistente de codificação de IA de código aberto com suporte MCP para VS Code e IDEs JetBrains.
Arquivo de configuração (~/.continue/config.json):
⭐ Opção A — Docker via SSE (recomendado, contêiner deve estar em execução)
{
"mcpServers": [
{
"name": "whoisfreaks",
"url": "http://localhost:3100/sse",
"transport": "sse"
}
]
}
Inicie o contêiner primeiro:
docker run -d -p 3100:3100 -e WHOISFREAKS_API_KEY=your-key whoisfreaks/mcp-server:latest
Opção B — Docker via stdio
{
"mcpServers": [
{
"name": "whoisfreaks",
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "WHOISFREAKS_API_KEY=your-api-key-here",
"--entrypoint", "java",
"whoisfreaks/mcp-server:latest",
"-jar", "app.jar"
]
}
]
}
Opção C — JAR diretamente (requer Java 17)
{
"mcpServers": [
{
"name": "whoisfreaks",
"command": "java",
"args": ["-jar", "/absolute/path/to/whoisfreaks-mcp-server-1.0.0.jar"],
"env": {
"WHOISFREAKS_API_KEY": "your-api-key-here"
}
}
]
}
Passos:
- Instale a extensão Continue do VS Code Marketplace ou JetBrains Plugin Marketplace
- Edite
~/.continue/config.jsoncom a opção escolhida - Recarregue a janela (
Cmd+Shift+P→Reload Window) - Abra a barra lateral do Continue — as ferramentas do WhoisFreaks estarão disponíveis no chat
- Pergunte:
Look up IP geolocation for 1.1.1.1
6. Zed Editor
O Zed tem um assistente de IA integrado com suporte MCP via sua configuração assistant.
Arquivo de configuração (~/.config/zed/settings.json):
⭐ Opção A — Docker via stdio (recomendado)
{
"assistant": {
"mcp_servers": {
"whoisfreaks": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "WHOISFREAKS_API_KEY=your-api-key-here",
"--entrypoint", "java",
"whoisfreaks/mcp-server:latest",
"-jar", "app.jar"
]
}
}
}
}
Opção B — JAR diretamente (requer Java 17)
{
"assistant": {
"mcp_servers": {
"whoisfreaks": {
"command": "java",
"args": ["-jar", "/absolute/path/to/whoisfreaks-mcp-server-1.0.0.jar"],
"env": {
"WHOISFREAKS_API_KEY": "your-api-key-here"
}
}
}
}
}
Passos:
- Abra o Zed → menu
Zed→Settings(ouCmd+,) - Adicione o bloco
mcp_serversao seu JSON de configurações existente usando a opção escolhida - Salve e reinicie o Zed
- Abra o painel de IA (
Cmd+?) → as ferramentas serão listadas sob o indicador de ferramentas - Pergunte:
Is the domain myapp.io available?
Exemplos de Prompts
Uma vez configurado em qualquer cliente acima, tente estes prompts:
# WHOIS
Who owns the domain apple.com? Give me full WHOIS details.
Show me the complete ownership history for whoisfreaks.com.
Find all domains registered by admin@google.com.
# IP & ASN WHOIS
What organization owns the IP address 8.8.8.8?
Look up ASN information for AS15169.
# DNS
What are the MX and NS records for github.com?
Has facebook.com changed its IP addresses in the last 2 years? (DNS history)
Which domains are pointing to the IP 104.21.0.0? (reverse DNS)
# IP Intelligence
Where is 1.1.1.1 located? What ISP runs it?
Is 185.220.101.45 a Tor exit node or a VPN?
# Domain Tools
Is mycompany.io available to register? Suggest 5 alternatives.
List all known subdomains of tesla.com.
Find domains similar to 'google' — possible typosquatting targets.
# SSL
Check the SSL certificate for github.com — who issued it and when does it expire?
Variáveis de Ambiente
| Variável | Obrigatória | Descrição |
|---|---|---|
WHOISFREAKS_API_KEY | Sim | Sua chave de API de whoisfreaks.com/billing. Todas as 14 ferramentas chamam api.whoisfreaks.com diretamente usando esta chave — nenhuma outra variável é necessária. |
Solução de Problemas
Erros de API
| Problema | Causa | Correção |
|---|---|---|
WHOISFREAKS_API_KEY is not set | Variável de ambiente ausente | Adicione -e WHOISFREAKS_API_KEY=your-key ao comando Docker, ou adicione-o ao bloco env na configuração do seu cliente |
Unauthorized (HTTP 401/403) | Chave de API inválida ou inativa | Verifique a chave em whoisfreaks.com/billing |
No data found (HTTP 404) | Domínio/IP/ASN não está no banco de dados | Verifique novamente se o valor de entrada está correto |
Rate limit reached (HTTP 429) | Muitas solicitações | Reduza a velocidade ou faça upgrade do seu plano |
Credit limit exceeded (HTTP 413) | Créditos esgotados | Adicione créditos em whoisfreaks.com/billing |
Timeout (HTTP 408) | Servidor WHOIS upstream está lento | Tente novamente — alguns TLDs têm servidores WHOIS lentos |
Erros do Docker
| Problema | Causa | Correção |
|---|---|---|
Cannot connect to Docker daemon | Docker Desktop não está em execução | Abra o Docker Desktop e aguarde o motor iniciar |
| Contêiner sai imediatamente | Chave de API ausente ou entrypoint errado | Verifique os logs: docker logs whoisfreaks-mcp |
port 3100 already in use | Outro processo na porta 3100 | Pare-o: docker rm -f whoisfreaks-mcp e tente novamente |
no such image | Imagem ainda não baixada | Execute docker pull whoisfreaks/mcp-server:latest primeiro |
| Claude Desktop: ferramentas não aparecem com configuração Docker | Docker não está no PATH visto pelo aplicativo | Use o caminho completo do Docker: /usr/local/bin/docker como command |
lstat deploy: no such file or directory (CI/CD) | Problema de caminho relativo no GitHub Actions | Use ${{ github.workspace }}/deploy/Dockerfile para caminhos absolutos |
Gateway connection refused na porta 3100 | Contêiner não está em execução ou porta não mapeada | Execute docker ps — certifique-se de que -p 3100:3100 esteja no comando de execução |
| Conexão SSE cai após alguns segundos | Timeout do proxy Nginx | Adicione proxy_read_timeout 3600s; ao seu bloco de localização Nginx |
Erros do Cliente
| Problema | Causa | Correção |
|---|---|---|
| Ferramentas não visíveis no cliente | Configuração não salva ou cliente não reiniciado | Salvar configuração → sair completamente e reabrir o cliente |
UnsupportedClassVersionError (modo JAR) | Versão do Java muito antiga | Atualizar para Java 17+ (java -version para verificar) |
| Caminho do JAR incorreto | Caminho relativo na configuração | Usar o caminho absoluto completo para o JAR |
| Cursor mostra ferramentas, mas não as chama | Modo agente não habilitado | Alternar o Cursor para o modo Agent, não o modo Chat |
| Claude Desktop ignora a entrada whoisfreaks | URL SSE usada em vez de stdio | Claude Desktop requer command/args — não url. Use a configuração Docker stdio mostrada acima |
| Ferramentas do Windsurf não chamadas | Modo Cascade errado | Alternar o Cascade para o modo Write no cabeçalho do Cascade |
Links
- Documentação da API WhoisFreaks: https://whoisfreaks.com/documentation
- Chave de API e Cobrança: https://whoisfreaks.com/billing
- Especificação do Protocolo MCP: https://modelcontextprotocol.io
- Inspetor MCP (ferramenta de teste):
npx @modelcontextprotocol/inspector - Problemas e Suporte: Abra um problema no GitHub