mcpField
S
SanAlert

SanAlert

ローカル
sanalert.pl地図・旅行01 週間前に更新

SanAlert について

SanAlertは、ポーランドの町や座標について、SanAlertが推定する空からの脅威レベルを返すAIアシスタント向けローカルMCPサーバーです。場所の照会は端末内で処理し、データ不足や古さを平穏な状態と区別します。公式警報システムではありません。

主な機能

  1. 01町名または座標でレベルを照会
  2. 02レベル、原因、データの信頼性を提示
  3. 03対象県で有効なRCB・RSO通知を表示
  4. 04場所の照会を端末内で処理

活用シーン

  1. 01ポーランドの町の推定レベルを確認
  2. 02データの経過時間とレベル取得不能の理由を確認

MCP 対応

ローカルサーバーはstdio経由で対応するAIアシスタントと通信し、`sanalert_level`ツールを提供します。全ポーランドの概要を返す別のリモートMCPサーバーは、場所を受け取りません。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"plrojek-sanalert": {
"command": "uvx",
"args": [
"sanalert-mcp"
]
}
}
}
起動コマンドuvx sanalert-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypisanalert-mcp1.0.1

ツール

1

掲載時のツール一覧 · 1 週間前に更新

パラメーター型必須説明
placeanyいいえSanAlert の町のいずれか。例:Przemyśl、Lublin、Rzeszów、または Chełm(ポーランド語の文字は省略可能)。座標を指定する場合は省略してください。
languageenumいいえlevel_name と say の言語。pl | en | uk
latitudeanyいいえ地点の緯度(度)。
longitudeanyいいえ地点の経度(度)。

詳細

AI アシスタント向け SanAlert

ローカル MCP サーバーを実行できる AI アシスタント(Claude Code、Claude Desktop など)向けに、ポーランドの場所の非公式な空からの脅威レベルを提供します。「Przemyśl のレベルは?」と尋ねると、その場所についてウェブサイトに表示される答えをアシスタントが取得します。公式の警報システムではありません。サイレン、Alert RCB、または関係機関からの指示に代わるものではありません。

機能と送信される情報

  • コンピューター上で動作し、stdio 経由でアシスタントと通信します。
  • アシスタントが場所について尋ねると、https://api.sanalert.pl/v1/state を取得します。これはウェブサイトとアプリが読み込むのと同じ公開ドキュメントです。取得は最大 5 秒に 1 回で、If-None-Match と User-Agent SanAlert-MCP/<version> を使用します。実行中に一度だけ、公開グリッド(/v1/grid/1.json)を取得し、その場所の約 11 km 四方の区画と県を特定します。
  • SanAlert のウェブサイトとアプリが採用しているルール(sanalert.pl/jak-to-dziala)に従い、そのドキュメントから場所のレベルを調べます。場所はコンピューターから送信されません。場所を含むリクエストは送られず、町の名前をオンラインで検索することもありません。
  • プライバシーページにも同じ説明があります(sanalert.pl/prywatnosc、「Serwer SanAlert dla asystentów AI」)。 利用規約(Regulamin、Умови)。

ツール

sanalert_level は、place(ウェブサイト掲載の町のいずれか。Przemyśl、Lublin、Rzeszów、Chełm など。ポーランド語の文字は省略可能で、Warsaw と Cracow も利用できます)、または latitude と longitude、および language を受け取ります。 pl、en、または uk を指定します。

フィールド内容
levelquiet、activity、approaching、near、no_data、または out_of_range
level_name、say選択した言語でのレベル名と、その下に表示されるウェブサイトの説明文
reason_code、kind、km、eta_min、course_known、lost_at、oblast、raion、threatウェブサイトに表示される、レベルを引き上げた要因
risk、confidence、degradedstate の値。degraded はデータが遅延している可能性があることを示します
data、no_data_reasons、data_age_s、generated_at現時点でレベルを信頼できるかどうか、また信頼できない場合はその理由
place町または地点、その区画(cell)、および県
official県で有効な RCB と RSO のメッセージ。判定できない場合は null
notice、attribution、pass_throughデータを表示する際に、常にデータとともに保持する必要がある情報

見えないからといって、警戒不要とは限りません。 ドキュメントがない、読み取れない、または 60 秒を超えて古い場合、あるいはグリッドを読み取れない場合、レベルは quiet ではなく no_data になり、say にその旨が示されます。データの経過時間は、サーバーがドキュメントを保持している時間より短くなることはありません。そのため、コンピューターの時計が遅れていても、API が停止している間に古い「quiet」状態が新しいものとして扱われることはありません。ポーランドのグリッド外の地点は out_of_range になります。リストにない名前を指定すると、該当するリスト名を示すエラーになります。代わりに座標を指定してください。

ポーランド全土について(要約された state、過去 24 時間の公式メッセージ、夜間の報告、信頼性の記録)、SanAlert はリモート MCP サーバー https://api.sanalert.pl/mcp を運用しています。場所の情報は受け取りません。

インストール

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

または、Claude Code プラグインとして両方を一度に設定できます:/plugin marketplace add plrojek/agent-skills、次に /plugin install sanalert@plrojek。PyPI ではなく GitHub から直接インストールする場合: uvx --from git+https://github.com/plrojek/sanalert-mcp sanalert-mcp。

Claude Desktop(claude_desktop_config.json):

{
  "mcpServers": {
    "sanalert": {
      "command": "uvx",
      "args": ["sanalert-mcp"]
    }
  }
}

利用条件

データを表示または再配布する場合は、データとともに notice を表示し、すべての attribution 項目へのリンクを見える形で表示してください。また、読者に公式の空襲警報(サイレン、Alert RCB、当局の指示)を必ず確認するよう案内し、レベルの横にNEPTUN(https://neptun.in.ua など。「Дані: Карта повітряних тривог — NEPTUN」)への見えるリンクを表示してください。データがないことを「静穏」と扱わず、レベルはSanAlertによる推定であり、公式の警報ではないことを明記してください。詳細は次のとおりです: 利用規約とAPIの説明。

開発

uv run pytest でテストを実行できます。テストはどれもオンラインに接続しません。

src/sanalert_mcp/ 内の次の3つのファイルは生成されるもので、手動で編集しないでください。

  • core.py はHome Assistant統合の core.py であり、同じルールが同じ文言で記されています。
  • towns.json はアプリの町リストです(ios/SanAlertKit/Sources/SanAlertKit/Resources/towns-v1.json。ウェブサイトの web/src/lib/cities.ts から生成されます)。
  • api_texts.json はAPIの通知、帰属表示、パススルーです(api/sanalert/state.py、api/sanalert/mcp_server.py)。

python scripts/sync.py は最初の2つのファイルをコピーします。python scripts/sync.py --check は差異があると失敗します(CIで実行されます)。api_texts.json がAPIと一致しなくなると、APIのテストは失敗します。

ソースはSanAlertの独自リポジトリ内の integrations/mcp/ にあります。公開リポジトリ (github.com/plrojek/sanalert-mcp)はそのコピーで、リリースごとに更新されます。そのため、core.py の修正は次回のリリースでユーザーに届きます。

ライセンス

MIT、Applied AI sp. z o.o.

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。