Skip to main content
Glama

card_attachment_upload

Upload a server-local file to a Trello card as an attachment, restricted to the configured upload root. Use it to attach files by path; use URL attachments for public links.

Instructions

Read a server-local file inside TRELLO_ATTACHMENT_UPLOAD_ROOT and transmit its contents to Trello as a new card attachment. Disabled unless that root is configured; repeated uploads can create duplicates. Use card_attachment_add_url for public links.

Input Schema

NameRequiredDescriptionDefault
nameNoOptional Trello display name for the uploaded attachment.
cardIdYesTrello card id, short link, or Trello card URL.
filePathYesServer-side file path to upload. Relative paths resolve inside TRELLO_ATTACHMENT_UPLOAD_ROOT; absolute paths must also be inside that root.
mimeTypeNoOptional MIME type to send for the uploaded file.
setCoverNoWhether Trello should make this uploaded attachment the cover.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.4

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations provided, the description carries the behavioral burden well: it discloses the server-local root restriction, the disabled state when the root is missing, and the duplicate-upload side effect. It does not cover authentication or permission requirements, but the key operational caveats for this upload action are present.

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 short sentences, front-loaded with the core action, then constraints and the alternative. There is no wasted language.

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

Completeness4/5

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

For a five-parameter upload tool with no annotations or output schema, the description covers the critical selection and invocation context: root restriction, disabled state, duplicate risk, and the URL alternative. It does not describe the response or permission requirements, but the main behavioral constraints an agent needs are present.

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 100%, so the schema already documents all five parameters, including the root-path behavior for filePath. The description reinforces that files must be server-local and inside TRELLO_ATTACHMENT_UPLOAD_ROOT, but adds little parameter-level meaning beyond 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?

The description uses a specific verb and resource: reading a server-local file and transmitting it to Trello as a new card attachment. It also distinguishes itself from the sibling URL-based attachment tool, so an agent can identify the correct tool without inspecting schemas.

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?

It explicitly states the alternative for public links: use card_attachment_add_url instead. It also provides the prerequisite that the tool is disabled unless TRELLO_ATTACHMENT_UPLOAD_ROOT is configured and warns that repeated uploads can create duplicates.

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