Skip to main content
Glama

Change a monitor's settings

update_check_settings
DestructiveIdempotent

Change a monitor's own settings. Each monitor takes only its sections (get_check lists them as editable.sections): checkout (checkout monitors), devices (flow and page monitors), errorScan, brokenLinks, accessibilityPages (accessibility), uptime (the URL, text that must / must not appear, accepted statuses, timeout, alert after N minutes, maintenance windows, an API endpoint's method / body / JSON rules), aiOutput, browseUrl (storefront), shopUrl / productUrl (prices), dkimSelectors (email authentication), structurePages (structure drift), webVitalsDevices (Core Web Vitals). Every address must be a full URL on the site's own domain. A section you pass replaces that section; the rest stays. Turning it on or off and its schedule: update_check. The visual monitor: update_visual_monitor.

Input Schema

NameRequiredDescriptionDefault
uptimeNoUptime: what the probes check and when they alert. The whole section is replaced: fields left out go back to their defaults (except maintenance, kept unless sent)
checkIdYesThe monitor's id
devicesNoFlow and page monitors
shopUrlNoPrices: the shop page
aiOutputNoThe site's own AI feature: its endpoint (full URL on the site), a fixed prompt, and what the answer must (not) contain
checkoutNoCheckout monitors
browseUrlNoStorefront: the shop page (blank = the calibrated one)
errorScanNoExtra pages to scan (full URLs on the site) and error texts to ignore
productUrlNoPrices: a sample product
brokenLinksNoExtra pages to crawl, address fragments to skip, and whether external links are checked too
dkimSelectorsNoEmail authentication: your mail provider's DKIM selectors (up to 10)
structurePagesNoStructure drift: pages to fingerprint
webVitalsDevicesNoCore Web Vitals: devices to measure
accessibilityPagesNoAccessibility: extra pages to test on top of the key pages (full URLs on the site, up to 20). A new page's issues are reviewed on its first scan, not failed

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed30 schema fields changed
    • addedInput schema / properties / aiOutput / properties / bodyTemplate / description
      Added value: +"POST body as JSON; {{prompt}} is replaced with the prompt. Default {\"prompt\":\"{{prompt}}\"}"
    • addedInput schema / properties / aiOutput / properties / endpoint / description
      Added value: +"The AI feature's endpoint Relvato calls: a full URL on the site"
    • addedInput schema / properties / aiOutput / properties / golden / description
      Added value: +"Optional: a good answer to compare with; Relvato AI flags a big drop in how close the reply is"
    • addedInput schema / properties / aiOutput / properties / maxLatencyMs / description
      Added value: +"Warn when the answer takes longer than this, in milliseconds"
    • addedInput schema / properties / aiOutput / properties / method / description
      Added value: +"HTTP method (default POST)"
    • addedInput schema / properties / aiOutput / properties / minLength / description
      Added value: +"Warn when the answer is shorter than this many characters"
    • addedInput schema / properties / aiOutput / properties / mustExclude / description
      Added value: +"The answer must contain none of these, e.g. \"error\" or an apology (case-insensitive)"
    • addedInput schema / properties / aiOutput / properties / mustInclude / description
      Added value: +"The answer must contain every one of these (case-insensitive)"
    • addedInput schema / properties / aiOutput / properties / prompt / description
      Added value: +"The fixed prompt sent every run (keeping it the same is what makes a regression show)"
    • addedInput schema / properties / aiOutput / properties / responsePath / description
      Added value: +"Dot path to the answer text in the JSON reply, e.g. \"reply\" or \"choices.0.message.content\" (blank = the whole reply)"
    • addedInput schema / properties / brokenLinks / properties / checkExternal / description
      Added value: +"Also check links to other sites"
    • addedInput schema / properties / brokenLinks / properties / ignore / description
      Added value: +"Address fragments to skip (a link containing one isn't checked)"
    • addedInput schema / properties / brokenLinks / properties / urls / description
      Added value: +"Extra pages to crawl, full URLs on the site"
    • addedInput schema / properties / checkout / properties / coupon / description
      Added value: +"Apply a coupon at checkout and check the outcome (null removes it)"
    • addedInput schema / properties / checkout / properties / coupon / properties / code / description
      Added value: +"The coupon code"
    • addedInput schema / properties / checkout / properties / coupon / properties / expect / description
      Added value: +"What should happen: applies (default) or rejected"
    • addedInput schema / properties / checkout / properties / expect / properties / total / description
      Added value: +"The order total, in the store's currency"
    • addedInput schema / properties / checkout / properties / expect / properties / total / properties / equals / description
      Added value: +"Exactly this"
    • addedInput schema / properties / checkout / properties / expect / properties / total / properties / max / description
      Added value: +"At most this"
    • addedInput schema / properties / checkout / properties / expect / properties / total / properties / min / description
      Added value: +"At least this"
    • addedInput schema / properties / checkout / properties / fieldAnswers / items / properties / match / description
      Added value: +"The field's label, name or id (case- and accent-insensitive)"
    • addedInput schema / properties / checkout / properties / fieldAnswers / items / properties / value / description
      Added value: +"What to enter in it"
    • addedInput schema / properties / checkout / properties / paymentMethod / description
      Added value: +"Order mode: how the test order is paid — cod (cash on delivery, the default) or free (a 100%-off coupon zeroes the total, for card-only stores)"
    • addedInput schema / properties / checkout / properties / shipping / description
      Added value: +"Shipping at checkout: which method to pick, and whether one must be offered (null turns this off)"
    • addedInput schema / properties / checkout / properties / shipping / properties / method / description
      Added value: +"A shipping method to select, by its label or id (blank = whatever the store picks)"
    • addedInput schema / properties / checkout / properties / shipping / properties / require / description
      Added value: +"Fail when no shipping method is offered (default true)"
    • addedInput schema / properties / errorScan / properties / ignore / description
      Added value: +"Error texts to ignore (a match anywhere in the message)"
    • addedInput schema / properties / errorScan / properties / urls / description
      Added value: +"Extra pages to scan, full URLs on the site"
    • addedInput schema / properties / uptime / properties / json / items / properties / op / description
      Added value: +"How the value at path is tested: equals / not-equals / contains value, exists / missing (no value needed), lt / gt a number"
    • addedInput schema / properties / uptime / properties / maintenance / items / properties / kind / description
      Added value: +"once: one window (from, to); weekly: a repeating one (days, start, minutes, tz)"
  2. Changed3 schema fields changed
    • addedInput schema / properties / uptime / properties / body
      Added value: +{
      +  "description": "POST only: the request body (sent as JSON when it parses as JSON; up to 2,000 characters). No custom headers or secrets",
      +  "type": "string"
      +}
    • addedInput schema / properties / uptime / properties / json
      Added value: +{
      +  "description": "Rules on a JSON answer (up to 10; down when any fails): the value at `path` (\"status\", \"checks.db.ok\", \"items[0].id\") tested with `op` against `value`",
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "op": {
      +        "enum": [
      +          "equals",
      +          "not-equals",
      +          "contains",
      +          "exists",
      +          "missing",
      +          "lt",
      +          "gt"
      +        ],
      +        "type": "string"
      +      },
      +      "path": {
      +        "description": "Dot path into the JSON answer",
      +        "type": "string"
      +      },
      +      "value": {
      +        "description": "What to compare with (a number for lt / gt; not needed for exists / missing)",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "path",
      +      "op"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / uptime / properties / method
      Added value: +{
      +  "description": "API endpoints: the request method (default GET)",
      +  "enum": [
      +    "GET",
      +    "HEAD",
      +    "POST"
      +  ],
      +  "type": "string"
      +}
  3. Changed2 schema fields changed
    • changedInput schema / properties / uptime / description
      Previous value: -"Uptime: what the probes check and when they alert. The whole section is replaced: fields left out go back to their defaults"New value: +"Uptime: what the probes check and when they alert. The whole section is replaced: fields left out go back to their defaults (except maintenance, kept unless sent)"
    • addedInput schema / properties / uptime / properties / maintenance
      Added value: +{
      +  "description": "Maintenance windows (up to 10): no uptime alerts and no Uptime run inside them, and an outage that starts inside one counts as downtime only after it ends. Left out = keep the saved windows; [] clears them. A new one-off window can't start in the past",
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "days": {
      +        "description": "weekly: weekdays, 0 = Sunday … 6 = Saturday",
      +        "items": {
      +          "type": "number"
      +        },
      +        "type": "array"
      +      },
      +      "from": {
      +        "description": "once: start, ISO 8601 with a time zone",
      +        "type": "string"
      +      },
      +      "kind": {
      +        "enum": [
      +          "once",
      +          "weekly"
      +        ],
      +        "type": "string"
      +      },
      +      "minutes": {
      +        "description": "weekly: length in minutes (5-720)",
      +        "type": "number"
      +      },
      +      "note": {
      +        "description": "Optional label, e.g. \"Host migration\"",
      +        "type": "string"
      +      },
      +      "start": {
      +        "description": "weekly: local start time, HH:MM",
      +        "type": "string"
      +      },
      +      "to": {
      +        "description": "once: end, ISO 8601 (at most 7 days after the start)",
      +        "type": "string"
      +      },
      +      "tz": {
      +        "description": "weekly: IANA time zone, e.g. Europe/Bucharest",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "kind"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
  4. Changed1 schema field changed
    • addedInput schema / properties / uptime
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Uptime: what the probes check and when they alert. The whole section is replaced: fields left out go back to their defaults",
      +  "properties": {
      +    "absentText": {
      +      "description": "Down if the page contains this text",
      +      "type": "string"
      +    },
      +    "alertAfterMin": {
      +      "description": "Minutes down before alerting (0-60, default 0 = as soon as both regions confirm)",
      +      "type": "number"
      +    },
      +    "expectText": {
      +      "description": "Down if the page doesn't contain this text",
      +      "type": "string"
      +    },
      +    "maxResponseMs": {
      +      "description": "The monitor's run warns above this response time (500-30000, default 8000); not counted as down",
      +      "type": "number"
      +    },
      +    "okStatuses": {
      +      "description": "Accepted status codes, e.g. \"200-299, 301\" (blank = any non-error answer)",
      +      "type": "string"
      +    },
      +    "timeoutSec": {
      +      "description": "Down if there's no answer within this many seconds (5-30, default 15)",
      +      "type": "number"
      +    },
      +    "url": {
      +      "description": "Page to check (full URL on the site; blank = the homepage)",
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  5. Changed1 schema field changed
    • changedInput schema / properties / checkout / properties / depth / description
      Previous value: -"\"ready\" stops at the payment step; \"order\" places a REAL test order (cleaned up by the WordPress plugin)"New value: +"\"ready\" stops at the payment step; \"order\" places a REAL test order (the WordPress plugin marks it, keeps it out of stock, analytics and ad platforms, and removes it)"
  6. Changed1 schema field changed
    • addedInput schema / properties / accessibilityPages
      Added value: +{
      +  "description": "Accessibility: extra pages to test on top of the key pages (full URLs on the site, up to 20). A new page's issues are reviewed on its first scan, not failed",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
  7. Added

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false and idempotentHint=true, so the safety profile is covered. The description adds genuinely non-obvious behavior: per-section replace semantics ("A section you pass replaces that section; the rest stays") and the full-URL-on-own-domain constraint. It omits error/auth behavior, keeping it short of a 5.

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?

Purpose is front-loaded and the closing sentences efficiently hand off to the sibling tools. The middle is one very long, hard-to-parse sentence enumerating every section with parenthetical detail, which slightly hurts scannability, but for a 14-parameter tool the length is largely earned.

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?

Given 14 params, nested objects, and no output schema, the description supplies what the schema cannot: section-to-monitor applicability, replace semantics, and destination for related fields. It does not cover failure modes or validation errors, so it is strong but not exhaustive.

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 meaning the schema cannot: it maps each section parameter to the monitor types that accept it and clarifies that sections are replaced wholesale. That is real semantic value beyond per-property descriptions.

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 ("Change a monitor's own settings") and immediately distinguishes itself from siblings by naming update_check (on/off and schedule) and update_visual_monitor (the visual monitor). An agent can route without opening any 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?

Explicitly names the alternatives and the conditions that select them, plus a per-monitor-type applicability rule ("Each monitor takes only its sections ... checkout (checkout monitors), devices (flow and page monitors)", etc.). This is routing guidance, not implied usage.

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