An MCP server that provides earthquake data for Thailand and surrounding regions with filtering capabilities
Single tool 'get_earthquakes' has a clear verb-noun name and acceptable parameter schema with types and descriptions. However, the tool description is generic (72 chars, below the 194-char baseline), lacks context on WHEN to use it, and provides no guidance on output structure or error handling. Parameters are documented but lack constraints (e.g., no enum for country, no range for min_magnitude). No output schema is documented, LLMs cannot predict the response structure. Error handling is absent; HTTP 500 would leave an agent stranded. The server is HTTP-based (good), but tool definitions lack the depth needed for reliable agent composition.
Retrieves earthquake data with optional filtering by date, country, minimum magnitude, location, and note
Tool description is too short (72 chars) and lacks context. Does not explain WHEN to use this tool, what the output structure is, or how to handle errors. Baseline is 194 chars; descriptions under 100 chars risk LLM misselection.
No output schema documented. LLMs cannot predict the response structure (array of Earthquake objects with date, location, country, magnitude, note fields). Without this, agents cannot plan downstream operations or extract data reliably.
Parameters lack constraints. 'country' and 'location' accept free-form strings with no enum or validation. 'min_magnitude' has no range (e.g., 0 - 10). LLMs may pass invalid values; no guidance on what constitutes a valid input.
No error handling or recovery guidance. If the server returns a 500 error or malformed JSON, the agent has no actionable next step. Error responses should categorize failures (retryable vs. fatal) and suggest alternatives.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 39 | <=2025-11-25 | v2 |
Tool is not registered via MCP protocol. The source shows a raw HTTP endpoint (/earthquakes) and a Python client making direct HTTP calls, not an MCP server with tool definitions. This is not a valid MCP server implementation.