Skip to main content

earthquake-mcp-server

io.github.cyanheads/earthquake-mcp-serverVersion 0.5.2

Search USGS and EMSC seismic data — real-time feeds, event queries, and earthquake counts.

Status

Responds537 msAnswered our handshake without sign-in.

Registry data may be out of date

We could not refresh it, so this page shows the last copy.
Last checked
Nov 14, 2026, 14:48 UTC
Latency
537 ms
Remotes responding
1 of 1
Sign-in
No sign-in
Hosting
Hosted outside the EU (detected)
Registry data as of
Nov 14, 2026, 22:14 UTC

Data from the official MCP Registry, checked by run.zero. How we check

Connect

Streamable HTTP
https://earthquake.caseyjhand.com/mcpResponds537 ms
No sign-in

Claude Code

claude mcp add --transport http earthquake-mcp-server https://earthquake.caseyjhand.com/mcp

Claude Desktop and claude.ai

Settings > Connectors > Add custom connector
Name: earthquake-mcp-server
Remote MCP server URL: https://earthquake.caseyjhand.com/mcp

Cursor

{
  "mcpServers": {
    "earthquake-mcp-server": {
      "url": "https://earthquake.caseyjhand.com/mcp"
    }
  }
}

VS Code

code --add-mcp '{"name":"earthquake-mcp-server","type":"http","url":"https://earthquake.caseyjhand.com/mcp"}'
Streamable HTTP
npm: @cyanheads/earthquake-mcp-server 0.5.2
Package only

npm (npx)

claude mcp add earthquake-mcp-server -- npx -y @cyanheads/earthquake-mcp-server@0.5.2
Streamable HTTP
npm: @cyanheads/earthquake-mcp-server 0.5.2
Package only

npm (npx)

claude mcp add earthquake-mcp-server -- npx -y @cyanheads/earthquake-mcp-server@0.5.2

Built your own server? run.zero hosts MCP servers on European infrastructure.

Host your own MCP server on run.zero

Tools

4 tools

Tools of earthquake-mcp-server
Read-only
Idempotent
Open world
earthquake_count_eventsCount matches without event records, or size an earthquake_search_events query. Omitting start_time uses 30 days; pass explicit bounds for historical periods. queryEcho reports applied filters/window; ignoredFilters names unsupported EMSC inputs. Circle and independently optional box edges intersect. Both catalogs include non-tectonic events; event_type="earthquake" excludes them on USGS. exceeds_limit marks the 20,000-event single-request threshold, not a retrieval ceiling: search supports offset paging beyond it. max_allowed is 20,000 for USGS, null for EMSC.Not declaredYesYesYes
earthquake_get_eventFetch one earthquake by event ID: a USGS ID, or an EMSC ID (an origin date and seven-digit sequence, e.g. "20190706_0000043"). Returns the same normalized event a search result carries. For a USGS event it adds a projection of the analysis products only the single-event response holds: PAGER impact alert and report link, ShakeMap peak intensity and ground motion, DYFI felt-report totals, focal mechanism from a moment tensor or a standalone focal-mechanism product, landslide and liquefaction alerts, origin quality (azimuthal gap, station count, location uncertainty, depth type), and finite-fault rupture dimensions. Product groups are omitted when no projected field is available — a small automatic event typically carries only origin quality, while a large reviewed one has most of it. Opt into more with include: alternative origin solutions, magnitude solutions, phase arrivals, the USGS aftershock forecast, or the PAGER loss estimates behind the alert with population exposure by shaking intensity; a requested group that is not returned is listed in unavailable_includes. EMSC publishes none of these products, so an EMSC event has no detail and lists every requested group as not_published. Event IDs appear in the "id" field of earthquake_get_feed and earthquake_search_events results; a USGS event's associated_ids are also accepted.Not declaredYesYesYes
earthquake_get_feedFetch a USGS pre-computed real-time earthquake feed by magnitude tier and time window. These feeds are CDN-cached by USGS and faster and more available than the query API — use them for "what's happening now" queries. "all" includes microseisms (M<1); "significant" is a USGS curation based on magnitude, felt reports, and PAGER impact estimates. "hour" returns 0–10 events typically; "month" can exceed 10,000 for the "all" tier, so results are returned a page at a time: count is the page size, totalCount the whole feed, and nextCursor the input for the following page. Each page returns limit events (default 15, at most 1,000), fewer only on the last page. The cursor is opaque and must be passed back verbatim — unlike earthquake_search_events, these feeds retain the first-read generation for up to 15 minutes, subject to capacity eviction and restart. An expired cursor requires a fresh first read. For historical or filtered queries, use earthquake_search_events instead.Not declaredYesYesYes
earthquake_search_eventsSearch USGS or independent global EMSC seismic catalogs by time, magnitude, depth, area and source-specific filters. Both include non-tectonic events; event_type="earthquake" excludes them on USGS. Circle and independently optional box edges intersect. Unsupported EMSC filters appear in ignoredFilters. Size queries with earthquake_count_events. Returns limit events per call (at most 1,000), fewer only on the last page. Continue with offset=nextOffset and unchanged filters/order. totalCount is the full match total when known; countUnavailable marks a failed count lookup, so the total is unknown. Paging can retrieve matches beyond 20,000.Not declaredYesYesYes

Details

Registry status
Active
Published
Nov 14, 2026
Updated
Nov 14, 2026
Website
Not given
Categories (suggested)
Search and webSuggested categories are assigned automatically from the registry text and may be wrong. Verified operators can correct them.
GDPR
Not declared

Are you the operator? Claim this listing