Skip to main content
Glama
alaverde

cpanel-mail-mcp

by alaverde

Guardar adjunto

save_attachment

Save an email attachment from a cPanel mailbox to an existing local directory using its message UID and index; the filename is sanitized for safe storage.

Instructions

Guarda un adjunto en un directorio local que ya exista. El índice sale de get_message. El nombre se sanea y no puede salir de ese directorio.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
uidYes
indexYes
mailboxNoRuta exacta de la carpeta, por ejemplo INBOX o INBOX.Trabajo
output_directoryYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.9/5.0
Behavior4/5

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

Annotations declare readOnlyHint=false and openWorldHint=true, so the write-to-filesystem nature is already flagged. The description adds genuinely useful behavior not in annotations: the directory must already exist, and the filename is sanitized so it cannot escape that directory (path-traversal protection). It omits error/return behavior but adds meaningful side-effect context.

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?

Three terse sentences, each earning its place: the action, the prerequisite/parameter source, and the safety guarantee. Front-loaded with the core action and no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, so the description should ideally state what is produced (e.g. saved file path) and what happens on failure. It covers the main hazard (directory existence, sanitization) but leaves the result and error behavior unspecified.

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 description coverage is only 25% (only mailbox documented), so the description must compensate. It explains the index source (get_message) and the output_directory constraint (must exist), which helps, but the uid parameter is never addressed and no format hints are given for the path parameters.

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?

States a specific verb+resource ('Guarda un adjunto en un directorio local'), and adds the key constraint that the directory must already exist. It also names the sibling get_message as the source of the index, giving partial sibling differentiation. It does not distinguish itself from the other siblings beyond that dependency.

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?

Explicitly states the prerequisite that the output directory must pre-exist and that the index is obtained from get_message, which effectively documents the required call sequence. No explicit when-not-to-use or alternative is given, but the usage context is clear.

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