seismic-mcp について
seismic-mcpは、20の地震機関の報告を照会するMCPサーバーです。機関間で同じ地震の報告を照合し、マグニチュード、位置、深さの差を示します。研究や状況把握向けで、緊急地震速報システムではありません。
主な機能
- 0120の地震機関への並列照会
- 02機関間のイベント照合
- 03主要報告の選定
- 04マグニチュード・位置・深さの差の検出
- 0560秒のTTLキャッシュ
- 06地図と比較画面を備えたHTTPインターフェース
活用シーン
- 01同一地震の複数機関の報告確認
- 02機関ごとの観測値の差の調査
- 03機関別の最近のイベント閲覧
- 04地図上での地震報告の目視確認
MCP 対応
イベントの検索・取得、情報源の比較、差異の検出、機関情報の一覧に使える7つのMCPツールを提供します。同じ機能はHTTPフロントエンドからも利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
7掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| limit | integer | いいえ | |
| agencies | any | いいえ | |
| end_time | any | いいえ | |
| radius_km | any | いいえ | |
| center_lat | any | いいえ | |
| center_lon | any | いいえ | |
| start_time | any | いいえ | |
| max_latitude | any | いいえ | |
| min_latitude | any | いいえ | |
| max_longitude | any | いいえ | |
| max_magnitude | any | いいえ | |
| min_longitude | any | いいえ | |
| min_magnitude | any | いいえ |
詳細
seismic-mcp
世界の地震データを扱う統合型の Model Context Protocol サーバーです。20 の地震機関に並列でクエリを送信し、同じ地震に関する機関間の報告を照合します。マグニチュードや震源地の差異も提示するため、AI エージェントは単一のフィードだけでは見えない情報を把握できます。
ステータス
対応済み:
- 20 の機関に接続済みです。 FDSN-event:USGS、EMSC、IRIS、INGV、GeoNet、GFZ、NOA、IPGP、NCEDC、SCEDC、ISC、SED、BMKG、NIEP、RESIF、KNMI、NRCAN。カスタム(非 FDSN):JMA(日本)、AFAD(トルコ)、IMO(アイスランド)。
- 機関間の照合に対応しています。 時空間クラスタリング、主要報告の選定(現地の当局 > 欧州では EMSC > USGS)、差異の検出(マグニチュード/震源地/深さのばらつき)。レビュー済みの地震情報は速報より優先されます。
- 7 つの MCP ツール:
find_events、get_event、compare_sources、find_discrepancies、list_recent_by_agency、get_agency_info、list_agencies。 - TTL キャッシュ(60 秒)と処理中リクエストの重複排除に対応しています。同じクエリの応答時間は 100 ms 未満です。
- 57 件の単体テストで、パーサー、マッチング、主要報告の選定、当局、照合、キャッシュを検証しています。
- HTTP フロントエンドで手動確認ができます。フォーム、Leaflet マップ、並列比較ドロワーを備えています。
未実装:EMSC の eventid マッピング(USGS/EMSC の ID を相互参照して照合精度を向上)、known_aliases.json のデータ整備、イベントごとの複数地域の当局対応(トルコの AFAD と KOERI など)。
安全性
調査、報道、状況把握、好奇心を目的として、複数の地震機関の地震データを提供します。これは早期警報システムではありません。地震の報告はすべて、揺れを感じた場所では、揺れが発生した後に届きます。地震への備えや緊急対応については、現地の公式当局(USGS ShakeAlert、JMA Earthquake Early Warning など)に確認してください。各機関はマグニチュードや震源地の速報値を日常的に改訂します。単一の測定値に基づいて安全に関する判断を行わないでください。
実行
MCP サーバーとして実行(Claude Desktop、VS Code など)
PyPI で公開後は、リポジトリをチェックアウトする必要はありません。uvx が取得して実行します。
uvx seismic-mcp
claude_desktop_config.json に追加します。Windows のパスは %APPDATA%\Claude\claude_desktop_config.json、macOS のパスは ~/Library/Application Support/Claude/claude_desktop_config.json です。
{
"mcpServers": {
"seismic": {
"command": "uvx",
"args": ["seismic-mcp"]
}
}
}
代わりにローカルのチェックアウトから実行する場合(開発用):
uv sync
uv run python server.py
Claude Desktop を再起動してください。ツールメニューの seismic-mcp サーバーの下にツールが表示されます。
Web フロントエンドとして実行(手動確認)
uv run python web.py
次に http://127.0.0.1:8765/ を開きます。MCP サーバーと同じコードパスを使用し、小規模な UI を備えた HTTP 経由で公開します。
テスト
uv run pytest
アーキテクチャ
server.py FastMCP entry point — 7 @mcp.tool functions
web.py FastAPI HTTP wrapper around the same tools
src/
schemas.py Pydantic models: SourceReport, ReconciledEvent, ...
adapters/
base.py SeismicAdapter protocol
fdsn.py Header-aware FDSN-event adapter (handles 17 networks)
afad.py Custom AFAD JSON adapter
jma.py Custom JMA list.json adapter
imo.py Custom IMO GeoJSON adapter
__init__.py Registry: make_adapter(code), supported_agencies()
authorities.py Regional-authority bbox lookup
matching.py Spatiotemporal clustering with mag-scaled thresholds
prime_selection.py Headline-report selection rules
reconcile.py Cluster → ReconciledEvent with spreads
cache.py TTL cache + in-flight de-dup
tools/ One file per MCP tool
data/
agency_metadata.json Per-agency coverage, latency, notes
region_authorities.json Region bboxes → authoritative agency
known_aliases.json (manual fallback for matching, currently {})
tests/ pytest suite — 57 tests, fast (<1s)
static/index.html Single-page UI for the HTTP frontend
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。