MCP server for locating dog shelters in San Francisco by location and radius
Single tool with minimal definition quality. shelter_locator has a basic description (56 chars) and input schema with two parameters, both typed and described. However, the description lacks actionable context (WHEN to use, WHAT it returns, any prerequisites). No output schema is documented. Parameter descriptions are minimal (location: 47 chars, radius: 32 chars). No error handling guidance, no pagination support despite potentially returning lists, and no indication of result limits. The tool name 'shelter_locator' is acceptable but generic; 'search_shelters' or 'find_dog_shelters' would be more action-oriented. Overall, this is a bare-minimum implementation typical of early-stage tools.
Locates dog shelters in a specified location within a given radius
No output schema documented. LLMs cannot plan downstream calls or extract structured data without knowing what fields the response contains.
Tool description lacks WHEN/WHY context and does not state what the tool returns. At 56 chars, it is below the 10 - 1024 baseline and omits prerequisites or result structure.
No pagination or result limit documented. If the API returns many shelters, the response could blow the context window. No indication of max results or how to fetch additional pages.
No error handling guidance. If location is invalid or no shelters found, the tool returns a generic 500 error with no recovery hint. LLMs cannot self-correct.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | 2026-07-28+ | v2 |
Parameter descriptions are minimal. 'The location to search for shelters (e.g., city name)' includes an example value that LLMs may reuse literally. Use enum or pattern constraints instead.