Skip to main content
Glama

Get Posts

get_posts
Read-onlyIdempotent

Retrieve up to 20 full discussion threads from a Piazza course in one call, including an error field for posts that cannot be read.

Instructions

Read up to 20 full threads from one course in one call. A post that cannot be read has an "error" field.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
courseYes
numbersYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
postsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint and openWorldHint, so safety is covered. The description usefully adds the partial-failure contract ('A post that cannot be read has an "error" field') and the batch ceiling of 20, but says nothing about pagination, truncation when more than 20 numbers are supplied, or per-post error causes.

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, front-loaded with the core capability and immediately followed by the failure-mode note. Every clause carries information; nothing is redundant filler.

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?

An output schema exists so return-shape detail is not required, and the description does add the error-field behavior on top of it. However, the batching edge case (what happens beyond 20 numbers, whether excess are dropped or rejected) and the identifier formats are unresolved for a two-required-parameter read tool.

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

Parameters3/5

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

Schema description coverage is 0% for both parameters, so the description must compensate. It partially does: 'one course' maps to the course parameter and 'up to 20 full threads' implies numbers is a bounded list of post identifiers, but the format of course (name vs ID) and the meaning/ordering of the integers are never stated.

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 ('Read'), resource ('full threads'), scope ('from one course') and batching behavior ('in one call', 'up to 20'). An agent can distinguish it from single-post readers like get_post, though no sibling is named explicitly, which is what separates this from 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 Guidelines2/5

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

There is no explicit when-to-use guidance and no alternatives are named. The phrase 'in one call' hints that this is the batch variant versus a single-thread reader, but the selection rule (when to batch versus call get_post or search_posts) is left entirely to inference.

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