Skip to main content
Glama

Run check

run_check
Read-only

Runs "typecheck" (TypeScript, fast), "build" (production build, slower), "design" (instant static scan for design tells: px sizes, gradient text, purple gradients, emoji or text-glyph icons, transition-all, scale(0) entrances, missing focus-visible styles, repeated icon cards, the same entrance animation on every section; plus a Copy group: avoid words, "to confirm" slots, long sentences, passive headings) or "links" (static link check over the source, no network: broken internal links, links that redirect, orphan pages, vague link text, external links missing rel, malformed URLs, pages with few internal links, forms with no action or a mailto: action). "design" scans files changed since the last save plus new files; scope "all" scans every source file. "links" always checks the whole site. Fix every reported error; fix warnings unless they are deliberate. Copy: fix avoid words; "to confirm" slots are expected in draft mode (list them for the owner); judge long sentences and passive headings. few-internal-links is a suggestion. A check may answer that it needs the project open in Xodia (open_in_xodia, for example when the monthly headless checks are used up): ask the user to open it there and do not call that kind again in this task. headless_busy means try once more in about 30 seconds. tailwind3_unsupported means the site uses Tailwind CSS 3, which Xodia does not support: tell the user to run npx @tailwindcss/upgrade in the repo and import it again (skill tailwind-upgrade guides it, no projectId needed), and do not call run_check again in this task.

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": {
      "projectId": "<projectId>",
      "kind": "<kind>"
    },
    "name": "run_check"
  }
}

Input Schema

NameRequiredDescriptionDefault
kindYes
scopeNokind "design" only: "changed" (default) or "all". Ignored by the other kinds.
projectIdYesProject id from list_projects

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior4/5

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

With readOnlyHint=true and destructiveHint=false already declaring the safety profile, the description still adds substantial behavior: "links" performs no network calls, design scans only changed/new files vs every file with scope "all", headless quota exhaustion is possible, headless_busy requires a ~30s retry, and tailwind3_unsupported is terminal for the task. What is missing is any statement of the result shape (no output schema exists), e.g. whether it returns a list of errors/warnings with file locations.

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?

It is front-loaded with the kind enumeration, which is the right priority, but the whole definition is one dense run-on paragraph where the design-check catalog (px sizes, gradient text, purple gradients, emoji icons, transition-all…) and the Copy/link rules crowd out the higher-value error-handling guidance. Breaking the kind list, the triage rules, and the failure modes into separate sentences or lines would preserve content while dramatically improving scanability.

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 three-parameter read tool with no output schema, it is nearly complete on the calling side: it covers scope semantics, remediation of results, and every known failure mode including how to unblock the user. The remaining gap is that nothing describes what a successful run returns, so an agent cannot anticipate the structure of the reported errors and warnings it is told to fix.

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 documents only "scope" (67% coverage) and leaves the "kind" enum values bare; the description supplies the actual meaning and cost profile of each kind (typecheck fast, build slower, design instant scan, links static site-wide) and clarifies that scope is ignored by non-design kinds. projectId is left entirely to the schema's "Project id from list_projects", which is adequate but not expanded on.

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 names a specific verb ("Runs") and enumerates the four concrete check kinds with their precise scope: typecheck, build, design (static design-tell scan), and links (static link check, no network). An agent can determine exactly which operation it is invoking without opening the schema.

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?

It gives strong operational guidance: how to triage errors vs warnings, that "to confirm" slots are expected in draft mode, that few-internal-links is only a suggestion, and what to do on headless_busy, requires-Xodia, and tailwind3_unsupported. It does not, however, differentiate from adjacent siblings such as run_seo_test or deploy_status, so the agent gets no routing guidance between those and run_check.

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