Skip to main content
Glama

Plan a content check

plan_content_check

Use this when the user wants FlareWarden to watch what a page of their site says or shows: that a text or button is there, an error message is not, a price stays in a range, or the page changes. Returns the check tried against the live page right now (passes or not) and where the page holds its text, or the automatic checks that hold there when no check is named; any check of the site that already looks for the same text; its cost in monitors against the room the plan has left; and the decisions to put to the user: how serious a failure is and how often to check. Saves the plan and changes nothing in the account. Not for whether the site is up: plan_site watches that.

Input Schema

NameRequiredDescriptionDefault
maxNoFor numeric_range or element_count: the highest value allowed.
minNoFor numeric_range or element_count: the lowest value allowed.
nameNoA name for the check.
pageNoThe page's path on the site, such as /pricing; the home page by default.
siteNoThe site, by id, name or part of its URL.
textNoThe text (or, for regex, the pattern) the check looks for.
answersNoThe user's answers, by decision id: check, severity, interval, name.
plan_idNoAn earlier plan_content_check plan, to change it or answer its decisions.
selectorNoA CSS selector narrowing where to look, such as #buy-button (no :has()); an empty string clears it. A plan of a text with no selector lists each place the page shows it, with a selector for each; a failing selector shows what it holds and where the page shows the text; a plan with neither, or whose text or selector finds nothing, outlines the page: its headings with the buttons and links under each.
attributeNoFor attribute_check: the attribute to read.
check_typeNoWhat to check.
case_sensitiveNoMatch the text's case exactly.
accept_recommendedNoTrue when the user asked FlareWarden to choose.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior4/5

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

Adds real provenance beyond the annotations: the check is evaluated against the live page at plan time, similar existing checks are surfaced, monitor cost is compared to remaining quota, and open decisions are returned for the user. 'Saves the plan and changes nothing in the account' correctly reconciles with readOnlyHint=false/destructiveHint=false. Idempotency and any auth requirements are unaddressed.

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-loaded correctly with the trigger condition, but the return-value sentence is a five-clause semicolon run-on ('...or the automatic checks that hold there when no check is named; any check of the site...; its cost in monitors...; and the decisions...') that is hard to parse on one pass. Length is defensible given 13 params and no output schema, but the packaging costs readability.

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 13 parameters, no required params, and no output schema, the description carries the full burden of explaining returns — and it does: pass/fail of the live trial, text locations, automatic checks when none is named, duplicate-check detection, quota cost, and outstanding decisions. An agent has enough to select and call it correctly.

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 100%, including a very thorough selector description and an enum for check_type, so the schema already carries the parameter burden. The description adds only partial meaning — the severity/interval/name decision ids behind `answers` are hinted at ('the decisions to put to the user: how serious a failure is and how often to check') but no parameter is explained directly. Baseline 3 applies.

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 object ('plan/watch what a page says or shows') and enumerates the concrete check families (text/button presence, error absence, price range, change detection). It explicitly distinguishes itself from the nearest sibling: 'Not for whether the site is up: plan_site watches that.'

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?

'Use this when the user wants FlareWarden to watch...' gives a clear triggering condition, and the closing clause rules out plan_site. It also covers the revise path ('plan_id ... to change it or answer its decisions') and the delegate path ('accept_recommended'). What it omits is routing to add_content_check for actually creating the check — the plan/apply relationship is implied by 'Saves the plan and changes nothing in the account' but never named.

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