Skip to main content
Glama
NCCU-AI-SYSTEM

NCCU Moodle MCP

Read an announcement

get_announcement

Retrieve a specific announcement and its full reply thread by discussion ID. Paginate long conversations with limit and offset.

Instructions

Open ONE announcement and read its thread — the original post plus any replies — given a discussion_id from list_announcements.

Posts are oldest-first; limit/offset paginate long threads.

Returns {discussion_id, total, posts:[{post_id, parent_id, subject, author, posted, message}]}. posted is Taipei time 'YYYY-MM-DD HH:MM'.

Credentials come from the MCP settings headers, not from you.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMax posts to return.
offsetNoSkip this many posts (for paging).
discussion_idYesDiscussion id from list_announcements.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.7/5.0
Behavior5/5

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

No annotations are present, so the description carries the full burden. It discloses post ordering, pagination behavior via limit/offset, the exact return shape, the Taipei time format, and the fact that credentials come from MCP settings headers. That is a thorough behavioral profile for a read-only resource.

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?

The description is front-loaded with purpose, then efficiently covers ordering/pagination, return format, and credential handling. Every sentence contributes operational information and there is no filler or redundant restatement of the tool name.

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

Completeness5/5

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

Without an output schema, the description carefully documents the returned JSON and the timestamp format. It also states the dependency on list_announcements. Given only three parameters and a straightforward read operation, this is complete enough for an agent to select and call the tool correctly.

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 100%, so baseline is 3. The description adds useful value by noting that limit/offset paginate long threads. It also reinforces the relationship between discussion_id and list_announcements, though that is already in the schema. Just enough added meaning to go above baseline.

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?

The description opens with a clear action and resource: 'Open ONE announcement and read its thread — the original post plus any replies — given a discussion_id from list_announcements.' This distinguishes it from siblings like list_announcements and get_notifications by specifying it retrieves one conversation thread, not a list.

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?

The description gives clear usage context by tying the input to a discussion_id from list_announcements. It tells the agent when the flow is list first then read, but it does not explicitly list alternatives or say 'when not to use this tool.' Clear context, no exclusion statement.

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