MCP server for querying Ontario fish stocking records by coordinate, species, location name, or year
Four read-only query tools with basic schemas and minimal descriptions. All tools have input schemas with proper types and required flags, but descriptions are generic (10-30 chars) and lack context for LLM selection. Parameter descriptions are present but terse. No output schema documentation. No error handling guidance. Tools follow a repetitive pattern (query_by_X) but lack the depth expected for production use. Naming is clear but descriptions fail to explain WHEN to use each tool or what distinguishes them.
Query fish stocking records by coordinate
Query fish stocking records by location name
Query fish stocking records by species
Query fish stocking records by year
Tool descriptions are too short (10-30 chars) and lack context. 'Query fish stocking records by X' does not explain WHEN to use this tool vs others, what the LLM should expect, or how results are structured.
No output schema documented. LLMs cannot plan downstream operations or extract fields without knowing the response structure. Code shows parseRows() returns map[string]interface{} with fields species, locationName, year, latitude, longitude, this must be documented in tool definitions.
Parameter descriptions are minimal (e.g., 'The species to query'). No guidance on format, constraints, or examples. For coordinate tool, latitude/longitude parameters lack range hints (e.g., -90 to 90 for lat, -180 to 180 for lon).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2026-07-28+ | v2 |
No error handling guidance. Code silently logs errors during CSV load (e.g., 'Error converting year') but tool definitions do not document what happens on invalid input, empty results, or malformed coordinates. LLMs cannot recover from failures.
Coordinate tool accepts latitude/longitude as strings but should validate format and range. No enum or pattern constraints. LLMs may pass invalid values like 'north' or '999' without feedback.