Skip to content

Kilotest

by jrpool · remote · no sign-in to list tools · v60.2.0 · published by GitHub user jrpool

Ensemble testing of web pages for accessibility, usability, and web standards

Changes · 5

12 tools: 5 change things and 7 only read.

Scanned Oct 21, 2026

1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http kilotest https://kilotest.com/mcp

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The description contains "any other tool", wording about other tools or servers.

    Matched text

    description: "...results are structured. Use this before any other tool when the available tools or workflow ar..."

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

12 tools

Changes things 5Claude Code: ask
  • orderNewTestOrders testing of a page that has no report yet, with automated approval or rejection and immediate enqueueing if approved.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Orders testing of a page that has no report yet, with automated approval or rejection and immediate enqueueing if approved. Use this instead of requestNewTest when immediate testing is wanted; testing typically takes 2 to 4 minutes. Returns an order confirmation and disposition details, including, if approved, a report identifier and a question about whether to wait for completion with the awaitTest tool.

    Annotations the server declares

    • title: Order immediate testing of a new page
    • readOnlyHint: false
    • idempotentHint: false
    • destructiveHint: false
    • openWorldHint: false
  • orderRetestOrders a retest of a page whose existing report is considered obsolete, with automated approval or rejection and immediate enqueuing if approved.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Orders a retest of a page whose existing report is considered obsolete, with automated approval or rejection and immediate enqueuing if approved. Use this instead of requestRetest when immediate retesting is wanted; testing typically takes 2 to 4 minutes. Returns an order confirmation and disposition details, including, if approved, a report identifier and a question about whether to wait for completion with the awaitTest tool.

    Annotations the server declares

    • title: Order an immediate retest
    • readOnlyHint: false
    • idempotentHint: false
    • destructiveHint: false
    • openWorldHint: false
  • requestFeatureSubmits a request to add a new feature or improve an existing one; queued for manager review.No findings

    Why it is in this group

    • The name "requestFeature" says "request": a word for a change.
    Description, as the server wrote it
    Submits a request to add a new feature or improve an existing one; queued for manager review. There is no immediate-approval alternative for feature requests. Returns a request confirmation with disposition details.

    Annotations the server declares

    • title: Request a feature
    • readOnlyHint: false
    • idempotentHint: false
    • destructiveHint: false
    • openWorldHint: false
  • requestNewTestSubmits a request to test a page that has no report yet; queued for manager approval.No findings

    Why it is in this group

    • The name "requestNewTest" says "request": a word for a change.
    Description, as the server wrote it
    Submits a request to test a page that has no report yet; queued for manager approval. Use orderNewTest instead for immediate, automatically approved testing. Returns a request confirmation with disposition details.

    Annotations the server declares

    • title: Request testing of a new page
    • readOnlyHint: false
    • idempotentHint: false
    • destructiveHint: false
    • openWorldHint: false
  • requestRetestSubmits a request to retest a page whose existing report is considered obsolete; queued for manager approval.No findings

    Why it is in this group

    • The name "requestRetest" says "request": a word for a change.
    Description, as the server wrote it
    Submits a request to retest a page whose existing report is considered obsolete; queued for manager approval. Use orderRetest instead for immediate, automatically approved retesting. Returns a request confirmation with disposition details.

    Annotations the server declares

    • title: Request a retest
    • readOnlyHint: false
    • idempotentHint: false
    • destructiveHint: false
    • openWorldHint: false
