Skip to main content
Glama

Validate a theme

validate_theme
Read-onlyDestructive

On one site of the account, named in site. The whole theme checked, held changes included — a strict Liquid parse, every name against the drops, filters and tags the engine knows, the manifest, the required files — with the errors to fix and the warnings to weigh (a text setting that should be html, a declaration the engine drops, a post or page template with no {% pixel_comments %}, so readers cannot comment). An error holds every change back from the site, so a write's answer lists them too; fix every error, and read the warnings.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "site": "<site>",
      "theme": "<theme>"
    },
    "name": "validate_theme"
  }
}

Input Schema

NameRequiredDescriptionDefault
siteYesThe site to work on, as list_sites names it
themeYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

B3.3/5.0
Behavior4/5

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

Beyond the annotations, the description discloses the scope of the check (whole theme, including held changes), the categories of output (errors to fix vs warnings to weigh), concrete warning examples, and the operational consequence that "an error holds every change back from the site." That is substantive behavioural context not recoverable from readOnlyHint/destructiveHint. It stops short of describing the shape of the result or whether held changes are inspected without being applied.

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?

The information density is high, but it is delivered as a single telegraphic run-on with dropped verbs ("The whole theme checked"), which slows parsing. The parenthetical warning examples are useful yet disproportionately long, and the actual purpose is not front-loaded as a plain statement.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only validation tool with no output schema, the description does explain what kinds of results come back (errors and warnings) but not their structure, counts, or whether results are per-file. Combined with the unexplained `theme` parameter, an agent can call it but cannot fully anticipate the response.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With only 50% schema coverage, the description needs to compensate. It restates that the site is "named in site" but adds nothing about how a site is identified, and it never mentions the required `theme` parameter at all — no indication whether it takes a theme name, handle, or id. The one undocumented parameter is left entirely unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb+resource and enumerates the checks performed (strict Liquid parse, names against drops/filters/tags, the manifest, required files), which is far more informative than the title 'Validate a theme'. It does not explicitly distinguish itself from near-neighbours like build_theme, preview_theme, or plan_theme_update, so an agent must infer the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives a partial usage hint by noting that "a write's answer lists them too", implying you need not always call this separately after a write, and it closes with "fix every error, and read the warnings." However it never says when this should be run instead of build_theme, preview_theme, or plan_theme_update, and no prerequisites or sequencing are stated.

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