AbuseIpDB MCP Server
Uma implementação de servidor do Model Context Protocol (MCP) que oferece integração perfeita com a API do AbuseIPDB para verificação de reputação de IP e gerenciamento de relatórios de abuso.
Documentação
AbuseIPDB MCP Server
Uma implementação de servidor Model Context Protocol (MCP) que fornece integração perfeita com a API AbuseIPDB para verificação de reputação de IP e gerenciamento de relatórios de abuso.
Visão Geral
Este servidor MCP permite que assistentes de IA e sistemas automatizados consultem o banco de dados de inteligência de ameaças do AbuseIPDB, permitindo verificar endereços IP quanto a atividades maliciosas, obter pontuações de confiança de abuso e acessar dados detalhados de relatórios históricos por meio de uma interface de protocolo padronizada.
Recursos
- Verificações de Reputação de IP - Consulte qualquer endereço IPv4 ou IPv6 para relatórios de abuso
- Pontuação de Confiança - Obtenha pontuações de confiança de abuso (0-100) com base na frequência e gravidade dos relatórios
- Relatórios Detalhados - Acesse metadados abrangentes de relatórios de abuso e categorias
- Dados Históricos - Consulte relatórios de abuso em janelas de tempo configuráveis (até 365 dias)
- Saída Flexível - Alterne entre resumos concisos e respostas detalhadas verbosas
- Baseado em Padrões - Construído no Model Context Protocol para integração perfeita
Pré-requisitos
- Python: 3.13 ou superior
- Chave de API AbuseIPDB: Registre-se para obter uma chave de API gratuita
Instalação
1. Clone o Repositório
git clone https://github.com/Salmanwz/mcp-abuseipdb.git
cd mcp-abuseipdb
2. Instale o Gerenciador de Pacotes UV
curl -LsSf https://astral.sh/uv/install.sh | sh
3. Instale as Dependências
uv add mcp[cli] httpx
Configuração
Opção 1: Variável de Ambiente (Uso Autônomo)
export ABUSEIPDB_API_KEY="your_api_key_here"
Opção 2: Integração com Claude Desktop
Adicione a seguinte configuração ao seu arquivo de configuração do Claude Desktop (claude_desktop_config.json):
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"abuseipdb": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/mcp-abuseipdb",
"run",
"abusedb.py"
],
"env": {
"ABUSEIPDB_API_KEY": "your_api_key_here"
}
}
}
}
Importante: Substitua /absolute/path/to/mcp-abuseipdb pelo caminho real e your_api_key_here pela sua chave de API.
Uso
Iniciando o Servidor (Autônomo)
uv run abusedb.py
Ferramentas Disponíveis
check - Consulta de Reputação de Endereço IP
Consulta o AbuseIPDB para relatórios de abuso associados a um determinado endereço IP.
Parâmetros:
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
|---|---|---|---|---|
ipAddress | string | ✅ Sim | - | Endereço IPv4 ou IPv6 para verificar |
maxAgeInDays | integer | ❌ Não | 30 | Idade máxima dos relatórios (1-365 dias) |
verbose | boolean | ❌ Não | false | Incluir detalhamentos detalhados de relatórios |
Exemplos de Solicitações:
# Basic check - last 30 days
{
"ipAddress": "1.2.3.4"
}
# Check with custom time window
{
"ipAddress": "1.2.3.4",
"maxAgeInDays": 90
}
# Verbose output with full details
{
"ipAddress": "1.2.3.4",
"maxAgeInDays": 90,
"verbose": true
}
Estrutura da Resposta:
{
"data": {
"ipAddress": "1.2.3.4",
"abuseConfidenceScore": 75,
"totalReports": 42,
"lastReportedAt": "2025-10-13T14:23:01+00:00",
"isWhitelisted": false,
"countryCode": "US",
"usageType": "Data Center/Web Hosting/Transit",
"isp": "Example Hosting Inc",
"domain": "example-host.com",
"reports": [...] // Only included when verbose=true
}
}
Casos de Uso
- Operações de Segurança: Integre verificações de reputação de IP em fluxos de trabalho de SOC
- Resposta a Incidentes: Avalie rapidamente os níveis de ameaça durante investigações
- Inteligência de Ameaças: Enriqueça alertas de segurança com dados de abuso
- Monitoramento de Rede: Automatize a detecção e o bloqueio de IPs suspeitos
- Análise de Logs: Cruze referências de logs de conexão com IPs maliciosos conhecidos
Limites de Taxa da API
Chaves de API do nível gratuito são limitadas a 1.000 verificações por dia. Atualize para um plano premium para limites maiores.
Solução de Problemas
Problemas com Chave de API
# Verify your API key is set
echo $ABUSEIPDB_API_KEY
# Test connectivity
curl -G https://api.abuseipdb.com/api/v2/check \
--data-urlencode "ipAddress=8.8.8.8" \
-H "Key: $ABUSEIPDB_API_KEY"
Conexão com Claude Desktop
- Verifique o caminho do arquivo de configuração e a sintaxe JSON
- Reinicie o Claude Desktop após alterações de configuração
- Verifique os logs do servidor MCP para erros de conexão
Desenvolvimento
Estrutura do Projeto
mcp-abuseipdb/
├── abusedb.py # Main MCP server implementation
├── pyproject.toml # UV/Python dependencies
├── README.md # This file
└── LICENSE # License information
Executando Testes
# Add test dependencies
uv add pytest pytest-asyncio httpx
# Run tests
uv run pytest
Contribuindo
Contribuições são bem-vindas! Sinta-se à vontade para enviar um Pull Request. Para mudanças significativas, abra uma issue primeiro para discutir o que você gostaria de alterar.
- Faça um fork do repositório
- Crie sua branch de funcionalidade (
git checkout -b feature/AmazingFeature) - Faça commit das suas alterações (
git commit -m 'Add some AmazingFeature') - Envie para a branch (
git push origin feature/AmazingFeature) - Abra um Pull Request
Segurança
Este servidor lida com dados sensíveis de inteligência de ameaças. Boas práticas:
- Nunca faça commit de chaves de API no controle de versão
- Armazene chaves de API em variáveis de ambiente ou cofres seguros
- Use HTTPS para todas as comunicações de API (aplicado por padrão)
- Implemente limitação de taxa em implantações de produção
- Monitore o uso da API para anomalias
Recursos
- Documentação Oficial do AbuseIPDB
- Especificação do Model Context Protocol
- Documentação do Gerenciador de Pacotes UV
Licença
Este projeto é licenciado sob a Licença MIT - consulte o arquivo LICENSE para obter detalhes.
Agradecimentos
- Construído no Model Context Protocol
- Desenvolvido com AbuseIPDB
- Usa UV para gerenciamento de dependências
Nota: Esta é uma implementação não oficial e não é afiliada ou endossada pela AbuseIPDB.