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
12 tools: 5 change things and 7 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things5Claude Code: ask: see these tools
- Only reads7Claude Code: allow: see these tools
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/mcpFindings
Matches of fixed checks, with the text they matched.
The description contains "any other tool", wording about other tools or servers.
What this check looks forMatched text
description: "...results are structured. Use this before any other tool when the available tools or workflow ar..."
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.
What this check looks forMatched text
description: "...results are structured. Use this before any other tool when the available tools or workflow ar..."
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/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .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.
