Skip to main content
Glama

Turn the accessibility widget on or off

set_widget_enabled
DestructiveIdempotent

Use this when the user asks to switch the Inclusify accessibility widget on or off for a site — turning it on after setup, or taking it down while something is investigated. WRITES to this website's Inclusify configuration — never to the site's code or theme: it sets whether the widget bundle served to that site renders the widget or does nothing. Takes effect within about a minute; the edge cache is purged as part of the change. The two directions are treated differently on purpose. Turning it ON is applied immediately and needs no confirmation. Turning it OFF removes a live accessibility feature from real visitors of that site, so it REQUIRES CONFIRMATION — call without "confirm" first, show the user the preview, and only call again with the token once they have agreed — and the account owner is emailed a record of it with a link to undo it. Idempotent: if the widget is already in the state you asked for, nothing is written, nobody is emailed, and the response says so. This never uninstalls anything: on a Shopify store the widget is a theme app embed and turning it off here does not remove the embed.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
confirmNoLeave this out on the first call to get a preview of exactly what would change, plus a confirmation token. Call again with the same arguments and that token to apply the change. The token lasts 10 minutes and works once.
enabledYestrue renders the widget on the site; false serves a no-op bundle instead, so the widget disappears for that site's visitors. false requires a confirmation token.
websiteYesThe website domain as registered in Inclusify, e.g. "example.com".

TDQS

A4.7/5.0
Behavior5/5

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

The description adds substantial behavioral detail beyond the annotations: it writes only to configuration, never to site code or theme; it purges the edge cache; turning off is destructive and requires confirmation; it emails the account owner with an undo link; and the operation is idempotent with a no-op response. This far exceeds what the annotations alone convey.

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?

The description is longer than minimal, but every sentence carries important operational information: scope, effect timing, confirmation requirement, email notification, and idempotency. It is dense rather than padded, though it could be slightly more structured with headers or bullet-like separation for the two directional flows.

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 mutating tool with no output schema, the description covers the critical behavioral context: what is written, what is not touched, how confirmation works, what happens on no-op, and what side effects occur. It does not describe the exact response payload on success, but the two-call flow and preview mechanism are sufficiently explained for correct invocation.

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?

The schema already documents all three parameters with high coverage, so the baseline is 3. The description adds meaningful workflow context around the enabled and confirm parameters, especially the two-call confirmation flow and the idempotent behavior, which goes 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?

The description clearly states the action: switch the Inclusify accessibility widget on or off for a site, and targets the Inclusify configuration rather than code or theme. It also distinguishes itself from the similar sibling set_widget_appearance by focusing solely on enabled/disabled state.

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?

The description explicitly says when to use the tool: when the user asks to toggle the widget on or off. It also provides precise procedural guidance for the off direction, including calling without confirm first, showing the preview, and calling again with the confirmation token. This is strong usage guidance beyond the schema.

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.

TDQS

A4.3/5.0
Disambiguation4/5

The descriptions do exceptional cross-referencing work, explicitly separating near-neighbor pairs (add_website vs add_domain, list_alt_findings vs check_page_alt_text, plan_options vs billing_link, widget_status vs widget_usage). A few clusters remain that an agent could confuse without reading carefully, notably site_overview vs compliance_status (both report statement existence and scan-record state) and crawl_summary vs list_monitored_pages vs site_overview (all touch coverage numbers). Overall, distinct purposes are clearly delineated despite the large surface.

Naming Consistency4/5

All names are lowercase snake_case with strong family patterns: list_* (5 tools), add_* (3), set_* (7), plus org_* and *_history pairs. The main inconsistency is the mix of verb-led names (list_violations, set_slack_channel, start_crawl) with noun-led read names (site_overview, compliance_status, widget_usage, next_steps), but the noun-led names follow a coherent 'what it returns' vocabulary (status, summary, history, overview, rollup). Minor deviations rather than chaos.

Tool Count3/5

36 tools is heavy and sits above the 25-tool threshold where agent navigation starts to degrade, but the server covers a genuinely broad domain: website lifecycle, monitoring, four finding types, four live-audit tools, seven config setters, org rollups, billing, and CI. Most tools earn their place and none are duplicates, but several could plausibly be merged (set_slack_channel/set_slack_events/set_monitoring_settings into one notifications tool; list_violations/list_alt_findings/list_content_findings with a filter). The count is on the edge of unwieldy for an agent's tool-selection step.

Completeness3/5

The read/audit/analysis side is rich and well-covered: findings, history, live checks, org rollups, coverage, and validation all have tools. However, the write side is one-directional: add_monitored_pages is explicitly add-only, and there is no remove_website, remove_domain, or remove_monitored_pages, so teardown and 'stop monitoring this page' requests hit dead ends that the descriptions acknowledge belong to the panel. Statement content writing and widget installation are also panel/browser-only by design, which is documented but still leaves those operations outside the agent's reach.