Download File
eclass_download_fileDownload lecture files to the MCP server's local disk/cache and return local_path and file_id records, not file content. Use the returned file_id with eclass_file_handoff to open files when needed.
Instructions
[네트워크] 강의 파일을 MCP 서버 로컬 디스크/캐시에 다운로드합니다. 이 도구는 ChatGPT에 파일 본문을 전달하지 않고 local_path/file_id 같은 서버 측 기록만 반환합니다. ChatGPT가 파일을 읽어야 하면 반환된 file_id로 eclass_file_handoff를 호출해 공개 /files/ URL을 발급하고, 그 URL을 브라우징으로 직접 열어야 합니다. 과목과 원본 ID가 일치하는 캐시 파일은 건너뜁니다. acquisition_policy/downloadable을 함께 전달하세요. 동영상/interactive/미확인/잠김은 정상 제외 상태로 반환하며 실제 실패만 isError=true와 JSON error_code/retryable을 반환합니다. 동영상은 eclass_download_video를 사용하세요.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | 다운로드 URL (courseresource 파일은 null 허용 — Playwright로 다운로드) | |
| type | No | 자료 유형. ExternalTool은 LTI 런치 후 실제 파일을 찾습니다. mp4/video/m3u8 계열은 파일 도구에서 거부되며 eclass_download_video 대상입니다. | |
| source | No | ||
| file_id | Yes | Canvas 파일 ID | |
| course_id | Yes | 강의 ID | |
| unlock_at | No | ||
| asset_kind | No | ||
| module_name | No | ||
| display_name | Yes | 저장할 파일명 | |
| downloadable | No | ||
| external_url | No | ||
| locked_for_user | No | ||
| resolution_reason | No | ||
| acquisition_policy | No | ||
| is_playright_required | No | is_playwright_required의 이전 오탈자 별칭. 둘 중 하나면 런치 경로를 탑니다. | |
| is_playwright_required | No | true면 eclass3 래퍼 URL이어도 ExternalTool LTI 런치로 처리합니다. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ok | No | ||
| status | No | ||
| file_id | Yes | ||
| message | No | ||
| skipped | No | ||
| strategy | No | ||
| retryable | No | ||
| error_code | No | ||
| local_path | No | ||
| size_bytes | No | ||
| next_action | No | ||
| display_name | Yes | ||
| failure_kind | No | ||
| handoff_note | No |