Skip to main content
Glama
rafadepaula

@rafadepaula/clickup-mcp

by rafadepaula

clickup_request_attachment_upload

Get short-lived upload details to attach a local file of any size to a ClickUp task, then follow the returned URL, method, and field name to upload it with a native HTTP client.

Instructions

Get short-lived, structured upload details (upload URL, ticket, HTTP method, and multipart field name) to attach a LOCAL file (any size) to a task; follow the returned instructions to upload it with a native HTTP client. For small base64 payloads or web URLs, use attach_task_file instead.

Input Schema

NameRequiredDescriptionDefault
task_idYesTask ID (supports custom IDs like 'DEV-1234')
file_nameNoOptional file name override (include the extension). Defaults to the local file's own name.
workspace_idNoWorkspace ID (digits only). Only needed when you have multiple workspaces.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the burden and does disclose key traits: the credentials are short-lived, the tool does not perform the upload itself (the caller must 'follow the returned instructions to upload it with a native HTTP client'), and there is no size ceiling ('any size'). It stops short of stating how long the ticket lives, whether the attachment is auto-registered on the task after upload, or any permission/auth requirements, which are meaningful gaps for a two-step mutation flow.

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?

Two sentences, both load-bearing: the first front-loads the returned payload shape (valuable because there is no output schema), the second handles routing. The parenthetical listing the four returned fields is dense but earns its space by substituting for a return-value schema.

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 tool with no annotations and no output schema, the description does the heavy lifting by enumerating the returned fields and describing the required follow-up HTTP step. It is missing only edge-case guidance such as ticket expiry duration, failure recovery if the upload times out, and whether the caller must confirm the attachment afterward.

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% and each parameter already carries its own description, including the custom-ID support and the file_name default behavior. The description adds no parameter-level detail beyond the local-file framing, so the 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 ('get short-lived, structured upload details') and enumerates exactly what is returned (upload URL, ticket, HTTP method, multipart field name). It also explicitly scopes the operation to LOCAL files and names the sibling it is not (attach_task_file), so an agent can distinguish it without opening either 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 when-to-use condition ('attach a LOCAL file (any size) to a task') and an explicit when-not with the correct alternative named ('For small base64 payloads or web URLs, use attach_task_file instead'). No inference is required to route between the two attachment tools.

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

Deploy Server

Other Tools