Skip to main content
Glama
jseook11

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

Sync Course Metadata

eclass_sync_course_metadata

Sync confirmed course metadata from LearningX SIS for exam timetable matching, storing college, department, professor, course code, and section. Keep Canvas-only data if SIS lookup fails.

Instructions

[네트워크] 시험 시간표 매칭용 강의 메타데이터를 동기화합니다. LearningX SIS(개설강좌 정보)에서 개설대학/학과/교수/과목코드/분반 확정값을 받아 저장하고(source=learningx_sis), SIS 조회 실패 시 Canvas 기본 정보만 보존합니다(source=canvas_only, sis_error 포함).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
forceNo기존 캐시가 있어도 다시 조회 (기본값: false)
course_idNo특정 강의만 동기화 (생략하면 현재 수강 강의 전체)

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
okYes
errorsNo
syncedNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.7/5.0
Behavior4/5

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

Annotations mark this as a non-read-only, non-idempotent write, and the description adds real value beyond them: it discloses the exact source values written (source=learningx_sis), the SIS-failure fallback (source=canvas_only) and that an sis_error is included. That fallback/overwrite behavior is not derivable from the annotations or schema.

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?

Two dense sentences with the network tag and purpose front-loaded, followed by the primary path and the failure path. It is efficiently structured, though the bracketed [네트워크] tag and multiple slash-delimited field lists make it slightly cramped.

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 not be explained, and the description fully covers the sync semantics, source tagging, and error fallback. It could still mention permission/auth or cache-write implications, but for this tool it is largely complete.

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 100% and both parameters (force, course_id) are documented in the schema itself. The description adds no syntax or format detail beyond what the schema provides, so the baseline of 3 applies.

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?

The description names a specific verb (동기화합니다 / sync-save) and resource (강의 메타데이터 / course metadata), and specifies the upstream source (LearningX SIS). It also scopes its purpose to exam-schedule matching, which distinguishes it somewhat from generic course tools, though it never names a sibling tool explicitly.

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 phrase '시험 시간표 매칭용' (for exam schedule matching) implies the context in which to reach for this tool, but there is no explicit when-to-use/when-not guidance and no mention of the obvious alternative eclass_sync_exam_schedules or eclass_get_courses. Usage is only inferable.

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