Skip to main content
Glama

Unclear wording and structure in store content

list_content_findings
Read-only

Use this when the accessibility problem is in the WORDS a merchant wrote rather than in the theme's code — 'click here' links, unlabelled fields, headings that describe nothing — and a writer or merchandiser will be the one editing it, in the Shopify admin rather than a repo. Problems found in the text of a Shopify store's own content — product descriptions, pages, articles, collections: link text that does not say where it goes, controls with no label, headings that do not describe what follows, tables used for layout, and the structural markup rules that can be decided from the authored HTML. Each finding carries the item it is in, the current text, why it was flagged, a suggested replacement where there is one, how confident the judgement is, and an admin link to the exact place to edit. Do not use it for images or alt text — that is list_alt_findings, and the two never overlap. Only Shopify-connected stores have this data; a site with no store connection returns nothing. Read-only: costs one read and loads no page. An empty result is reported together with whether a content review has ever run, because 'never reviewed' and 'reviewed and clean' are different answers and must not be conflated.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum findings to return (default 20, cap 100).
statusNoWhich findings to return. Defaults to "open".
websiteYesThe website domain as registered in Inclusify, e.g. "example.com".

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true, so the read-only statement is consistent and reinforced; the description adds useful behavior beyond annotations: it costs one read and loads no page, returns nothing for non-Shopify stores, and explains the special meaning of an empty result. No contradiction with annotations.

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 text is dense and front-loaded with the primary use case, then return payload, exclusion, and edge-case behavior. Minor redundancy exists in restating 'Problems found in the text' after the opening clause, but every sentence contributes useful routing or boundary information.

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?

Given there is no output schema, the description compensates by enumerating what each finding carries (item, current text, reason, suggestion, confidence, admin link). It also covers expected empty results and scope limitations, making it sufficient for an agent to call the tool 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?

The input schema documents all three parameters (limit, status, website) with descriptions covering 100%, so the schema does the heavy lifting. The description does not need to re-explain parameters and adds no new parameter-specific details, keeping this at the baseline.

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 action ('list') and resource ('content findings') and immediately defines them as accessibility problems in merchant-authored words rather than theme code. It also explicitly separates itself from list_alt_findings, so an agent can disambiguate by text alone.

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 gives an explicit when-to-use condition ('when the accessibility problem is in the WORDS a merchant wrote rather than in the theme's code') and says when not to use it ('Do not use it for images or alt text — that is list_alt_findings'). It also warns about Shopify-only availability and the 'never reviewed' versus 'reviewed and clean' distinction.

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.