Skip to main content
Glama
jseook11

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

File Handoff

eclass_file_handoff
Read-onlyIdempotent

Issue a publicly reachable /files/ URL for a downloaded eClass file so ChatGPT can fetch it without embedding the file body. Use file_id from search/list downloads; 25MB limit.

Instructions

[로컬/URL] 다운로드된 파일 본문을 tool 응답에 첨부하지 않고 /files/ URL만 발급합니다. ChatGPT가 직접 파일을 읽으려면 반환 URL이 공개 인터넷에서 접근 가능해야 하며, localhost/127.0.0.1 URL은 같은 머신의 사용자 브라우저 전용입니다. 공개 handoff가 필요하면 ECLASS_HANDOFF_BASE_URL을 공개 HTTPS reverse proxy/터널 주소로 설정한 뒤 다시 호출하세요. file_id는 eclass_search_downloads/eclass_list_downloads에서 얻습니다. 25MB 초과 파일은 거절됩니다(ECLASS_HANDOFF_MAX_BYTES로 조정).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
file_idYesURL을 발급할 로컬 다운로드 파일의 file_id (eclass_search_downloads 결과). 영상은 "video:<id>" 형식.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
file_idYes
deliveredYes
mime_typeNo
size_bytesNo
display_nameNo
download_urlNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.1/5.0
Behavior5/5

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

Beyond the readOnly/idempotent/non-destructive annotations, the description discloses substantial behavior: the 25MB rejection threshold and its env-var override, the localhost-vs-public URL accessibility constraint, and the required configuration for public handoff. These are exactly the operational traits an agent needs and are not in the annotations.

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?

The core purpose is front-loaded and every sentence carries information (limits, config, sourcing). It is somewhat dense with parenthetical env-var names, but nothing is redundant.

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 no explanation, and the description still covers the source of the input, the size cap, and the networking prerequisite. Nothing an agent needs to call it correctly is missing.

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 coverage is 100% for the single parameter, and the schema already documents the file_id source and the 'video:<id>' format. The description's mention of where file_id comes from largely duplicates the schema, so baseline 3 is appropriate.

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 first sentence states a precise verb+resource: it issues a /files/<token> URL without attaching the file body to the response, which is the key distinguishing behavior from the eclass_download_file/eclass_download_video siblings. It does not name those siblings explicitly, so the contrast must be inferred from the 'no body' phrasing.

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?

It gives a concrete usage path: obtain file_id from eclass_search_downloads/eclass_list_downloads, and if a publicly reachable handoff is needed, set ECLASS_HANDOFF_BASE_URL and re-call. It explains the localhost/127.0.0.1 restriction but never states when to prefer this tool over the direct-download siblings.

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