Skip to main content
Glama

Save image from URL

spur_save_image

Download an image from a public https URL (the user's website, a shared photo link) and save it to the user's Spur image library, so it stays available for printing and sending. Returns the saved image's URL. JPG, PNG, WebP, GIF or SVG, up to 20 MB. For a file on the user's device, use spur_upload_image instead. Only save images the user provided or asked for.

Input Schema

NameRequiredDescriptionDefault
urlYesPublic https URL of the image
filenameNoName to save it under, e.g. 'acme-logo'

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Adds real context beyond the annotations: accepted formats (JPG, PNG, WebP, GIF, SVG), a 20 MB size cap, https-only sourcing, and the fact that it returns the saved image's URL — useful since there is no output schema. It does not address duplicate handling when the same URL or filename is saved twice, which matters given idempotentHint=false.

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?

Front-loads the action and destination, then layers the constraints, the alternative sibling, and the safety guardrail. Every sentence carries distinct information with no repetition of the title.

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?

Complete for a two-parameter mutation: source restrictions, format/size limits, return value, and the sibling alternative are all present. The gap is overwrite/dedup behavior on repeated saves and what happens if the fetch fails (private URL, oversized file), which an agent calling a network-dependent write would want.

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 both parameters are already documented ('Public https URL of the image', filename example). The description reinforces the https/public constraint but adds no new information about url syntax or how filename affects the save. 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 + resource + source (download an image from a public https URL) and a specific destination (the user's Spur image library), plus why it matters (stays available for printing and sending). This clearly separates it from spur_upload_image, spur_save_uploaded_image, and spur_list_images.

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 explicit routing guidance: 'For a file on the user's device, use spur_upload_image instead,' and an eligibility guardrail ('Only save images the user provided or asked for'). Slightly incomplete because the sibling set also contains spur_save_uploaded_image, whose relationship to this tool (post-upload save vs. URL fetch) is never explained.

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