MCP server over the version history of Russian construction-pricing open data (ФГИС ЦС). Serves historical data about what changed, when, and what did not change despite being republished from the Russian Ministry of Construction portal.
Server has 4 tools with Russian-language descriptions and basic parameter schemas. All tools are READ_ONLY and stateless. However, critical gaps exist: (1) All descriptions are in Russian, making them inaccessible to most LLM agents trained on English; (2) Parameter descriptions lack detail on format/constraints (e.g., 'dataset' param has no guidance on valid format or how to discover valid IDs); (3) No output schemas documented, LLMs cannot predict response structure; (4) Error handling is minimal (e.g., dataset_versions returns a string message for not-found, but no structured error); (5) No parameter validation hints (e.g., salary_history accepts 'subject' as free-form string with no enum or pattern). Tools are simple and well-intentioned but lack production-grade polish.
История версий одного набора: когда публиковалась и менялось ли содержимое. Главное здесь — отметка о версиях, содержимое которых совпадает с другой версией: портал публикует обновление, но данные при этом не менялись. По самому порталу этого не видно — там указана только дата публикации.
Перечислить наборы открытых данных ФГИС ЦС и глубину истории по каждому. Возвращает название набора, число сохранённых версий, период, за который доступна история, и число различных схем данных за этот период.
Рейтинг регионов по росту оплаты труда в строительстве за всю доступную историю.
Динамика среднемесячной оплаты труда рабочего 1 разряда в строительстве по региону. Показывает ставку по каждой версии данных с 2020 года. В источнике лежит только последняя выгрузка — динамики там нет.
All tool descriptions are in Russian, making them inaccessible to English-trained LLM agents. Descriptions must be in English for cross-language agent compatibility.
No output schemas documented. Tools return unstructured strings (e.g., 'list_datasets' returns formatted text). LLMs cannot predict response structure, parse fields, or chain to downstream tools.
Parameter 'dataset' in dataset_versions lacks guidance on valid format or how to discover valid dataset IDs. Description should reference list_datasets() and provide example format (e.g., '7707082071-ksrms').
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | 2026-07-28+ | v2 |
Parameter 'subject' in salary_history accepts free-form string with no enum, pattern, or validation hints. Error message suggests partial matching ('Иркутская', 'Москва') but this is not formalized as a constraint.
Error handling returns plain text strings (e.g., 'Набор не найден') instead of structured errors with recovery guidance. LLMs cannot distinguish errors from valid responses or know what to do next.