Scores a website's online presence 0-100 and lists the top issues to fix. English/Arabic.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Collect the result of a scan that scan_website started but had not finished when it answered. Call scan_website first; if its status is "processing", wait a little (about 30 seconds) and call this with the scanId it returned. Returns the same result as scan_website: "processing" (ask again shortly), "ready" (the 0-100 score and top issues) or "failed". It only reads: it never starts a scan. A scanId stops working 7 days after it was issued.
The scanId that scan_website returned with status "processing".
Optional: how many seconds to wait for a scan that is still running before answering (0-20, default 0 = answer now).
Collect the result of a scan that scan_website started but had not finished when it answered. Call scan_website first; if its status is "processing", wait a little (about 30 seconds) and call this with the scanId it returned. Returns the same result as scan_website: "processing" (ask again shortly), "ready" (the 0-100 score and top issues) or "failed". It only reads: it never starts a scan. A scanId stops working 7 days after it was issued.
| Argument | Type | Description |
|---|---|---|
| scanId* | string | The scanId that scan_website returned with status "processing". |
| waitSeconds | integer | Optional: how many seconds to wait for a scan that is still running before answering (0-20, default 0 = answer now). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"scanId"
],
"properties": {
"scanId": {
"type": "string",
"maxLength": 300,
"description": "The scanId that scan_website returned with status \"processing\"."
},
"waitSeconds": {
"type": "integer",
"maximum": 20,
"minimum": 0,
"description": "Optional: how many seconds to wait for a scan that is still running before answering (0-20, default 0 = answer now)."
}
},
"additionalProperties": false
}Score how well a business shows up online, out of 100, and name what is hurting it most. Give it a website (and an email to send the full report to) and it runs Kashif's audit of the business's online presence: whether customers can find them in search, whether AI assistants can read and recommend them, how fast the site feels on a phone and the first impression it makes, how trustworthy it looks, and how easy the business is to reach (WhatsApp, phone, a contact form). Returns a 0-100 score with the top issues to fix first. Use it whenever someone asks to audit, check, review, grade or improve a company's website or online presence. This starts a live scan and creates a lead for the Kashif team, who follow up with the full written report by email. If the result comes back with status "processing", the scan is still running: wait about 30 seconds, then call get_scan_result with the scanId it returned to collect the score.
| Argument | Type | Description |
|---|---|---|
| url* | string | The business’s website, e.g. example.com or https://example.com. |
| name | string | Optional: the person or business name, used to label the lead. |
| email* | string | An email address to send the full written report to. Required — this is a lead for the team. |
| language | string | Report language: "en" (default) or "ar" for Arabic. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url",
"email"
],
"properties": {
"url": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "The business’s website, e.g. example.com or https://example.com."
},
"name": {
"type": "string",
"maxLength": 120,
"description": "Optional: the person or business name, used to label the lead."
},
"email": {
"type": "string",
"maxLength": 200,
"minLength": 3,
"description": "An email address to send the full written report to. Required — this is a lead for the team."
},
"language": {
"enum": [
"en",
"ar"
],
"type": "string",
"description": "Report language: \"en\" (default) or \"ar\" for Arabic."
}
},
"additionalProperties": false
}