isIPsafe MCP server
2026년 11월 4일 커밋Check IP reputation, report malicious addresses, and download firewall-ready blocklists.
다른 이름 isipsafe/isipsafe-python, isipsafe-python
- 스타
- 0
- Tools
- —
- 다운로드, 30일
- —
- 최신 버전
- 1.0.1
- 마지막 커밋
- 2026년 11월 4일
- 라이선스
- MIT
isIPsafe MCP란?
isIPsafe은(는) MCP server입니다. Check IP reputation, report malicious addresses, and download firewall-ready blocklists.
프로젝트 README에서 생성된 요약
isIPsafe MCP server 정보
isIPsafe provides a Python client and command-line interface for managing IP reputation and reporting abuse. Developers can use it to verify if an IP address is malicious by checking its abuse confidence score, report counts, and network details. The tool works both as a library for Python 3.9+ applications and as a standalone terminal utility for shell scripts.
Users can perform lookups without an API key up to 400 times per day, while a free key increases this limit to 10,000 daily lookups and enables reporting features. The server supports bulk reporting of up to 10,000 addresses at once and allows users to download firewall-ready blocklists in formats like nftables, ipset, nginx, apache, MikroTik, and STIX. It is designed for security engineers and developers who need to automate threat intelligence and network defense.
활용 사례
- 1Verify IP reputationCheck the maliciousness of a specific IP address before allowing it to access a system.
- 2Automated abuse reportingSubmit logs containing malicious IP addresses to the service for reporting.
- 3Generate firewall blocklistsDownload a list of high-confidence malicious IPs formatted for specific firewall software.
- 4Integrate into shell scriptsUse a command line flag to make a script exit with an error if an IP is flagged as malicious.
프로젝트의 README를 바탕으로 작성되었습니다. 모든 활용 사례는 해당 내용의 인용문과 대조하여 확인합니다.
isIPsafe MCP 설치 방법
형식 확인: 2026년 11월 10일Claude Code에 isIPsafe MCP 설치
$ claude mcp add --transport http isipsafe-python https://isipsafe.com/mcpCursor에 isIPsafe MCP 설치
~/.cursor/mcp.json
{
"mcpServers": {
"isipsafe-python": {
"url": "https://isipsafe.com/mcp"
}
}
}VS Code에 isIPsafe MCP 설치
.vscode/mcp.json
{
"servers": {
"isipsafe-python": {
"type": "http",
"url": "https://isipsafe.com/mcp"
}
}
}Codex에 isIPsafe MCP 설치
~/.codex/config.toml
[mcp_servers.isipsafe-python] url = "https://isipsafe.com/mcp"
Gemini CLI에 isIPsafe MCP 설치
~/.gemini/settings.json
{
"mcpServers": {
"isipsafe-python": {
"httpUrl": "https://isipsafe.com/mcp"
}
}
}구성
ISIPSAFE_API_KEY
| 이름 | 설명 | 유형 |
|---|---|---|
| ISIPSAFE_API_KEY | — |
자동 검사
2026년 11월 14일에 실행됨전체 보고서 →아직 인증되지 않았습니다. 서버는 80점 이상의 점수, 심각한 결함 없음, 그리고 검사에 충분한 데이터를 갖추어야 합니다. 검사 방식
- 소스 저장소 연결 및 접근 가능isipsafe/isipsafe-python is public and reachablegithub.com/isipsafe/isipsafe-python ↗통과
- 패키지가 이 저장소를 소스로 지정검사되지 않음
- 빌드 출처(Sigstore 증명)검사되지 않음
- 오픈 소스 라이선스 (OSI)MITspdx.org/licenses/MIT.html ↗통과
- 최근 1년 내 커밋 또는 릴리스Last commit or release 2026-11-04github.com/isipsafe/isipsafe-python ↗통과
- OpenSSF Scorecard검사되지 않음
- 패키지 이름이 인기 패키지와 유사하지 않음검사되지 않음
- 패키지와 의존성에 심각한 보안 권고 없음검사되지 않음
- 모델에 대한 숨겨진 지침 없음0 tool descriptions and the README read; no override phrases, credential paths or hidden characters통과
- 파괴적인 도구에 라벨 표시됨검사되지 않음
- 원격 endpoint가 MCP 핸드셰이크에 응답initialize answered with protocol 2025-06-18 in 517 ms통과
README
GitHub에서 보기isipsafe
Official Python client and command-line tool for isIPsafe, the free IP reputation and abuse reporting service.
- Check whether an IP address is malicious before you trust it
- Report attackers from your logs, one at a time or 10,000 at once
- Download the blocklist in a firewall-ready format (nftables, ipset, nginx, apache, MikroTik, STIX and more)
No dependencies outside the Python standard library. Python 3.9+.
pip install isipsafe
Get an API key
Lookups work without a key (400 per day per address). Reporting, bulk uploads and the blocklist need a free key from isipsafe.com/login. A key also raises the lookup limit to 10,000 per day.
export ISIPSAFE_API_KEY=sl_your_key_here
The client sends the key in an Authorization header, never in the URL, so it stays out of proxy and server logs.
Python
from isipsafe import Client
client = Client() # reads ISIPSAFE_API_KEY, or pass Client("sl_...")
result = client.check("185.220.101.1")
print(result.abuse_confidence_score, result.total_reports, result.categories)
if result.is_malicious(): # score >= 75, has reports, not allowlisted
block(result.ip_address)
client.report(
"203.0.113.50",
["ssh", "brute-force"],
comment="sshd: 212 failed logins in 10 minutes",
)
Report many addresses at once
result = client.bulk_report(
[
{"ip": "203.0.113.50", "categories": ["ssh", "brute-force"], "comment": "sshd"},
{"ip": "198.51.100.4", "categories": "port-scan"},
]
)
print(result.saved_reports, result.invalid_reports)
Blocklist
ips = client.blocklist(confidence_minimum=90, except_countries=["GB"])
nft = client.blocklist_raw(format="nftables")
Everything else
| Method | What it does |
|---|---|
check(ip, max_age_in_days=None, verbose=False) |
Score, report counts, location and network for one address |
is_malicious(ip, threshold=75) |
Shortcut that returns True or False |
report(ip, categories, comment=None, timestamp=None) |
Report an address or CIDR network |
bulk_report(rows) / bulk_report_csv(text) |
Up to 10,000 reports in one request |
reports(ip, page=1, per_page=25) |
Reports filed against an address, newest first |
check_block(network) |
Reported addresses inside a network (up to /16 or /48) |
blocklist(...) / blocklist_raw(format=...) |
The highest-confidence addresses |
clear_address(ip) |
Delete your own reports for an address |
categories() |
All report categories and their slugs |
Errors
Every error inherits from isipsafe.IsIPsafeError.
| Exception | When |
|---|---|
AuthenticationError |
Missing or wrong API key (401) |
ValidationError |
Invalid input, or an allowlisted address was reported (422) |
RateLimitError |
Too many requests (429); see .retry_after |
APIError |
Any other error status; see .status |
NetworkError |
The API could not be reached |
Lookups are retried automatically on network errors and 5xx responses. Reporting the same address twice within 15 minutes is not an error: report() returns a result with duplicate=True.
Command line
$ isipsafe check 185.220.101.1
185.220.101.1 not flagged
score 56/100 (Medium)
reports 24 from 5 reporters
categories port-scan, hacking, vuln-scan, web-app-attack, c2
network DE AS60729 Stiftung Erneuerbare Freiheit
flags Tor exit
details https://isipsafe.com/ip/185.220.101.1
$ isipsafe report 203.0.113.50 -c ssh,brute-force -m "sshd: 212 failed logins"
$ isipsafe bulk-report reports.csv
$ isipsafe blocklist --format nftables --confidence-minimum 90 -o blocklist.nft
$ isipsafe check-block 185.220.101.0/24
$ isipsafe categories
Add --json to check, report, reports, check-block and categories for machine-readable output.
Use --fail-if-malicious in shell scripts. The command exits with status 1 when the address is malicious:
if ! isipsafe check "$IP" --fail-if-malicious --threshold 80 > /dev/null; then
echo "blocking $IP"
fi
Exit codes: 0 success, 1 malicious (only with --fail-if-malicious), 2 error.
Categories
Use the slug or the numeric ID. Common ones: ssh, brute-force, port-scan, web-app-attack, sql-injection, vuln-scan, bad-bot, ddos, email-spam, phishing. Run isipsafe categories for the full list, or see isipsafe.com/categories.
Links
- Official Usage Page: isipsafe.com/integrations/python
- Website: isipsafe.com
- API reference: isipsafe.com/api
- Integrations: isipsafe.com/integrations
Licence
The code in this repository is MIT licensed. Data returned by the isIPsafe API is covered by the isIPsafe EULA.
isIPsafe MCP 질문
isIPsafe MCP를 Claude Code에 추가하려면 어떻게 하나요?
터미널에서 claude mcp add --transport http isipsafe-python https://isipsafe.com/mcp를 실행합니다. 모든 프로젝트에서 사용할 수 있게 하려면 --scope user를 추가합니다.
isIPsafe MCP를 Cursor에 추가하려면 어떻게 하나요?
~/.cursor/mcp.json를 열고 mcpServers 아래에 서버를 추가합니다. 위 설치 섹션에 표시된 Cursor 구성을 사용합니다.
Do I need an API key to check IP addresses?
Lookups work without a key, but you are limited to 400 per day per address.
Can I report multiple IP addresses at once?
Yes, you can use the bulk report feature to upload up to 10,000 reports in a single request.
What formats are supported for the blocklist download?
The service provides blocklists in formats such as nftables, ipset, nginx, apache, MikroTik, and STIX.