Skip to main content
Glama

Update a site's settings (write)

update_site

WRITE: updates a site — the fields plan tasks of change.type "config" ask for (their change.content is this tool's input): checkout_url, checkout_steps, test_account { login_url, email, password } (stored encrypted; the response echoes it without the password), name (the merchant name in generated legal copy), platform, jurisdictions, monitoring_interval_minutes, protection_level (minimum = legal floor only; balanced = + recommended suggestions, the default; maximum = + extras; only required items ever affect compliance). The response is the site; check checkout.url / checkout.test_account to confirm. Then verify_task the task that asked for it.

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": "update_site"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameNoMerchant / brand name (used in generated disclosures).
siteNoSite id (site_…). Optional when the account has exactly one site in this mode; list_sites shows them.
platformNo
checkout_urlNoPage with the Subscribe / Buy button.
test_accountNoA TEST subscriber account the scanner logs in with to try cancelling online (echoed back without the password).
jurisdictionsNo
checkout_stepsNoSteps to reach the purchase button (clicks / fills), as in the API.
protection_levelNoWhich tiers the plan lists: minimum (required only), balanced (default: + recommended suggestions), maximum (+ extras). Ask the human before changing it.
monitoring_interval_minutesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / test_account / description
      Previous value: -"A TEST subscriber account the scanner logs in with to try cancelling online."New value: +"A TEST subscriber account the scanner logs in with to try cancelling online (echoed back without the password)."
    • addedInput schema / properties / test_account / properties / reactivate_url
      Added value: +{
      +  "description": "Test-only page that re-subscribes the test account.",
      +  "maxLength": 2048,
      +  "type": "string"
      +}
  2. First observed

TDQS

A4/5.0
Behavior4/5

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

Goes meaningfully beyond the annotations by disclosing that test_account is stored encrypted, that the response echoes it back without the password, that the response is the site, and which fields to check to confirm the write. The remaining gap is merge/patch semantics — with zero required parameters, an agent cannot tell whether omitted fields are left intact or cleared, which matters for a non-idempotent write.

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

Conciseness3/5

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

Front-loads the write semantics, which is good, but the second sentence is a single bloated run-on with deeply nested parentheticals that is hard to parse. Some of the field-by-field enumeration duplicates the schema and could be trimmed in favor of the behavioral facts.

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 9-parameter write tool with a nested object and no output schema, the description does the heavy lifting on the return value ("The response is the site") and verification path, which is exactly what an output-schema-less tool needs. It could be more complete about partial-update behavior and the effect of monitoring_interval_minutes = 0.

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 a moderate 67%, and the description largely restates what the schema already says (protection_level tiers, test_account echoed without password, name used in disclosures) rather than adding new meaning. It adds framing about which parameters come from a task's change.content, but no value constraints or interaction rules 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?

Starts with an explicit "WRITE: updates a site" verb+resource statement and then enumerates exactly which fields the tool touches (checkout_url, checkout_steps, test_account, name, platform, jurisdictions, monitoring_interval_minutes, protection_level). It also explains the provenance of the input (plan tasks with change.type "config", whose change.content is this tool's input), which cleanly separates it from create_site and update_setup.

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 clear contextual guidance: use it when a config task asks for these fields, then "verify_task the task that asked for it" — an explicit follow-up an agent would otherwise miss. It lacks an explicit when-not-to-use rule (e.g. use create_site when no site exists) and doesn't name the alternative sibling, so it falls short of a 5.

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.