Skip to main content
Glama

Upload image

spur_upload_image
Read-onlyIdempotent

Show an upload box where the user picks or drops an image from their device (logo, headshot, property photo); it's saved to their Spur image library. Use this whenever the user wants to use their own image, including one they attached to the chat: attachments don't reach Spur, so ask them to drop it into the box. After uploading, the user can click "Use this image", or call spur_list_images to get the URL.

Input Schema

NameRequiredDescriptionDefault
purposeNoWhat the image is for, shown to the user, e.g. 'Logo for the postcard back'

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.5/5.0
Behavior1/5

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

The annotations declare readOnlyHint=true, but the description says the uploaded image is saved to the user's Spur image library, which is a mutating side effect. This directly contradicts the read-only annotation and misrepresents the tool's behavioral profile.

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, starting with what the tool does and following with when to use it and what happens afterward. Three sentences, no waste, and each sentence adds distinct value.

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 that there is no output schema and only one optional parameter, the description is complete enough to guide correct invocation. It explains the user interaction, the attachment caveat, and the post-upload path via either the UI or spur_list_images.

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 single purpose parameter is already documented by the schema. The description adds useful examples of what the image might be used for, but does not add parameter-level semantics beyond the schema.

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?

The description states a specific action and resource: showing an upload box for an image that is saved to the Spur image library. It distinguishes itself from spur_list_images, but it does not clarify how it differs from sibling tools like spur_save_image or spur_save_uploaded_image.

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?

The description gives clear guidance on when to use the tool, including the important caveat that chat attachments do not reach Spur and must be dropped into the box. It names spur_list_images as a follow-up alternative, but does not explicitly address when to use this versus save_image or save_uploaded_image.

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.

Resources