Skip to main content
Glama

moodle_browse

Browse any Moodle course by ID, short name, or partial name and view its sections, materials, links, and activities in one place.

Instructions

Show a course's sections with their materials, links and activities. course can be a course id, short name, or part of the full name.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
courseYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full behavioral burden. It does convey that the operation is a non-mutating read ('Show') and characterizes the returned content (sections, materials, links, activities), but says nothing about login/auth prerequisites, pagination, or failure modes for an unknown course identifier.

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, zero filler, with the primary action front-loaded and the parameter clarification trailing. Every clause earns its place.

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?

For a single-parameter browse tool with no output schema and no annotations, the description covers purpose and argument format adequately. The notable remaining gap is that it never signals the likely prerequisite of being logged in (moodle_login is a sibling), which an agent would need to know before calling.

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?

Schema description coverage is 0%, yet the description compensates well by specifying that `course` accepts a course id, a short name, or part of the full name. That is meaningful added semantics an agent could not infer from the bare string parameter, though exact matching behavior (case sensitivity, ambiguity on partial matches) remains unspecified.

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 ('Show') and resource (a course's sections with their materials, links and activities), so an agent can tell it apart from moodle_download at a glance. It does not explicitly contrast itself with moodle_courses, which also operates on course-level data.

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?

Usage is implied by the purpose – browse the contents of a known course – but there is no explicit 'use this when' statement and no mention of alternatives such as moodle_courses (list all courses) or moodle_download (fetch a file). The only guidance offered concerns the `course` argument format, not when to pick this tool.

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