Skip to main content
Glama

Website: Set photo

website_set_photo
Destructive

Put a photo the owner sent to the Telegram bot (an intake capture) into a block of their site, credited to the owner; default block is the hero. Goes live at once. Runs propose→confirm. CONFIRMATION: this tool is PROPOSED, never performed directly. You get status='confirmation_required' with an action_id and a plan_token, and the write happens only after confirm_action.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "capture_id": "<capture_id>"
    },
    "name": "website_set_photo"
  }
}

Input Schema

NameRequiredDescriptionDefault
blockNoWhich block: its id from website_publish_status, its type (hero, gallery, services, testimonials, team, contacts, footer…) or the owner's word for it (шапка, галерея, відгуки, послуги).
websiteNoSite id, name or subdomain. Optional when the workspace has one site.
capture_idYesThe intake capture's id.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Adds substantial behavior beyond the annotations: the write goes live at once, the tool is always proposed rather than executed, and the caller receives a status='confirmation_required' with an action_id and plan_token that must be passed to confirm_action. This qualifies the destructiveHint=true flag by explaining the two-phase gate, which annotations alone cannot convey.

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 purpose and default block are front-loaded in the first clause, followed by the live-immediately behavior and a clearly labeled CONFIRMATION block. Every sentence carries distinct information; nothing is redundant padding.

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?

For a 3-parameter mutation with a mandatory confirmation handshake and no output schema, the definition covers the trigger source, default target, immediacy, and the exact response fields needed to continue. An agent has everything required to call it and to know it must follow up with confirm_action.

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, but the description adds real meaning: the block parameter defaults to the hero when omitted, and the photo is credited to the owner. It does not elaborate on how capture_id relates to intake, but the default-value disclosure is genuinely beyond 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?

States a specific verb and resource ('Put a photo ... into a block of their site'), names the photo's source (an intake capture sent to the Telegram bot), the credit behavior, and the default target (hero). This distinguishes it clearly from siblings such as website_refresh_photos or website_add_reviews, which operate on other photo sources.

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 practical routing context: the block parameter can be omitted to default to the hero, and the website parameter is only needed when the workspace has more than one site. It also points to the confirm_action follow-up rather than leaving the agent to guess what to do with status='confirmation_required'. It does not explicitly say when to prefer this over other photo-related siblings, which keeps it at 4.

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