Skip to main content
Glama

Create Basecamp Attachment

basecamp_create_attachment

Upload a local file or public URL to Basecamp and get an attachable_sgid for embedding images or videos in messages, comments, documents, cards, or todos.

Instructions

Upload a file to Basecamp and get the attachable_sgid needed to embed it in rich text. Use this when you want to show an image or a video in a message, comment, document, card or todo, and that file is not in Basecamp yet — for example an image at an external URL, or a screenshot on disk. Give either file_path or url. The returned sgid goes into a tag. An sgid is tied to this account and does not expire, but it is only shown once here, so embed it in the same session.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlNoURL of a file to download and then upload to Basecamp. The URL must be publicly readable. Give either this or file_path.
nameNoFilename to store in Basecamp, with its extension (e.g. "before-after.png"). Defaults to the last part of file_path or url. Basecamp shows this name as the caption when the attachment has no caption attribute.
file_pathNoAbsolute path of a local file to upload. Give either this or url.
content_typeNoMIME type of the file (e.g. "image/png"). Defaults to a type inferred from the filename.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.3.0

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already declare readOnly=false, openWorld=true, idempotent=false, and destructive=false, but the description adds critical behavior beyond them. It explains that the returned sgid is account-bound and does not expire, yet is shown only once and must be embedded in the same session. That ephemeral-output caveat is exactly the kind of operational detail an agent cannot infer from annotations or schema.

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 description is front-loaded with what the tool does and why, then moves to usage, parameter choice, and the critical sgid caveat. Every sentence earns its place. There is no redundant restatement of the name or title.

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?

Given four fully documented parameters, no output schema, and non-contradictory annotations, the description covers what an agent needs: when to call it, how to supply the file, and how to use the returned sgid. The only missing piece, return-value structure, is addressed functionally by explaining the sgid and embedding tag.

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 all four parameters are already documented in the input schema. The description only reinforces the file_path/url mutual exclusion and mentions the returned sgid's tag format. It adds little parameter-level meaning beyond what the schema already provides, so the baseline of 3 is appropriate.

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 Basecamp and get an attachable_sgid. It clearly distinguishes this from read/list attachment siblings by explaining the create-and-embed workflow. The output sgid is named, making the tool's purpose unambiguous.

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?

Gives clear when-to-use guidance: showing an image or video in a message, comment, document, card, or todo when the file is not already in Basecamp. It includes concrete examples (external URL, screenshot on disk) and an implicit when-not condition. It does not name alternative sibling tools, so it stops short of explicit alternative routing.

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