Skip to main content
Glama

get_announcements

Read-only

Retrieve recent Moodle course announcements and forum discussions, newest first, with attachment references; narrow by course, days, or limit.

Instructions

Recent forum discussions (announcements and other course forums), newest first, with attachment refs.

Messages are shortened; use read_discussion for a full thread.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
daysNo
limitNo
courseNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint, so safety is covered; the description adds genuinely useful behavioral context that annotations cannot: results are truncated/shortened, ordered newest-first, and carry attachment refs rather than content. It does not disclose pagination behavior or the effective lookback window, which keeps it off a 5.

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 short sentences, fully front-loaded: what you get first, the escape hatch to read_discussion second. No filler and nothing repeated from the schema or annotations.

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

Completeness3/5

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

There is no output schema, and the description does cover the shape of the return (shortened messages, ordering, attachment refs), which is the main thing it needed to do. However, with three parameters at 0% schema coverage and no annotation coverage of them, an agent still lacks the information required to set days/limit/course correctly.

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

Parameters2/5

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

Schema description coverage is 0% — days, limit, and course carry no descriptions in the schema — and the description never mentions any of the three parameters. An agent cannot tell whether 'days' is a lookback window, what format 'course' takes (ID vs name), or how 'limit' interacts with truncation, so the description fails to compensate for the coverage gap.

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?

States a concrete resource (recent forum discussions), clarifies the scope extends beyond announcements to other course forums, and specifies ordering (newest first) plus attachment refs. It also names the sibling it is not — read_discussion for full threads — so an agent can separate the two without opening a schema.

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

Usage Guidelines4/5

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

Explicitly routes the full-thread case to read_discussion, which is the key decision point between these two siblings. It does not address overlap with check_updates or state any exclusion on the primary 'recent scan' use case, so it falls short of a full when/when-not treatment.

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