kilotest
Provides testing and reporting for CSS standards compliance as part of front-end web quality analysis, using an ensemble of rule engines to evaluate web pages for CSS and related web standards.
This server has a remotely hosted endpoint. Open its connector listing for connection details, authentication requirements, and setup instructions:
Kilotest
An ensemble testing and reporting service for front-end web quality
Features
This application uses an ensemble of 12 rule engines to test web pages for front-end quality (i.e. accessibility, usability, and web standards, including HTML, CSS, ARIA, and WCAG).
The testing paradigm employed by Kilotest is discussed in these papers:
Kilotest acts as a web server for human users, an MCP server (streamable HTTP, no authentication) for AI platforms, and an API for programmatic access.
Testing for Kilotest is performed by one or more workers (testing agents) that obtain jobs from Kilotest, perform them, and send reports of the results back to Kilotest. Those agents are instances of the Testaro package. Thus, the pages that Kilotest tests need not be on the public Internet. They need only be reachable by the Testaro workers that do the testing for Kilotest. So, one or more Testaro workers running inside a private intranet can test internal pages, as well as any external ones reachable from inside the intranet.
An active production instance of Kilotest may require multiple Testaro workers to handle the load, because testing one web page typically takes 2 to 4 minutes and workers test only one page at a time.
Related MCP server: web-audit-mcp
Getting started locally with 1 worker
Installation
In the steps below, hosts T and K may be the same host or two different hosts. Host T can be a Debian stable, Ubuntu LTS, Windows, or macOS host. Host K can be any server host that can run the latest LTS version of Node.js. If hosts T and K differ, then they must be open to https traffic and host K must permit https requests from host T.
Clone the Testaro project into a new directory on host
T.In that directory, install the Testaro dependencies:
npm install.Update the Testaro dependencies and rebuild:
npm run deps.Clone the Kilotest repository into a new directory on host
K.In that directory, install the Kilotest dependencies:
npm install.Copy the
env.testarofile from thekilotestdirectory to.envin thetestarodirectory and replace the__placeholder__values in.envwith actual values.Copy the
env.examplefile in thekilotestdirectory to a new.envfile in the same directory and replace the__placeholder__values in.envwith actual values.TESTARO_WORKERSis a JSON object mapping each Testaro worker's ID to an object with itssecretand itsname; the ID and secret for a worker must match theNETWATCH_URL_WORKER_IDandNETWATCH_URL_AUTHvalues in that worker's.env. A worker authenticates each request with an HTTP BasicAuthorizationheader (id:secret, base64-encoded); as of this writing that header is not yet sent by the published Testaro package, so this scheme requires a matching update to Testaro'snetWatch.jsrequest code (only to send the header; no change to Testaro's handling of jobs or reports is needed). The ID is a credential and is never published; thenameis written by Kilotest into a job's and report'ssources.workerproperty, which Testaro does not read or alter, so it is a distinct property fromsources.agent(Testaro's own, untrusted, self-reported label, which Kilotest ignores). Choose anamethat is safe to appear in every report Kilotest serves.ALLOW_INTERNAL_TARGETScontrols whether this deployment can be induced to test pages at private, loopback, or link-local addresses; seeSERVICE.mdbefore changing it from its default.
Usage
In the
testarodirectory, make Testaro start listening for jobs:node call netWatch true nn true, wherennis the number of seconds to wait between checks for new jobs. Note that Kilotest promises nearly immediate review and, on approval, immediate execution of “orders” for tests and retests, with typical total elapsed time 2 to 4 minutes. That promise implies a promise to keepnnsmall. A reasonable value is between 10 and 20.In the
kilotestdirectory, start the Kilotest service:node index.
Contributing
Contributions are welcome! You can use GitHub issues to initiate discussions and propose changes. If you want to contribute code, please fork the repository and create a pull request.
Making Kilotest a service
See the SERVICE.md file for instructions on how to make Kilotest a service.
Using Kilotest as an AI tool
Kilotest is not only a web application but also an API and an MCP server. AI platforms and models can use Kilotest via those interfaces.
The public URL for models using the MCP server at kilotest.com is https://kilotest.com/mcp. The MCP server is registered at several registries. See AI-TOOLS.md for details.
There is additional documentation at:
AI-TOOLS.md: how Kilotest implements the MCP protocol
llms.txt: basic documentation for LLMs
llms-full.txt: comprehensive documentation for LLMs
lhm.plugin.json: documentation for registration with the LobeHub MCP Market
Maintenance
These are the routine steps for maintaining Kilotest as currently deployed.
No API changes
When you make a change in a feature branch without any API or tool contract change:
Stage, commit, and optionally push all changes.
Execute
npm run prePR -- <level>(major,minor, orpatch).Submit a pull request.
When all checks succeed, squash-merge to
mainand delete the feature branch on GitHub.Execute
npm run postPR(with interactive browser authentication).Wait until
npmjs.comhas processed the publication.Use
git pull,npm ci, andpm2 restart kilotest(but notnpm audit fix) to deploy the revisedmainbranch on the public server.
API changes
When you make an API or tool contract change in a feature branch:
lhm.plugin.json: Transform it to matchapi/schemas.tsandmcp.ts.llms.txt,llms-full.txt,capability.md,README.md: Update parameter and path names.Stage, commit, and optionally push all changes.
Execute
npm run prePR -- <level>(major,minor, orpatch).Submit a pull request.
When all checks succeed, squash-merge to
main.Execute
npm run postPR(with interactive browser authentication).Wait until
npmjs.comhas processed the publication.Use
git pull,npm ci, andpm2 restart kilotest(but notnpm audit fix) to deploy the revisedmainbranch on the public server.Visit the RapidAPI Studio and update the API definition at
Hub Listing→Definitions→CI/CD→Import OpenAPIby uploading the regeneratedopenapi-3.0.yaml.Visit the Claude directory, edit any changed entries, and submit the changes.
If any step fails, see the details in docs/AI-TOOLS.md for troubleshooting instructions.
This server cannot be deployed
Maintenance
Related MCP Connectors
Check a website in a real browser: score, top problems, report link. Built and run by AI agents.
1- PersqoOAuthcom.persqo
AI personas test your site like real users and return scored reports with fix prompts.
Public AI web-readiness scanner and machine-facing observability discovery service.
Review frontend code and live pages against 386 quality-gated web development rules.
Related MCP Servers
- AlicenseBqualityNot gradedmaintenanceProvides comprehensive website validation across performance, accessibility, SEO, and security dimensions using multiple testing services including WebPageTest, Google PageSpeed Insights, Axe DevTools, Mozilla Observatory, and SSL Labs. Enables automated website health assessments through browser automation and API integrations.2123 npm1-
- FlicenseNot gradedqualityDmaintenanceEnables auditing of websites for performance, SEO, accessibility, security, and mobile readiness, with tools to validate URLs, run page audits, save results, and retrieve reports.1-
- AlicenseAqualityCmaintenanceEnables AI-driven UI inspection and optimization by scanning websites with configurable viewports, capturing screenshots, running deterministic accessibility and layout checks, and generating prioritized reports with fix prompts.2MIT

Menso MCP Serverofficial
AlicenseNot gradedqualityBmaintenanceEnables AI clients to launch real purchase or signup test runs against a live public URL and then fetch run status, scored findings with friction points and suggested fixes, and a public replay of every step taken. It works over Streamable HTTP with an API key, so no installation is needed in Claude Code, Cursor, Windsurf or any compatible client.3 npmMIT