MCP for Russian trademarks: FIPS open-register card by number; paid name search needs a client FIPS contract. Advisory only.
Server has 4 tools with complete input schemas and descriptions, but quality is significantly hampered by Russian-language descriptions that are cryptic and domain-specific, making them difficult for LLMs to parse intent. Tool names are verb-based (search_, assess_, get_) which is good. However, descriptions are terse and assume deep trademark domain knowledge. Schemas are present with proper types and constraints (enums, minLength, defaults), but descriptions lack actionable guidance for LLM selection. No output schemas documented. Error handling is honest (refuses unavailable sources) but lacks recovery guidance. Overall: functional but not LLM-optimized.
Оценка сходства без платного поиска по реестру недоступна. Честный отказ, не пустой список.
Карточка по номеру свидетельства из открытого реестра ФИПС. Ключ не нужен. Не найден — found:false; сбой источника — не «знака нет».
Поиск в TMview не подключён. Ответ — отказ с причиной, не пустой список.
Платный поиск ФИПС по названию. Без учётки — отказ с причиной. С учёткой: описание обмена закрыто, запрос не выдумываем. Не путать с «знаков не найдено».
Descriptions are in Russian and cryptic. 'Платный поиск ФИПС по названию. Без учётки, отказ с причиной.' (search_trademark) assumes domain expertise. LLMs cannot infer when to call this vs assess_similarity without clearer English guidance on use cases.
No output schemas documented. LLMs cannot plan downstream calls or extract fields. What does search_trademark return? Is it {results: [{name, number, status}]} or {matches: [...]}? Undocumented output forces LLMs to guess.
Error responses are honest (source_not_configured, spec_closed, source_unavailable) but lack recovery guidance. When search_trademark returns 'spec_closed', what should the LLM do next? Suggest alternatives? Ask the user? No guidance.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | <=2025-11-25 | v2 |
Parameter descriptions lack actionable constraints. 'classes' is described as 'Классы МКТУ 1 - 45' but LLMs may not know МКТУ is Nice Classification. Should say 'NICE classification codes (1-45, e.g. [25, 35] for clothing and advertising).'
assess_similarity and search_trademark both search trademarks but with different backends (paid FIPS vs registry). Names do not disambiguate. LLMs may conflate them. Consider search_trademark_paid and search_trademark_registry or add explicit 'source' parameter.