Skip to main content
Glama

LMS 에서 사라진 강의자료 삭제

delete_materials
Destructive

Removes locally stored course materials that sync_materials reports as removed from LMS, requiring user approval and protecting modified files, links, and paths outside the save folder.

Instructions

sync_materials 가 removed 로 보고하는 파일(LMS 에서 사라진 강의자료)만 로컬에서 지운다. 실행할 때 다시 동기화해 대상을 정하고, 사용자가 클라이언트 확인 창에서 직접 승인해야 지운다. 받은 뒤 수정된 파일·링크·저장 폴더 밖 경로는 지우지 않는다. 확인 창이 없는 클라이언트면 목록과 confirmToken 을 돌려준다 — 사용자에게 목록을 보여주고 동의를 받은 뒤에만 그 토큰으로 다시 호출한다.

Input Schema

NameRequiredDescriptionDefault
pathsNosync_materials removed 의 path (또는 저장 위치 기준 상대 경로). 생략하면 보고된 파일 전부
courseNo과목명 일부 (대소문자 무시). 생략하면 수강 과목 전부
confirmTokenNo확인 창을 띄울 수 없는 클라이언트에서 첫 호출이 돌려준 일회용 확인 토큰. 사용자에게 목록을 보여주고 동의를 받은 뒤에만 넣는다

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A4.9/5.0
Behavior5/5

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

Goes well beyond the destructiveHint=true annotation: it discloses that targets are re-derived by re-syncing at execution time, that a client-side confirmation dialog must be approved by the user, and that headless clients get a list plus a one-time confirmToken. It also names the safety boundary (no modified files, links, or out-of-root paths), which is exactly the behavioral detail an agent needs before invoking a destructive tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The destructive scope is front-loaded in the first clause, followed by the confirmation flow and then the safety exclusions. Four sentences, each carrying non-redundant information, with no filler.

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?

For a destructive, open-world, non-idempotent tool with no output schema, the description covers everything an agent needs: target derivation, approval requirements, the headless fallback and its returned token, and the protected-file boundary. Annotations and the 100%-covered schema handle the rest.

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 baseline is 3; the description earns extra by clarifying that 'paths' is only a filter because targets are recomputed via re-sync, and by explaining the confirmToken round-trip (first call returns it, call again only after user consent). It does not describe the 'course' filter at all, leaving that to the schema.

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 (deletes locally) and a precisely scoped resource (only files sync_materials reports as removed). It also anchors the tool to its sibling sync_materials, so an agent can tell this apart from the sync/read tools without opening a schema.

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?

Gives an explicit precondition ('only files reported as removed'), explicit exclusions (modified-after-download files, links, paths outside the storage folder are not deleted), and a two-path invocation protocol. There is no competing delete tool among the siblings, so the exclusions serve as the when-not guidance.

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