Skip to main content
Glama
TylerFlar

@tasque/piazza-mcp

by TylerFlar

list_courses

List all Piazza courses and networks you are enrolled in, with names, IDs, terms, and roles.

Instructions

List all Piazza courses/networks the authenticated user is enrolled in. Returns course names, IDs, terms, and roles.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It unambiguously indicates a read-only listing operation ('List all...') and scopes it to the authenticated user. It also details the returned data. While it omits side-effect discussion, that is appropriate for a simple read operation, and there is no contradiction with annotations.

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 two short sentences, front-loaded with the action, and contains no fluff. Every word contributes: the verb 'list', the resource 'courses/networks', the scope 'authenticated user', and the output fields. This is an exemplar of concise structure.

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?

Given the tool's simplicity (no parameters, no output schema, no annotations), the description fully covers the necessary context: the action, the scope, and the return values. An agent can correctly invoke this tool without further clarification. It is complete for its intended use.

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?

The tool has zero parameters and the schema is empty (100% coverage vacuously). The description correctly ignores parameter details since none exist. The baseline for zero parameters is 4, and no additional explanation is needed.

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 clearly states a specific verb and resource: 'List all Piazza courses/networks the authenticated user is enrolled in.' It also specifies the return fields (names, IDs, terms, roles), making its purpose unambiguous and distinct from sibling tools that operate on individual courses or posts.

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?

The description implies usage for discovering the authenticated user's enrolled courses, which is a prerequisite for other course-specific tools. However, it does not explicitly contrast with alternatives like get_course_info or get_course_stats, nor does it state when not to use it. The usage context is clear but not explicitly differentiated.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/TylerFlar/claude-piazza-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server