Skip to main content
Glama

Add a photo to my library

add_photo
Idempotent

Use this when the signed-in owner gives you a photo of their business (their food, products, place or team) for Suara to use in their posts. Pass the photo uploaded in the chat, or a public https link to the image file. It goes into their photo library, where the Suara team picks photos for their posts; nothing is posted. The same photo twice is kept once.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "add_photo"
  }
}

Input Schema

NameRequiredDescriptionDefault
urlNoOr a public https link straight to the image file
noteNoWhat it shows or how to use it, optional, in the owner's words
photoNoA photo uploaded in the chat

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.3/5.0
Behavior4/5

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

Beyond the annotations, it discloses the lifecycle (goes into the library, team selects, nothing published) and a deduplication rule, which is consistent with idempotentHint=true and clarifies that this write is non-destructive. It stops short of stating what a successful call returns or what happens with an invalid or non-public URL.

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?

Four short sentences, front-loaded with the usage trigger and followed by accepted inputs, destination, and dedupe behavior in that order. Slight redundancy between 'for Suara to use in their posts' and 'where the Suara team picks photos for their posts,' but nothing is wasted enough to impede use.

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 three-parameter, no-output-schema tool, the definition covers purpose, inputs, storage destination, and dedupe behavior. The only meaningful gap is what the caller gets back on success or on a rejected link, which an agent may want to know before confirming to the owner.

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 already 100%, so the baseline is 3, but the description adds real meaning by framing 'photo' and 'url' as alternative input modes (uploaded-in-chat vs. public https link) — an either/or relationship the flat schema does not express. The optional 'note' parameter is left to the schema, which is acceptable.

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?

The description names a specific verb and resource (add a photo to the owner's photo library) and scopes the input types precisely: a photo uploaded in chat or a public https link to the image file. It also states the downstream destination (the Suara team picks from the library), which distinguishes it from posting-related siblings like approve_post or make_sample_posts.

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?

It gives an explicit trigger condition ('when the signed-in owner gives you a photo of their business') and enumerates the two accepted input routes. It does not name a sibling tool or a when-not-to-use case, but the 'nothing is posted' clause heads off the most likely confusion with the posting tools.

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