isIPsafe MCPサーバー
コミット 2026年11月4日Check IP reputation, report malicious addresses, and download firewall-ready blocklists.
別名 isipsafe/isipsafe-python, isipsafe-python
- スター
- 0
- ツール
- —
- ダウンロード数(30日間)
- —
- 最新バージョン
- 1.0.1
- 最終コミット
- 2026年11月4日
- ライセンス
- MIT
isIPsafe MCPとは
isIPsafeはMCPサーバーです。 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を開き、上記のインストールセクションに示すCursor設定を使ってmcpServersの下にサーバーを追加します。
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.