Skip to main content
Glama

Add photos

owner_photos

Only for business owners signed in to Awning. Save photos for the business page using supported chat attachments in files or downloadable image links in urls. Called with nothing, returns an upload widget where supported and upload_url as a fallback. The response lists the photos the page has now in current, with photo_id for owner_remove_photos. Use the owner's own photos of the actual place first. If they have none or want more, offer to generate illustrations with your own image tools using photo_prompts from owner_setup or owner_photos: they follow Awning's house style so the page matches the rest of the site. Let the owner approve every picture before importing it, and pass ai_generated: true for generated ones — the page then presents them as illustrations, never as the real premises. Explain any cost or plan limit of the assistant's image tools before using them; Awning does not generate or bill for images. Import only downloadable image URLs or supported attachment links; never invent a URL or send a local file path. If attachments cannot be transferred, return the upload link. Mark photos_done only after successful uploads and the owner says they are finished; resolve failed uploads first. Use it to add or list photos; to take photos off use owner_remove_photos.

Input Schema

NameRequiredDescriptionDefault
urlsNoDownloadable image addresses (at most 10). Never invent one.
filesNoImage attachments from the chat, as the host provides them
draft_idNoWhich business being set up gets the photos, when there are several
business_idNoWhich business, when the owner runs several: business_id from owner_status. Leave out when there is only one.
ai_generatedNoTrue when the pictures were generated rather than photographed; they are then shown as illustrations

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • changedInput schema / properties / business_id / description
      Previous value: -"Only needed if you manage several businesses"New value: +"Which business, when the owner runs several: business_id from owner_status. Leave out when there is only one."
    • addedInput schema / properties / files / description
      Added value: +"Image attachments from the chat, as the host provides them"
    • addedInput schema / properties / files / items / properties / download_url / description
      Added value: +"Where Awning can download the attachment"
    • addedInput schema / properties / files / items / properties / file_id / description
      Added value: +"The host's id of the attachment"
    • addedInput schema / properties / urls / description
      Added value: +"Downloadable image addresses (at most 10). Never invent one."
  2. Changed1 schema field changed
    • addedInput schema / properties / ai_generated
      Added value: +{
      +  "description": "True when the pictures were generated rather than photographed; they are then shown as illustrations",
      +  "type": "boolean"
      +}
  3. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations (readOnly=false, openWorld=true, idempotent=false, destructive=false) only sketch the write profile; the description adds the zero-argument upload-widget behavior, the upload_url fallback, the response shape (current with photo_id), the semantic effect of ai_generated (shown as illustrations, never as real premises), and failure handling (resolve failed uploads before photos_done). It also names the one hard prohibition: never invent a URL or send a local file path.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Nearly every sentence carries procedural weight, and the audience restriction and core save/list behavior are front-loaded. It is dense to the point of overload, though: generation policy, cost disclosure, error recovery, and the photos_done gate are packed into one unbroken block, and the list-photos fallback sits mid-paragraph rather than being surfaced early.

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?

With five optional parameters, no output schema, and mutations involved, the description covers what is missing elsewhere: the return value (upload widget, upload_url, or the current photo list), the ownership/sign-in prerequisite, and the failure path. Nothing an agent needs to call this correctly is absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description still adds meaning beyond the schema by constraining urls to downloadable image addresses with a never-invent rule and supported attachment links for files, and by explaining that ai_generated changes how the page presents the images. It does not address the draft_id vs business_id distinction, which is left entirely to 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?

Opens with a specific verb+resource and an audience gate ("Only for business owners signed in to Awning"), then states the dual behavior: saves photos and, when called with nothing, returns an upload widget plus the current photo list. The final sentence explicitly separates it from owner_remove_photos, so the agent can route 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 explicit when-to-use and when-not ("to take photos off use owner_remove_photos"), a preference ordering (owner's own photos of the actual place first, generated illustrations only if none or more wanted), a prerequisite flow (owner must approve each picture; explain image-tool cost first), and a completion gate (mark photos_done only after successful uploads).

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