Skip to main content
Glama

Список курсов SmartLMS

lms_list_courses
Read-onlyIdempotent

Lists a student's current SmartLMS (Moodle) courses with IDs, titles, categories, dates, completion percentages, and favorite/hidden status to review enrolled courses.

Instructions

Список курсов текущего студента на SmartLMS (edu.hse.ru, Moodle): id, название, категория, даты начала/окончания, процент прохождения, избранное/скрытое. Требует входа через единый SSO ВШЭ (выполняется автоматически, credentials из .env).

Input Schema

NameRequiredDescriptionDefault

No arguments

Output Schema

NameRequiredDescriptionDefault
coursesYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so safety is covered; the description adds genuinely new context that SSO auth is required and happens automatically with credentials from .env, which matters for an open-world scraper tool. It stops short of mentioning latency, rate limits, or failure modes on auth expiry.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no filler: the resource and returned fields come first, followed by the operational prerequisite. Every clause carries information an agent would otherwise have to guess.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values needn't be spelled out, and the auth prerequisite is disclosed. The one gap is the absence of any routing hint among the many sibling lms_* tools for agents unsure whether courses or assignments/grades are wanted.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. The enumerated return fields are informative but relate to output, not parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (list of the current student's courses on SmartLMS/edu.hse.ru Moodle) and enumerates the returned fields, so the purpose is unambiguous. It does not explicitly distinguish itself from siblings such as lms_get_course_materials or lms_list_assignments, which keeps it short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Scope is implied by 'текущего студента' (current student only), which tells the agent whose courses are returned, but there is no explicit when-to-use, when-not-to-use, or pointer to an alternative sibling tool. Usage must be inferred from the name and resource.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.