Seismic Mcp

io.github.hoon1983由 GitHub 帳號 hoon1983 發布v0.1.0更新於 Oct 24, 2026

Unified earthquake data from 20 global seismic agencies, with cross-agency report reconciliation.

概覽

AI 產生的概覽

彙整 20 個全球地震機構的地震報告並進行跨機構核對,讓助理查詢地震事件並比較震級與位置差異。

可以做什麼
  • 依條件尋找並取得來自 20 個地震機構的地震事件
  • 比較不同機構對同一事件的報告,列出震級、位置與深度的差異
  • 依機構列出近期事件,並查詢機構的涵蓋範圍與中繼資料
  • 透過時空分群核對跨機構報告,並依權威規則選出頭條報告
適用情境
適合地震相關的研究、新聞報導、情勢掌握或好奇查詢,尤其當你想看到各機構之間的分歧,而不是只依賴單一資料來源時。
執行需求
以 Python 套件形式透過 stdio 在本機執行,通常用 uvx 啟動(也可從本機程式碼取出用 uv 執行)。需要網路存取各機構的公開資料來源。未宣告需要帳號、API 金鑰或環境變數。
安裝前請注意
它不是預警系統;所有報告都在搖晃發生之後才送達,初步震級與位置也常被機構修訂。不要依據單一讀值做安全決策;防災與應變請諮詢當地官方機構。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Seismic Mcp,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

seismic-mcp

A unified Model Context Protocol server for global earthquake data. Queries 20 seismic agencies in parallel; matches cross-agency reports of the same earthquake; surfaces magnitude and location discrepancies so AI agents can see what one feed alone would hide.

Status

Working:

  • 20 agencies wired up. FDSN-event: USGS, EMSC, IRIS, INGV, GeoNet, GFZ, NOA, IPGP, NCEDC, SCEDC, ISC, SED, BMKG, NIEP, RESIF, KNMI, NRCAN. Custom (non-FDSN): JMA (Japan), AFAD (Türkiye), IMO (Iceland).
  • Cross-agency reconciliation. Spatiotemporal clustering, prime-report selection (local authority > EMSC for Europe > USGS), discrepancy detection (magnitude/location/depth spread). Reviewed bulletins trump preliminary.
  • Seven MCP tools: find_events, get_event, compare_sources, find_discrepancies, list_recent_by_agency, get_agency_info, list_agencies.
  • TTL cache (60 s) with in-flight de-dup: repeated queries are sub-100 ms.
  • 57 unit tests covering parsers, matching, prime-selection, authorities, reconciliation, and cache.
  • HTTP frontend for manual inspection: form + Leaflet map + side-by-side compare drawer.

Not yet built: EMSC eventid mapping (cross-references USGS/EMSC IDs for tighter matching), populated known_aliases.json, multi-region per-event authority (KOERI alongside AFAD for Türkiye).

Safety

Reports earthquake data from multiple seismic agencies for research, journalism, situational awareness, and curiosity. It is NOT an early-warning system. All earthquake reports arrive AFTER shaking has already occurred where it was felt. For earthquake preparedness and emergency response, consult official local authorities (USGS ShakeAlert, JMA Earthquake Early Warning, etc.). Preliminary magnitudes and locations are routinely revised by reporting agencies; never make safety decisions based on a single reading.

Run

As an MCP server (Claude Desktop, VS Code, etc.)

Once published to PyPI, no checkout is needed — uvx fetches and runs it:

bash
uvx seismic-mcp

Add to claude_desktop_config.json — Windows path is %APPDATA%\Claude\claude_desktop_config.json, macOS ~/Library/Application Support/Claude/claude_desktop_config.json:

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

To run from a local checkout instead (development):

bash
uv syncuv run python server.py

Restart Claude Desktop. The tools appear under the seismic-mcp server in the tools menu.

As a web frontend (manual inspection)

bash
uv run python web.py

Then open http://127.0.0.1:8765/. Same code paths as the MCP server, just exposed over HTTP with a small UI.

Tests

bash
uv run pytest

Architecture

server.py              FastMCP entry point — 7 @mcp.tool functionsweb.py                 FastAPI HTTP wrapper around the same toolssrc/  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 tooldata/  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

來源:README.md,提交 ed7a00f

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.1.0最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分