Skip to main content
Glama

Course content outline

get_course_outline
Read-onlyIdempotent

Browse a course's content tree to find modules, slides, and files, then filter by title or module ID to see readings, exercises, and hand-ins.

Instructions

Shows a course's content tree (modules, lecture folders, slides, files, links, quizzes) with topicIds. Use search to filter by title (e.g. 'Lecture 5', 'week 6', 'uge 8', 'exercise'), or module_id for one folder; then the text on the matching modules' own pages is shown too, which often lists the week's reading, exercises and hand-in, with links. Then use read_file with a topicId to read a file.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "course": "<course>"
    },
    "name": "get_course_outline"
  }
}

Input Schema

NameRequiredDescriptionDefault
courseYesCourse: a DTU course number (e.g. "02450"), part of the course name, or the Brightspace org unit id from list_courses.
searchNoOnly modules/topics whose title contains this text (ignores case, _ and -).
module_idNoOnly show this module, the text on its page, and what is inside it.
include_hiddenNoInclude items marked hidden.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already cover safety (readOnly, idempotent, non-destructive) and open-world access, so this description correctly spends its words elsewhere: it discloses that filtering also surfaces the text on matching modules' own pages (often reading lists, exercises and hand-ins) and exposes topicIds. It doesn't mention depth limits, result size or pagination, which keeps it below 5.

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

Conciseness4/5

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

The what-is-it clause is front-loaded and the when-to-filter guidance follows immediately. The third sentence is a long chain of clauses ('then the text on ... is shown too, which often lists ... with links') that could be tightened, but nothing is redundant.

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 4-parameter read tool with no output schema and full parameter coverage in the schema, the description supplies the missing pieces: what the tree is made of, what the identifiers enable, and the next call to make. Only output shape specifics (ordering, how deeply nested the tree is) are absent, which is minor.

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 coverage is 100%, so the baseline is 3, but the description adds behavior the schema doesn't: search matching is title-substring with practical example terms, and it clarifies that a search/module_id selection also pulls the module's page text. That goes beyond the schema's terser 'only modules/topics whose title contains this text'.

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

Purpose5/5

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

Names the specific resource (course content tree) and enumerates exactly what it contains (modules, lecture folders, slides, files, links, quizzes) plus the key output field, topicIds. That distinguishes it clearly from siblings like get_topic and read_file, which operate on a single item rather than the tree.

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

Usage Guidelines5/5

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

Explicitly directs the agent to use `search` to narrow by title (with concrete term examples like 'Lecture 5', 'week 6', 'uge 8') or `module_id` for one folder, and then states the follow-on step: read_file with a topicId. This is a full workflow with alternatives, not just context.

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