QuakeIndex for AI assistants
QuakeIndex runs a public Model Context Protocol server, so an AI assistant can answer earthquake questions from the same data as this site: USGS's, with its age and its source attached to every answer. Free, read-only, no key and no sign-up.
Not answering yet. The MCP endpoint switches on when quakeindex.com moves to its own server. Until then the JSON API answers the same questions.
The endpoint
https://quakeindex.com/mcp Streamable HTTP transport, stateless, no authentication. Point any MCP client that supports remote servers at that address.
Connect it
Claude
- In Claude (web or desktop): Settings → Connectors → Add custom connector.
- Name it
QuakeIndex, paste the endpoint above as the URL, and add it. There is no sign-in step. - In a chat, enable QuakeIndex from the tools menu and ask, for example, "was that an earthquake in Oakland just now?"
In Claude Code:
claude mcp add --transport http quakeindex https://quakeindex.com/mcp ChatGPT
- Settings → Apps & Connectors → Advanced settings, and turn on Developer mode.
- Back in Apps & Connectors, choose Create. Name it
QuakeIndex, paste the endpoint as the MCP server URL, and set authentication to No authentication. - Pick QuakeIndex from the tools in a new chat.
Menu names in both assistants change often; the endpoint does not.
Cursor
Add this to ~/.cursor/mcp.json (or .cursor/mcp.json in a project):
{
"mcpServers": {
"quakeindex": {
"url": "https://quakeindex.com/mcp"
}
}
} The tools
| Tool | Answers |
|---|---|
latest_earthquakes | The most recent earthquakes, by minimum magnitude and hours back, optionally US only. |
earthquakes_near | Earthquakes within a radius of coordinates, a ZIP code, or a town and state, with distances. |
earthquake_details | One event by USGS id, including every revision we observed ("magnitude revised from 4.1 to 3.9"). |
place_activity | The QuakeIndex score for a state or county, its label, and the normal range for a week. |
was_that_an_earthquake | yes, not_yet_reported or no for shaking felt a few minutes ago — the same three answers as /felt/. |
largest_on_record | The largest earthquakes in our copy of the USGS catalogue for a state, county, town or ZIP code. |
The rules every answer carries
- A source and an age. Every result names USGS, says when QuakeIndex last confirmed the feed, gives the newest event it holds, and says
stalewhen the feed has not been confirmed for five minutes. - Links. Every event links its QuakeIndex page and its USGS event page, which is the record of authority.
- No predictions. The score describes activity already recorded, against the place's own history. Method →
- No warnings. QuakeIndex is not an alerting service. For early warning use ShakeAlert and the MyShake app.
- "Not yet reported" is not "no". A small earthquake can take several minutes to reach the USGS catalogue, and the tool says so.
Limits
60 requests a minute per address, with bursts of 20. Over that the server returns HTTP
429 with a Retry-After header. An assistant makes one request per tool
call, so a conversation never comes close.
Try it without an assistant
curl -s https://quakeindex.com/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"was_that_an_earthquake","arguments":{"zip":"94103","minutes_ago":10}}}' Attribution
The earthquake data is USGS's and is public domain. For our computed figures — the score and the per-place statistics — please cite QuakeIndex and link the page. See the terms. Questions: team at voittovirta.com.