Skip to main content
Glama
Carnegie Mellon Web Kilt MCP Server

Carnegie Mellon Web Kilt MCP Server

Official
by cmu-web

Check HTML

check_html
Read-only

Validate HTML pages or fragments for kit errors by detecting unknown cmu- classes, invalid data-cmu- hooks, missing files, and incorrect body class or load order.

Instructions

Checks a page or a fragment for kit mistakes: cmu- classes or data-cmu- hooks the kit doesn't have and, for a whole page, missing files, the cmu-app body class and the loading order.

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": {
      "html": "<html>"
    },
    "name": "check_html"
  }
}

Input Schema

NameRequiredDescriptionDefault
htmlYesThe HTML to check: a whole page or a fragment.
versionNoA kit release, like "0.4.0". Defaults to the latest.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds useful behavioral detail by noting that the check set differs for a fragment versus a whole page. It does not say what the result looks like (list of issues, pass/fail, severity), which matters because there is no output schema.

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?

One dense sentence with no filler, front-loaded on the verb and the mistake categories. The trailing clause about whole-page checks is slightly tangled but still readable and earns its place by scoping which checks apply.

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 two-parameter, read-only validator with full schema coverage, the description covers what is checked and the page/fragment distinction. The one remaining gap is the shape of the returned issues, which an agent would have to discover by calling it since no output schema exists.

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 coverage is 100%, so both parameters are already documented, including the version default. The description reinforces that `html` may be a whole page or a fragment but adds no syntax or format detail, and it never mentions `version`. Baseline 3 applies when the schema carries the parameter documentation.

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 (checks) and resource (HTML page or fragment) and enumerates exactly what it validates: unknown cmu- classes, data-cmu- hooks, and for whole pages missing files, the cmu-app body class and loading order. This clearly separates it from the retrieval-oriented siblings (get_component, get_conventions, get_install, search_components) since it is a validator, not a lookup.

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?

Usage is implied — you run it on HTML you wrote to catch kit mistakes — and the description distinguishes whole-page from fragment input. But it never explicitly says when to reach for this versus the sibling tools, nor any prerequisite such as fetching conventions first.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.