diff --git a/docs/AI-TOOLS.md b/docs/AI-TOOLS.md
index 16075072..09c59b6e 100644
--- a/docs/AI-TOOLS.md
+++ b/docs/AI-TOOLS.md
@@ -49,6 +49,7 @@ The external features that support the use of Kilotest as a collection of AI too
- Registration of Kilotest with the [RapidAPI](https://rapidapi.com/jrpool/api/kilotest/playground/apiendpoint_0f03577a-ff9a-472a-a0ed-533bd198981a) Hub.
- Registration of Kilotest with the [LobeHub MCP Market](https://lobehub.com/mcp) (identifier: `jrpool-kilotest`), enabled with an `lhm.plugin.json` file.
- Deployment of an MCP server in HTTP mode on the Kilotest service host.
+- Submission of the MCP server to the [Claude directory of plugins and connectors](https://claude.ai/directory/manage).
- Configuration of Claude Desktop on the local development host and the `claude.ai` web application to connect Claude Desktop models to the Kilotest MCP server. The configuration was performed in the UI of each platform with the addition of Kilotest as a _connector_. The user used the `Customize/Connectors/Add connector/Add custom connector` interface, providing these data before activating the `Add` button:
- Name: Kilotest
diff --git a/package-lock.json b/package-lock.json
index d4ac0257..b75140f2 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "@jrpool/kilotest",
- "version": "56.0.0",
+ "version": "57.2.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@jrpool/kilotest",
- "version": "56.0.0",
+ "version": "57.2.0",
"license": "MIT",
"dependencies": {
"@modelcontextprotocol/sdk": "*",
@@ -490,9 +490,9 @@
}
},
"node_modules/@hono/node-server": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-2.1.1.tgz",
- "integrity": "sha512-ELuehkj5VCBdgEw9zs+ivkKwyzzUCSQuE96YmiPvn1ECBoZCczbFXJLeEGMTYjphP6gydh4pHMqEYPVMYUVgQg==",
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-2.1.3.tgz",
+ "integrity": "sha512-TA//nWMqPhbfdfneACk6t5a9eqbS9lABEPyKn0/xZTah3H3U2XaVg85rJFl0/Fyit0I552YDHgXGVSf3GwqbUw==",
"license": "MIT",
"engines": {
"node": ">=20"
@@ -650,9 +650,9 @@
"license": "MIT"
},
"node_modules/@modelcontextprotocol/sdk": {
- "version": "1.30.1",
- "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.30.1.tgz",
- "integrity": "sha512-H2HxLvC3HDNybePJaLdSrU1hhUK5iQw+WvV1b01myFyI7sdVGe1u/IPTE5D9fGCiJDVtgMV/lmFkQXLmQyIFYA==",
+ "version": "1.32.0",
+ "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.32.0.tgz",
+ "integrity": "sha512-8BviX/hK4Gd2eL1KdTwm0gfl4d3wdoErW0Jd00h6nomUAtk6IJk5vwQJc6kfWtJTzN5OEV/lgIiJKI8fiDGAlA==",
"license": "MIT",
"dependencies": {
"@hono/node-server": "^1.19.9 || ^2.0.5",
@@ -1115,9 +1115,9 @@
"license": "ISC"
},
"node_modules/@redocly/cli": {
- "version": "2.55.0",
- "resolved": "https://registry.npmjs.org/@redocly/cli/-/cli-2.55.0.tgz",
- "integrity": "sha512-YKDNfgv7hHsbWeudSLw8CQumX8LZeztdBht82yfFZLIg62BL6srKBzM0SIG+Ct+cnkHfkM0jzJ7OSP0I62W53Q==",
+ "version": "2.57.0",
+ "resolved": "https://registry.npmjs.org/@redocly/cli/-/cli-2.57.0.tgz",
+ "integrity": "sha512-1d5fVyUaYlMNgCHUoyE2vUyxBhs/jmOHgsX/kFmfWzESw4f/G/OV/SU9E55rU7aUNmw9rHj1vXmL6yUdIn+KKQ==",
"dev": true,
"license": "MIT",
"bin": {
@@ -2754,9 +2754,9 @@
"license": "MIT"
},
"node_modules/@types/node": {
- "version": "26.6.3",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-26.6.3.tgz",
- "integrity": "sha512-dsqMQQoeTLqu9wynDD00q573mNzso3IdQOAfHRJqLCcmCFPoGo9A1bDpUcv/9tnKpErQWv9uKeGfl37EIS02Yg==",
+ "version": "26.6.4",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-26.6.4.tgz",
+ "integrity": "sha512-ldVPDCzj7fsaGZrLB0NuHuTvJcsNasysBAqMolr/cgxrLd1xbqxIr3XJiPnHHJUCxj5sNF1vnRj9aWnrVh5Jcg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -2818,9 +2818,9 @@
}
},
"node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": {
- "version": "7.0.10",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.10.tgz",
- "integrity": "sha512-HpbUakT7xp5miBUywCHf36ZEuAJNklBJDDsGpUIjMzOSmM8ELSfA9Sa/QDPeNeqeoN31u+UTCkL4klCOVvRm4Q==",
+ "version": "7.0.12",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.12.tgz",
+ "integrity": "sha512-/8UvqAPU9DGTI9k4mxtf49U37Isfwr8Uts96+SBHIkFxPJnHS0Ew4f00sM4Scd8V8EjM0jUNtVDdv1kPdt35lg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -3784,9 +3784,9 @@
}
},
"node_modules/chromedriver": {
- "version": "154.0.0",
- "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-154.0.0.tgz",
- "integrity": "sha512-kn+ENZ2lEPAmeDTNNBbVw6Xt4KAr6M4EFcgeV4lUREgJWHVZBu4fFc+OFivtuf5Q9jM/qSmAcQ3MdWtdOE6mVA==",
+ "version": "154.0.1",
+ "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-154.0.1.tgz",
+ "integrity": "sha512-QtK+E8xDBt6+dBOALfbILJX2VoRngV6elAh47uZCGWKVKf7n3DyO/IpBo/x5PafLgpZ0LZKTWQQtB+DYq0ixHA==",
"dev": true,
"hasInstallScript": true,
"license": "Apache-2.0",
@@ -4395,9 +4395,9 @@
}
},
"node_modules/dotenv": {
- "version": "18.0.4",
- "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-18.0.4.tgz",
- "integrity": "sha512-jGt9uI5BIxpVO15kvy+iEFqNAwxYClKWnkptLjSNPnFLC003Imd0ofr3aEVsbpHdSBdSsbcApNIlz4nbyGMwdA==",
+ "version": "18.0.5",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-18.0.5.tgz",
+ "integrity": "sha512-aBrGvt6KhjxbEnatqMWOMidftwsrCiCvqh1yNIGB9QyF0J+VcWkKDMsvYOEm7ZS82oiV+BT1sTOtIlAmUlTpwQ==",
"license": "BSD-2-Clause",
"bin": {
"dotenv": "dist/index.cjs"
@@ -4586,9 +4586,9 @@
}
},
"node_modules/eslint": {
- "version": "10.11.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.11.0.tgz",
- "integrity": "sha512-P7a6UEEqb9G95MYAtqkmsTbVXIYyzIfl6NGOIJk162PaahFxFyeGcrlXYFSiagECg4sEm8IseJdZBKR3rx6MsQ==",
+ "version": "10.12.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.12.0.tgz",
+ "integrity": "sha512-npHjrHb2o4ehH3mE+YuxABR+0gyb0aVWCIolgJDArwCiHEIsonBm3ZKjel5b0U5+a+MbEvIyRCGCzD3eKKK2NA==",
"dev": true,
"license": "MIT",
"workspaces": [
@@ -5096,9 +5096,9 @@
"license": "ISC"
},
"node_modules/follow-redirects": {
- "version": "1.16.0",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.0.tgz",
- "integrity": "sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==",
+ "version": "1.16.1",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.1.tgz",
+ "integrity": "sha512-FNvFGzoMLWmE6Yj9spb/zjd7yiNCHiAW9/Tg9CXrQ8wuu32HtlJOwWO11OJafl5FfY3DxTdQ0vj42zU1kvv5jg==",
"dev": true,
"funding": [
{
@@ -5398,9 +5398,9 @@
}
},
"node_modules/globals": {
- "version": "17.12.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-17.12.0.tgz",
- "integrity": "sha512-cezEd/DTyyht9cvSSURyygXPfy04GtWO/5e6ZPvH7fCtjKz9PYOmuawphw1Ctd1f6C+5JypXfGD7ahNMXvevBA==",
+ "version": "17.13.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-17.13.0.tgz",
+ "integrity": "sha512-RwMTC61u7hrG3ZJMkZQOK4JLJrKS8QtoTii63EmWvFXHqycY9FObBJQCbsLxSO8kjKhWE5kV1GC+Vb1g3RI0Zg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -5433,9 +5433,9 @@
}
},
"node_modules/globby/node_modules/ignore": {
- "version": "7.0.10",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.10.tgz",
- "integrity": "sha512-HpbUakT7xp5miBUywCHf36ZEuAJNklBJDDsGpUIjMzOSmM8ELSfA9Sa/QDPeNeqeoN31u+UTCkL4klCOVvRm4Q==",
+ "version": "7.0.12",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.12.tgz",
+ "integrity": "sha512-/8UvqAPU9DGTI9k4mxtf49U37Isfwr8Uts96+SBHIkFxPJnHS0Ew4f00sM4Scd8V8EjM0jUNtVDdv1kPdt35lg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -5525,9 +5525,9 @@
}
},
"node_modules/hono": {
- "version": "4.13.10",
- "resolved": "https://registry.npmjs.org/hono/-/hono-4.13.10.tgz",
- "integrity": "sha512-dQuLsa5oO+47QVMVMaaD9cIv8ctmVtK1iRvwWngkfloFJMeFeuoUFDswIqZGxmGX3hrRzREgEArjkK9OgsQEhA==",
+ "version": "4.13.12",
+ "resolved": "https://registry.npmjs.org/hono/-/hono-4.13.12.tgz",
+ "integrity": "sha512-6E2QDAc9Ick9Sq77ZrGS/dk2WUYni91aufTw6LJKpV7w8kW5/GxVUc650FOADOmlwg3K+f7Pun6XlV+pYmW6gw==",
"license": "MIT",
"engines": {
"node": ">=16.9.0"
@@ -5699,9 +5699,9 @@
"license": "ISC"
},
"node_modules/ip-address": {
- "version": "10.7.2",
- "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.7.2.tgz",
- "integrity": "sha512-7H/2gFSIitxc0hG3nOI1glS8QLo/EHBFFLk8vEUjXY/xu0AdL8jZ9U1IzO2PUm0d2D/ofQcAifb0g6OBkt8U7w==",
+ "version": "10.7.3",
+ "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.7.3.tgz",
+ "integrity": "sha512-A1kdq/tSb5QjvKvAMgIoEvDBIgL7qaqVP/jkvSwYYRZ9iEzvPpopxp2wQfu3SuZRHtpHNxMn8Fs0bS+gf5Xmwg==",
"license": "MIT",
"engines": {
"node": ">= 12"
@@ -9049,9 +9049,9 @@
}
},
"node_modules/source-map-js": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
- "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.2.tgz",
+ "integrity": "sha512-KGj/8Y43x35aZVDtt+J4mK1hoLGHULMYfSkODJNQjNDC3oW1PqPoxMwo0pLUsWM/UEGzON/NxeHywEfNXNP3Vw==",
"dev": true,
"license": "BSD-3-Clause",
"engines": {
@@ -9151,16 +9151,16 @@
}
},
"node_modules/tar-stream": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.2.1.tgz",
- "integrity": "sha512-nqsEO8zLZJvrOMdEwkA0QdCLFbetHMn95Zqu4fKwX+hkaTWJPZZOrxx/PwtxoK0MMGQmBQNRW3CPs8IFYQz4cQ==",
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.2.2.tgz",
+ "integrity": "sha512-+8NeqHRjQWH9nYlwo2gamAMImZCVzI4UoEgDpWorBt9OEfppiZn+uSkskzQKPWIZyji/C8fpWO7u69G0DX0tbg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "b4a": "^1.6.4",
- "bare-fs": "^4.5.5",
- "fast-fifo": "^1.2.0",
- "streamx": "^2.15.0"
+ "b4a": "^1.9.0",
+ "bare-fs": "^4.8.2",
+ "fast-fifo": "^1.3.2",
+ "streamx": "^2.28.1"
}
},
"node_modules/tcp-port-used": {
@@ -9260,9 +9260,9 @@
}
},
"node_modules/testaro-issues": {
- "version": "0.7.5",
- "resolved": "https://registry.npmjs.org/testaro-issues/-/testaro-issues-0.7.5.tgz",
- "integrity": "sha512-6cj+9PVTkpL4r5NSr+6KEZfmGEOJTJucImyGsGCfhaZzVLZB9ZG0xR0+jQ4W6I1W1difJltFB94kJ1f2V74rAA==",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/testaro-issues/-/testaro-issues-1.0.1.tgz",
+ "integrity": "sha512-eaTypxsUuYmYMx3fFFCJ44JUYbqodhNWN+MgPv9Xhf62fnQ/D9t9CIrZazAxRG2wUcCcS1/JiuiRSB1lVwEEiw==",
"license": "MIT"
},
"node_modules/testaro/node_modules/dotenv": {
@@ -9482,9 +9482,9 @@
}
},
"node_modules/typed-query-selector": {
- "version": "2.12.2",
- "resolved": "https://registry.npmjs.org/typed-query-selector/-/typed-query-selector-2.12.2.tgz",
- "integrity": "sha512-EOPFbyIub4ngnEdqi2yOcNeDLaX/0jcE1JoAXQDDMIthap7FoN795lc/SHfIq2d416VufXpM8z/lD+WRm2gfOQ==",
+ "version": "2.12.3",
+ "resolved": "https://registry.npmjs.org/typed-query-selector/-/typed-query-selector-2.12.3.tgz",
+ "integrity": "sha512-/dtuMZyutHLlrxWhhC1uib00ELUr2dZ8C9B8YzZYsJmeE3V56OxRblrSM2UaF142pcMtak7ehZ6+poWGeehNIg==",
"dev": true,
"license": "MIT"
},
@@ -9699,9 +9699,9 @@
}
},
"node_modules/vnu-jar": {
- "version": "26.9.27",
- "resolved": "https://registry.npmjs.org/vnu-jar/-/vnu-jar-26.9.27.tgz",
- "integrity": "sha512-TkQd5DFfOaWC9ebtvozTsrH2Vaod3jYg+vrOeREzIXxBexLz9+rS2DNtjn7+RPUiZhgli0SghgBX6RJRNea0KA==",
+ "version": "26.10.2",
+ "resolved": "https://registry.npmjs.org/vnu-jar/-/vnu-jar-26.10.2.tgz",
+ "integrity": "sha512-iGJQzdqVQeO0bkYFrINx6kLqFVru+D0+Vo9/nbgug+USGbsqzpNWDPnoNn1LVJGhRYkrW0m7ZFYobztTHUGYSA==",
"dev": true,
"hasInstallScript": true,
"license": "MIT",
diff --git a/package.json b/package.json
index d0f52556..b0457bb8 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@jrpool/kilotest",
- "version": "57.1.0",
+ "version": "57.2.0",
"description": "Ensemble testing for front-end web quality",
"type": "module",
"main": "index.ts",
diff --git a/web/tutorialAI/index.html b/web/tutorialAI/index.html
index 1b68e4ad..85eeb430 100644
--- a/web/tutorialAI/index.html
+++ b/web/tutorialAI/index.html
@@ -7,33 +7,30 @@
-
Tutorial: Connect an AI Platform | Kilotest
+ Connect an AI Platform | Kilotest
- Connect an AI Platform to Kilotest
+ Kilotest: Connect an AI Platform
Purpose
This tutorial shows you how to make Kilotest available to AI assistants. Suppose:
- - You use an AI platform, like Claude.ai, Claude Code, Claude Desktop, Perplexity, Cursor, Gemini, or ChatGPT.
+ - You use an AI platform, like Claude, ChatGPT, Perplexity, or Mistral Vibe.
- You want to audit the quality of a web page.
Then the models on your AI platform can use Kilotest if you make Kilotest available on the platform.
What AI platform do you use?
- Claude.ai
- Claude.ai is an AI platform that you can use for free in any web browser. To make Kilotest available on Claude.ai:
-
+ For maximum autonomy, click Always allow
for each tool.
+ Click the x button or press the Escape key to close the dialog.
+
+ ChatGPT
+ To make Kilotest available on ChatGPT:
+
+ - Forthcoming
+
+ Perplexity
+ To make Kilotest available on Perplexity:
+
+ - Forthcoming
+
+ Mistral Vibe
+ To make Kilotest available on Mistral Vibe:
+
+ - Choose the Work tab.
+ - Click
Connect your apps for better answers
+ - Click the
+ Add connector
button.
+ - Click the
Add a custom connector
button.
+ - Enter
Kilotest
into the Connector name
input.
+ - Enter
https://kilotest.com/mcp
into the Server
input.
+ - Click the
Add connector
button.
+ - Toggle the
Ask/Allow
buttons to show Allow
.
+
What if this did not work? Use the comment form below to tell us about it.
You can also submit an issue on the Kilotest GitHub repository.