EMSC (European-Mediterranean Seismological Centre) MCP — wraps the seismicportal.eu FDSN event web service for querying seismic events. Global coverage with especially strong Europe/Mediterranean reporting — complements USGS. All times are UTC ISO 8601, depth is in km, and place names come from the Flynn-Engdahl region.
Two well-named, read-only tools with complete input schemas and solid descriptions. search_earthquakes and recent_earthquakes both follow verb_noun naming and include parameter type definitions. Descriptions are detailed (180 - 250 chars) and include examples. However, output schema is not documented in the tool definitions, LLMs cannot see what fields to expect from the response. Parameter descriptions are good but could be more concise. No error handling guidance or recovery hints. No tool annotations (readOnlyHint, etc.). Overall solid foundation with room for output documentation and error clarity.
Get recent earthquakes from EMSC (European-Mediterranean Seismological Centre): the last N days above a minimum magnitude, newest first. Convenience wrapper over the FDSN event API. Global coverage, strong in Europe/Mediterranean. Times are UTC ISO 8601, depth in km. Example: recent_earthquakes({ days: 7, minmag: 4 }).
Search seismic events from EMSC (European-Mediterranean Seismological Centre) via the FDSN-standard seismicportal.eu API. Global coverage with especially strong Europe/Mediterranean reporting — complements USGS. Filter by UTC time range, magnitude, and location (either a bounding box OR a center point + radius in degrees). Times are UTC ISO 8601, depth in km, and place names come from the Flynn-Engdahl region. Example: search_earthquakes({ start: "2026-01-01", end: "2026-02-01", minmag: 5.0, orderby: "magnitude" }) or search_earthquakes({ lat: 38.0, lon: 23.7, maxradius: 5, minmag: 3 }).
Output schema not documented. LLMs cannot see the structure of earthquake records (id, magnitude, place, time, depth_km, etc.). This forces agents to guess field names and risks extraction errors.
No tool annotations. Tools are read-only but lack readOnlyHint annotation. This prevents clients from optimizing caching, retry logic, or UI presentation.
No error recovery guidance. If EMSC API returns 400 (invalid time range) or 503 (service down), the tool throws a generic error. LLMs need actionable guidance: 'Invalid time range, ensure start < end and both are ISO 8601' or 'EMSC service temporarily unavailable, retry in 30 seconds.'
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | 2026-07-28+ | v2 |
Parameter descriptions could be more concise. 'Bounding box southern latitude, -90 to 90 (optional).' is clear but verbose. Shorter: 'Southern latitude (-90 to 90).' saves tokens while remaining precise.
No pagination guidance in descriptions. search_earthquakes accepts limit (1 - 1000) but does not explain how to iterate through large result sets or what happens if limit is exceeded. Agents may not know to use multiple calls with different time windows.