WatchGuard MCP
WatchGuard Cloud Firebox, Endpoint Security, ThreatSync, NDR and AuthPoint APIs for every customer
Description from the maker (original English)
Unofficial threat level from the air for a place in Poland, worked out on your own computer.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"sanalert": {
"command": "uvx",
"args": [
"sanalert-mcp"
]
}
}
}Run this in your terminal
claude mcp add sanalert -- uvx sanalert-mcpPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"sanalert": {
"command": "uvx",
"args": [
"sanalert-mcp"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"sanalert": {
"type": "stdio",
"command": "uvx",
"args": [
"sanalert-mcp"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026
The registry name was verified with the GitHub account plrojek, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (1.1.0) reached the registry 5 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.
In the same category: WatchGuard MCP, ipdata MCP by usefulapi, MaxMind minFraud MCP by usefulapi
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
WatchGuard Cloud Firebox, Endpoint Security, ThreatSync, NDR and AuthPoint APIs for every customer
Look up location, network, company and threat data for IP addresses and ASNs in ipdata.
MCP server for MaxMind minFraud — score transactions for fraud risk from your AI assistant.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
The unofficial threat level from the air for a place in Poland, for an AI assistant that can run a local MCP server (Claude Code, Claude Desktop and others). Ask it "what is the level in Przemyśl?" and the assistant gets the answer the website would show for that place. Not an official warning system: it does not replace sirens, Alert RCB or instructions from the authorities.
https://api.sanalert.pl/v1/state, the same public document the website and the apps read: at most once every 5 s, with If-None-Match and the User-Agent SanAlert-MCP/ . Once per run it fetches the public grid (/v1/grid/1.json) to find the place's ~11 km square and its voivodeship.sanalert_level takes place, one of the website's towns (Przemyśl, Lublin, Rzeszów, Chełm and the rest of its list; Polish letters optional, and Warsaw and Cracow work too), or latitude and longitude, and language: pl, en or uk.
| Field | What it is |
|---|---|
level | quiet, activity, approaching, near, no_data or out_of_range |
level_name, say | the level's name and the website's sentence under it, in the chosen language |
reason_code, kind, km, eta_min, course_known, lost_at, oblast, raion, threat | what raised the level, as the website shows it |
risk, confidence, degraded | as in the state; degraded means the data may be delayed |
data, no_data_reasons, no_data_codes, data_age_s, generated_at, expires_at | whether the level can be trusted now, and why not: no_data_codes (1.1.0) are not_ready, stale, levels_not_valid, health_unknown (as the remote server's), grid_unreadable, state_unreadable, no_time, unknown_level; after expires_at (generated_at + 60 s) the answer is no data |
place | the town or the point, its square (cell) and voivodeship |
official | RCB and RSO messages in force for the voivodeship; null while that cannot be told. Since 1.1.0 each also has the remote server's class, text, regions_in_force and powiats |
notice, attribution, pass_through | what has to stay with the data wherever it is shown |
The towns place accepts are also a resource, sanalert://towns (1.1.0), with their coordinates.
Blind is not calm. When the document is missing, cannot be read or is older than 60 s, or the grid cannot be read, the level is no_data, never quiet, and say says so. The age is never less than the time the server has held the document, so a computer clock that runs behind cannot keep an old "quiet" fresh while the API is down. A point outside Poland's grid is out_of_range. A name that is not on the list is an error that names the list: give coordinates instead.
For the whole of Poland (the state summarised, official messages of the last 24 hours, night reports, the reliability record) SanAlert runs a remote MCP server, https://api.sanalert.pl/mcp. It takes no place.
It needs uv.
Claude Code:
claude mcp add sanalert -- uvx sanalert-mcp
claude mcp add --transport http sanalert-poland https://api.sanalert.pl/mcp # optional: the whole of Poland
Or both at once, as a Claude Code plugin: /plugin marketplace add plrojek/agent-skills, then /plugin install sanalert@plrojek. Straight from GitHub instead of PyPI: uvx --from git+https://github.com/plrojek/sanalert-mcp sanalert-mcp.
Claude Desktop (claude_desktop_config.json):
{
"mcpServers": { "sanalert": { "command": "uvx", "args": ["sanalert-mcp"] } } }
Whoever shows or repeats the data keeps notice visible with it and a visible link to every attribution entry, always refers readers to the official air-raid alarms (sirens, Alert RCB, the instructions of the authorities), keeps a visible link to NEPTUN (https://neptun.in.ua, for example "Дані: Карта повітряних тривог — NEPTUN") next to the level, never turns no data into quiet, and says that the level is SanAlert's inference, not an official warning. In full: terms and the API description.
uv run pytest runs the tests; none of them goes online.
Three files in src/sanalert_mcp/ are generated, never edited by hand:
core.py is the Home Assistant integration's core.py, the same rules in the same words;towns.json is the apps' town list (ios/SanAlertKit/Sources/SanAlertKit/Resources/towns-v1.json, made from the website's web/src/lib/cities.ts);api_texts.json is the API's notice, attribution and pass-through (api/sanalert/state.py, api/sanalert/mcp_server.py).python scripts/sync.py copies the first two and python scripts/sync.py --check fails on any difference (CI runs it). The API's tests fail when api_texts.json no longer matches the API.
The source is integrations/mcp/ in SanAlert's own repository; the public repository (github.com/plrojek/sanalert-mcp) is a copy of it, refreshed with each release, so a fix in core.py reaches users with the next release.
MIT, Applied AI sp. z o.o.