Server defines 8 tools with Zod schemas and descriptions in Russian. All tools have input schemas with type definitions and parameter descriptions. However, descriptions are brief (avg ~80 chars), lack actionable context for LLM selection, and omit error recovery guidance. No output schemas documented. Parameter constraints (enums, ranges) are minimal. Tool names follow verb_noun pattern correctly. No tool annotations (readOnlyHint/destructiveHint) despite clear risk levels. Error handling is absent from visible code.
Список друзей пользователя ВКонтакте.
Информация о сообществах ВКонтакте по ID или короткому имени.
Статистика сообщества ВКонтакте за указанный период.
Информация о пользователях ВКонтакте по ID или screen_name.
Получить записи со стены пользователя или сообщества ВКонтакте.
Опубликовать запись на стене пользователя или сообщества ВКонтакте.
No output schemas documented. LLMs cannot predict response structure or plan downstream tool calls. E.g., get_user returns text but should document fields like user_id, name, photo_url for chaining.
Descriptions lack actionable context. E.g., 'Получить записи со стены' (Get wall posts) does not explain WHEN to use this vs search_posts, what fields are returned, or pagination behavior. Baseline: 50-200 chars with WHAT/WHEN/RETURN.
No tool annotations despite clear risk levels. post_wall and send_message are WRITE operations but lack destructiveHint. get_* tools lack readOnlyHint. Agents cannot reason about side effects or retry safety.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
Поиск постов в новостной ленте ВКонтакте по ключевым словам.
Отправить сообщение пользователю или в беседу ВКонтакте.
Parameter constraints incomplete. 'fields' params accept free-form strings (e.g., get_user, get_groups) with no enum or format guidance. 'order' in get_friends has enum but others lack constraints. Invites hallucinated invalid values.
No error handling or recovery guidance visible. vkCall() in client.ts retries 3x on timeout but tool handlers do not document error cases, retryability, or next steps for LLM. E.g., 'User not found, try search_users()' missing.