seismic-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| find_eventsA | Find recent or historical earthquakes, reconciled across multiple seismic agencies. Queries every supported agency in parallel (~20 networks including USGS, EMSC, JMA, INGV, GeoNet, AFAD, and others) and clusters their reports so each returned event lists every agency that picked it up — the agent sees cross-network disagreement explicitly when it exists. Unreachable agencies fail gracefully and are skipped; a 60s TTL cache makes repeat queries cheap. Pass NOT for emergency or early-warning use; data is preliminary. Defaults: last 24 hours, no magnitude filter, limit 50. |
| get_eventA | Fetch one reconciled event by canonical_id (format: 'AGENCY:event_id'). Re-queries the seed agency by ID, then sweeps every supported agency in parallel within ±10 minutes and ~3° of the seed to find matching reports. Returns the reconciled cluster, or None if the seed cannot be found. Use canonical_ids from |
| compare_sourcesA | Side-by-side per-field comparison of every agency's report for one event. Returns a field-major view (magnitude, lat, lon, depth, time, ...) with one column per agency and the numeric spread per field. Use this when an agent needs to explain why sources disagree on a specific earthquake. |
| find_discrepanciesA | Return events where agency reports disagree past the given thresholds. Same query params as |
| list_recent_by_agencyA | Raw recent events from a single agency, without cross-agency reconciliation. Returns |
| get_agency_infoA | Static metadata about a seismic agency: coverage, latency, magnitude completeness, notes. Use to interpret cross-agency disagreement (e.g. JMA magnitudes are systematically lower than USGS Mw for the same event) or to decide which agency is authoritative for a region. |
| list_agenciesA | All agency codes this server knows about (whether FDSN-wired or not). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 7 tools
Each tool targets a distinct operation: finding reconciled events, retrieving a specific event, comparing source reports, surfacing disagreements, listing agencies, listing raw agency feeds, and fetching agency metadata. The overlap between find_events and find_discrepancies is clearly delineated by threshold filtering, and list_recent_by_agency is explicitly positioned as the raw single-agency counterpart to the reconciled find_events.
All tools follow a snake_case verb_noun pattern: find_events, get_event, compare_sources, find_discrepancies, list_agencies, list_recent_by_agency, get_agency_info. The verbs are varied but predictable (find/list/get/compare), and the noun usage (plural for collection-style operations, singular for single-item fetches) is consistent.
Seven tools is well within the ideal 3-15 range and each tool earns its place in the cross-agency seismic data domain. The count is lean enough to avoid overwhelming an agent while covering the core workflows of discovery, retrieval, comparison, and metadata lookup.
The domain is a read-only, cross-agency earthquake data service, and the surface is complete: discover reconciled events, fetch a specific event, compare raw source fields, find disagreement hotspots, enumerate agencies, inspect a single agency's raw feed, and understand agency-specific biases. No obvious dead ends exist—every tool's output either feeds into another tool or stands alone as a meaningful answer.