Yandex API MCP Servers - GPT, Vision OCR, SpeechKit TTS/ASR, Search
Server defines 10 tools with basic schemas and descriptions, but quality is inconsistent. All tools have descriptions (10-100 chars, mostly adequate), and input schemas are present with type definitions. However, parameter descriptions are sparse or generic, output schemas are undocumented, and error handling lacks recovery guidance. No tool annotations (readOnlyHint/destructiveHint). Naming follows verb_noun convention (yandex_search, yandex_tts) but some names are redundant (yandex_asr vs yandex_asr_short). Parameter validation rules are not documented in descriptions. No pagination support despite search tools returning multiple results. Composition is reasonable, tools are single-purpose, but output chaining is not designed (e.g., search results don't include structured metadata for downstream use).
Speech-to-Text using Yandex SpeechKit (long audio)
Speech-to-Text for short audio (<30 sec)
Search Yandex (requires API key)
Search images on Yandex
Search news on Yandex
Text-to-Speech using Yandex SpeechKit
Extract text from image using Yandex Vision OCR
Output schemas are completely undocumented. LLMs cannot infer what fields to expect from tool responses, forcing them to guess at downstream field names and breaking tool chaining.
Search tools (yandex_search, yandex_search_images, yandex_search_news) lack pagination support. No page/offset, limit enforcement, or total count in response. Large result sets will blow context windows.
Parameter descriptions lack validation rules. E.g., 'limit' has no min/max bounds; 'language' enums are listed in description text, not as formal enum constraints; 'temperature' range (0-1) is not enforced in schema.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | 2026-07-28+ | v2 |
Detect text blocks and lines in image
Chat completion with YandexGPT
Generate text completion using YandexGPT
Error handling is minimal. Code returns generic error messages ('Error: <message>') without recovery guidance. No categorization of retryable vs fatal errors. LLMs cannot determine next steps.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). yandex_tts is a WRITE operation but not marked as destructive/idempotent. LLMs cannot reason about retry safety.