
SanAlert
io.github.plrojek由 GitHub 账号 plrojek 发布v1.1.0更新于 Nov 3, 2026
在您自己的电脑上计算出的波兰某地的非官方空中威胁等级。
AI 翻译由 AI 模型根据下方的原文描述翻译,可能有误。
原文描述
Unofficial threat level from the air for a place in Poland, worked out on your own computer.
发布方自己的服务:Alertcamp
概览
SanAlert 的本地 MCP 服务;无需登录;STDIO。
暂无 AI 概览:以下信息来自注册中心条目和服务本身。
安装
在 SourceWeft 中
- 打开 控制台中的 SanAlert,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
SanAlert for AI assistants
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.
What it does, and what it sends
- It runs on your computer and talks to the assistant over stdio.
- When the assistant asks about a place, it fetches
https://api.sanalert.pl/v1/state, the same public document the website and the apps read: at most once every 5 s, withIf-None-Matchand the User-AgentSanAlert-MCP/<version>. Once per run it fetches the public grid (/v1/grid/1.json) to find the place's ~11 km square and its voivodeship. - It looks the place's level up in that document with the rules SanAlert's website and apps follow (sanalert.pl/jak-to-dziala). The place stays on your computer: no request carries it, and a town's name is never looked up online.
- The privacy page says the same (sanalert.pl/prywatnosc, "Serwer SanAlert dla asystentów AI"). Terms (Regulamin, Умови).
The tool
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.
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.
Install
It needs uv.
Claude Code:
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):
Conditions of use
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.
Development
uv run pytest runs the tests; none of them goes online.
Three files in src/sanalert_mcp/ are generated, never edited by hand:
core.pyis the Home Assistant integration'score.py, the same rules in the same words;towns.jsonis the apps' town list (ios/SanAlertKit/Sources/SanAlertKit/Resources/towns-v1.json, made from the website'sweb/src/lib/cities.ts);api_texts.jsonis 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.
License
MIT, Applied AI sp. z o.o.
来源:README.md,提交 f71d99a
工具
0版本历史
2- v1.1.0最新Nov 3, 2026
- v1.0.1Oct 21, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分
其他 Alert 集成
Alertcamp
camp.alert官方发布者
远程 MCP 服务器,让助手查找加拿大和美国公园的营地、木屋、许可证和日间使用取消名额。
AlertForge
由 GitHub 账号 lasan713 发布
AlertForge 托管 MCP 服务器,让助手创建直播叠加层、AI 提醒包和透明视频,并消耗用户的 AlertForge 积分。

Japan Price Alert MCP
由 GitHub 账号 atushi1841 发布
监控日本电商网站的商品价格,并在降价时向助手用户发出提醒的本地 stdio 服务器。

Incident Assignment Desk
由 GitHub 账号 Wxt-ai 发布
Incident Assignment Desk 的托管 MCP 服务;无需登录;Streamable HTTP。

Service Assignment Guide
由 GitHub 账号 Wxt-ai 发布
远程 MCP 端点,根据事件严重程度和服务上下文确定负责的响应负责人与队列。