Only reads 7Claude Code: allow
  • awaitTestWaits for a job ordered via the orderNewTest or orderRetest tool to finish, using the report identifier either tool returned.No findings

    Why it is in this group

    • The description's first verb is "wait": a word for reading.
    Description, as the server wrote it
    Waits for a job ordered via the orderNewTest or orderRetest tool to finish, using the report identifier either tool returned. Use this instead of polling listIssues when an immediate answer is preferred. Blocks until the report is ready, the job fails, or a maximum wait time elapses, sending no interim notices; returns the finished job’s status and, if ready, its report identifier.

    Annotations the server declares

    • title: Wait for an ordered job to finish
    • readOnlyHint: true
    • idempotentHint: false
    • destructiveHint: false
    • openWorldHint: false
  • getKilotestOverviewExplains what Kilotest is, what its tools do, and how its results are structured.1 finding

    Why it is in this group

    • The name "getKilotestOverview" says "get": a word for reading.

    Findings

    • Warn

      The description contains "any other tool", wording about other tools or servers.

      Matched text

      description: "...results are structured. Use this before any other tool when the available tools or workflow ar..."

      What this check looks for
    Description, as the server wrote it
    Explains what Kilotest is, what its tools do, and how its results are structured. Use this before any other tool when the available tools or workflow are unclear. Returns a prose overview of the Kilotest domain, the tool workflow, and links to further documentation. Kilotest integrates an ensemble of 12 rule engines, with about 1,300 rules, to test web pages for front-end quality (accessibility, usability, and web standards, including HTML, CSS, ARIA, and WCAG). Each test job generates a standardized report describing which elements violated which rules and grouping the violations into about 380 issues. Kilotest can list the tested pages, the reports about each page, the issues in each report, the violators of each issue, and the diagnoses of each violation. Kilotest also accepts requests to test pages not yet tested and to retest already tested pages.

    Annotations the server declares

    • title: Explain Kilotest and its tools
    • readOnlyHint: true
    • idempotentHint: true
    • destructiveHint: false
    • openWorldHint: false
  • getReportRetrieves one entire report as JSON, with all of its issues, violators, and diagnoses.No findings

    Why it is in this group

    • The name "getReport" says "get": a word for reading.
    Description, as the server wrote it
    Retrieves one entire report as JSON, with all of its issues, violators, and diagnoses. Use this instead of drilling down through listIssues, listViolators, and listDiagnoses when the full report is needed in one call. Returns the complete report data for the specified report identifier. The size of the report is disclosed by the listIssues tool.

    Annotations the server declares

    • title: Get a full report
    • readOnlyHint: true
    • idempotentHint: true
    • destructiveHint: false
    • openWorldHint: false
  • listDiagnosesLists the diagnoses that rule engines gave for how one element exhibited one issue in one report.No findings

    Why it is in this group

    • The name "listDiagnoses" says "list": a word for reading.
    Description, as the server wrote it
    Lists the diagnoses that rule engines gave for how one element exhibited one issue in one report. Use this after listViolators to get details about the element as a violator of the issue. Returns, for each rule engine that reported a violation by the element of a rule belonging to the issue, the diagnosis given by the rule engine.

    Annotations the server declares

    • title: List diagnoses of a violation
    • readOnlyHint: true
    • idempotentHint: true
    • destructiveHint: false
    • openWorldHint: false
  • listIssuesLists the issues reported in one report, along with the history of all reports about the same page.No findings

    Why it is in this group

    • The name "listIssues" says "list": a word for reading.
    Description, as the server wrote it
    Lists the issues reported in one report, along with the history of all reports about the same page. Use this after listPages to switch to an earlier or later report or to begin examining this report. Returns the history and the basics about this report’s issues.

    Annotations the server declares

    • title: List issues in a report
    • readOnlyHint: true
    • idempotentHint: true
    • destructiveHint: false
    • openWorldHint: false
  • listPagesLists all pages Kilotest has tested.No findings

    Why it is in this group

    • The name "listPages" says "list": a word for reading.
    Description, as the server wrote it
    Lists all pages Kilotest has tested. Use this first to discover whether a page already has any reports before requesting a test. Returns, for each tested page, its description, URL, and the identifier of its latest available report.

    Annotations the server declares

    • title: List tested pages
    • readOnlyHint: true
    • idempotentHint: true
    • destructiveHint: false
    • openWorldHint: false
  • listViolatorsLists the elements of a tested page that were reported as exhibiting one issue in one report.No findings

    Why it is in this group

    • The name "listViolators" says "list": a word for reading.
    Description, as the server wrote it
    Lists the elements of a tested page that were reported as exhibiting one issue in one report. Use this after listIssues to drill down from an issue to the elements violating rules belonging to that issue. Returns basics about each violating element.

    Annotations the server declares

    • title: List elements exhibiting an issue
    • readOnlyHint: true
    • idempotentHint: true
    • destructiveHint: false
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 60.2.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http kilotest https://kilotest.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__kilotest__getKilotestOverview",
      "mcp__kilotest__listPages",
      "mcp__kilotest__listIssues",
      "mcp__kilotest__listViolators",
      "mcp__kilotest__listDiagnoses",
      "mcp__kilotest__getReport",
      "mcp__kilotest__awaitTest"
    ],
    "ask": [
      "mcp__kilotest__requestNewTest",
      "mcp__kilotest__requestRetest",
      "mcp__kilotest__requestFeature",
      "mcp__kilotest__orderNewTest",
      "mcp__kilotest__orderRetest"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as kilotest. Review it before you use it.