Skip to main content
Glama

PLATO MCP

add_private_file

Destructive

Upload a file to this account's Moodle private files area. IRREVERSIBLE once dry_run=False -- no delete tool exists for private files yet, so this permanently adds the file until the user removes it via PLATO's own UI. Only works when this server is running locally (stdio).

    Call with dry_run=True (default) first, show the preview to the
    user, and only call again with dry_run=False after they explicitly
    confirm.
    

Input Schema

NameRequiredDescriptionDefault
dry_runNoIf True (default), only preview the upload without doing it. Call again with dry_run=False (same parameters) to actually upload it.
file_pathYesLocal file path to upload.

Output Schema

NameRequiredDescriptionDefault
dry_runYes
messageYes
previewYes
executedYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

The annotations already flag destructive/non-idempotent, but the description adds context the agent cannot get elsewhere: the operation is irreversible, no delete tool exists for private files, removal requires PLATO's UI, and the tool is local-only. That is exactly the extra behavioral context annotations cannot convey.

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 irreversibility warning, then the workflow, then the environment constraint – a sensible priority order. Slightly verbose with some repetition between the description's dry_run instructions and the schema's own dry_run description.

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?

An output schema exists so return values need not be explained, and the description covers the remaining risk surface: irreversibility, absence of a delete path, confirmation protocol, and the local-execution requirement. Complete for a destructive single-upload tool.

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%, so both parameters are already documented including dry_run's default and re-call semantics. The description reinforces the dry_run confirmation flow and notes to reuse 'same parameters', but adds little syntax or meaning beyond the schema – baseline 3 applies.

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 and resource ('Upload a file to this account's Moodle private files area'), scoped to private files, which distinguishes it from every sibling (which are read/list/quiz/forum tools). An agent knows immediately what this does and what it touches.

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 two-step procedure (dry_run=True first, show preview, then dry_run=False only after explicit user confirmation) and a hard precondition ('only works when this server is running locally (stdio)'). Nothing about when to invoke it is left to inference.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.