Skip to main content
Glama
jseook11

CAU eclass MCP (중앙대 이클래스)

Get Courses

eclass_get_courses
Read-onlyIdempotent

Retrieve e-Class course lists for the current term, all active enrollments, or training courses, with scope options to filter by enrollment type.

Instructions

[네트워크] e-Class 강의 목록을 새로 가져옵니다. 기본 current는 term 이름/ID·날짜로 판별한 이번 학기 일반 교과목만 반환하고 현재 강의 캐시를 교체합니다. all은 Canvas의 available/completed active 수강 이력(이전 학기·교육 포함), training은 보수적으로 분류한 예방/의무교육만 반환합니다. 현재 학기를 판별할 수 없으면 전체를 현재라고 오인하지 않고 실패하므로 scope=all로 원본 범위를 확인하세요.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
scopeNocurrent(기본): 이번 학기 교과목, all: available/completed active 수강 이력, training: 예방/의무교육current

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

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 cover read-only, idempotent, non-destructive and closed-world traits. The description adds genuinely useful behavior beyond them: it is a network fetch that replaces the current course cache, it fails loudly instead of misclassifying when the semester is ambiguous, and the training scope is deliberately conservative. Auth/rate-limit behavior is still unstated.

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?

Front-loaded with the '[network]' tag and the core action, then four sentences that each carry distinct information (scope semantics, cache replacement, failure mode, fallback). Dense but every sentence earns its place; no padding.

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?

An output schema exists, so return values need no explanation, and the single-parameter surface is fully covered. The failure mode and cache-replacement side effect are disclosed, leaving only minor gaps such as authentication or rate-limit expectations for a network call.

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% and the single enum is documented, so baseline is 3. The description goes further by explaining the classification logic behind each scope (term name/ID/date detection, Canvas available/completed enrollment history, conservative training classification), adding real meaning beyond the terse schema strings.

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 (fetch fresh) and resource (e-Class course list), and breaks the result set into three named scopes with distinct contents. It implicitly distinguishes itself from eclass_get_courses_cached by noting that it replaces the current cache, but never names that sibling explicitly, so it falls just short of a clean 5.

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?

Gives explicit conditions for choosing each scope (current = this semester's regular courses; all = full Canvas enrollment history; training = prevention/mandatory education) and a concrete fallback: if the semester cannot be determined, use scope=all rather than mislabeling. It stops short of pointing to the cached alternative tool, so no explicit when-not.

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