Skip to main content
Glama
jseook11

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

Download Video

eclass_download_video

Download and validate a CAU eclass OCS MP4 video to the MCP server's local disk/cache for later file handoff, without sending video bytes to ChatGPT.

Instructions

[네트워크] OCS 메타데이터에서 확인한 직접 MP4 동영상을 검증 후 MCP 서버 로컬 디스크/캐시에 다운로드합니다 (제한시간 30분). 이 도구는 재생·진도·출석 API를 호출하지 않고 동영상 바이트도 ChatGPT에 전달하지 않습니다. 외부에서 받아야 하면 file_id="video:"로 eclass_file_handoff를 호출해 공개 /files/ URL을 별도 발급해야 합니다. 캐시에는 file_id="video:"로 기록되므로 재다운로드 시 eclass_remove_download에 이 형식을 사용하세요.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYeshttps://ocs.cau.ac.kr/em/<content_id> 형식의 OCS 뷰어 URL
typeNo자료 유형 (참고용)
sourceNo자료 출처 (캐시에 기록됨)
video_idYes동영상 ID 또는 material id (캐시 키로 사용)
course_idYes강의 ID
display_nameYes저장할 파일명 (.mp4 없으면 자동 추가)

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
okYes
messageNo
skippedNo
strategyNo
video_idNo
retryableNo
error_codeNo
local_pathNo
size_bytesNo
display_nameNo
handoff_noteNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only give write/non-destructive flags, but the description adds substantial context: a 30-minute timeout, that video bytes are NOT relayed to ChatGPT, that playback/progress/attendance APIs are not touched, and how the cache records the entry. This is exactly the beyond-annotations detail an agent needs for a write-to-disk tool.

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 core action and constraint (network, verify, download, 30-min limit), followed by what it deliberately avoids and the sibling routing. Dense but each sentence carries operational information; only the file_id/remove_download clause feels slightly packed into one line.

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?

With an output schema present, return values need not be explained, and the description fully covers the behavioral constraints (timeout, no byte relay, no tracking API calls) plus the cross-tool workflow for external delivery and cache cleanup. Nothing needed to invoke it correctly is missing.

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%, so the schema already documents all six parameters and the baseline is 3. The description adds real value by specifying the cache key format 'video:<video_id>' for the video_id parameter, connecting it to handoff and removal semantics beyond what the schema states.

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?

States a specific verb+resource+scope: verifies a direct MP4 video seen in OCS metadata and downloads it to the MCP server's local disk/cache. It explicitly differentiates from sibling behavior by noting it does NOT call playback/progress/attendance APIs, and names eclass_file_handoff for the external-receipt case.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

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

Clearly frames when to use it (need the video bytes cached locally) versus the alternative path (eclass_file_handoff for a public /files/<token> URL) and the removal path (eclass_remove_download with the video:<video_id> key). The conditions that select each sibling are explicit rather than inferred.

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