Three tools with basic verb-noun naming (get_weather, get_news, get_dollar_rate). All have descriptions and input schemas visible in local_server.py. However, descriptions are minimal (10-20 chars), parameter descriptions lack detail, output schemas are undocumented (all return plain strings), and no error handling guidance is provided. No tool annotations (readOnlyHint, etc.). Tools are READ_ONLY but this is not declared in descriptions. Parameter constraints missing (e.g., city format, count range). No pagination support despite news potentially returning many items. Descriptions do not explain WHEN to use each tool or what to expect.
Получить текущий курс доллара
Получить топ новостей
Получить прогноз погоды для города
Descriptions are too short (10-20 chars) and lack context. 'Получить прогноз погоды для города' (Get weather forecast for city) does not explain when to use this tool, what format city should be, or what the response contains.
Output schemas are completely undocumented. All three tools return plain strings, but LLMs cannot plan downstream calls or extract structured data without knowing the response format. No documentation of what fields or structure to expect.
Parameter descriptions are minimal or missing. 'city' param has only 'Название города' (City name), no format constraints, length limits, or examples. 'count' param lacks guidance on valid range (1-100? 1-1000?).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 40 | 2026-07-28+ | v2 |
No error handling guidance. Services catch exceptions and return error strings (e.g., 'Ошибка при получении погоды: {e}'), but LLMs receive raw exception messages with no recovery hints. No indication of retryable vs. fatal errors.
No tool annotations. Tools are READ_ONLY (per metadata) but descriptions do not declare this. Missing readOnlyHint annotation that would signal to LLMs these are safe to call without confirmation.