MCP-сервер для работы с данными Московского Политехнического университета
Single tool 'list_groups' has a basic description but critically lacks input schema documentation and parameter descriptions. The tool accepts no parameters (empty input object), which is correctly reflected, but the description is minimal (58 chars, below the 194-char baseline). No output schema is documented, LLMs cannot infer the structure of the returned list[str]. No error handling guidance, no pagination support despite returning a potentially large list. The tool definition is visible in server.py via @mcp.tool() decorator, so it is not inferred.
Список всех учебных групп Московского Политеха.
No output schema documented. Tool returns list[str] but LLMs cannot infer structure, field names, or how to chain results to downstream tools.
Description is 58 characters, below the 194-char baseline and lacks WHEN/WHY context. Does not explain what 'учебных групп' (academic groups) are, when to call this tool, or what the returned list contains.
No pagination or result limit documented. If the university has hundreds of groups, returning all in one call risks context window exhaustion. No guidance on handling large result sets.
No error handling guidance. Tool may fail if cache is stale, database is unavailable, or API is unreachable. LLM receives no recovery hints.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 40 | 2026-07-28+ | v2 |
Tool name 'list_groups' is generic and lacks context. In a multi-university MCP ecosystem, 'list_mospolytech_groups' or 'list_academic_groups' would be clearer.