Scan and monitor websites for leaked keys, exposed files, security headers, SEO issues and uptime.
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.
Monitor a specific URL on one of your sites (for example an API health route, login or checkout page) with a GET or HEAD request on a schedule. Optionally require an exact HTTP status, a text snippet in the response, and a maximum response time. You get an email alert when it fails twice in a row and when it recovers. Wardzo never submits forms or sends request bodies.
Full URL on that site, or a path like "/api/health"
Site id, domain or URL of one of your monitored sites
Fail if the response takes longer than this many milliseconds
HTTP method (default GET)
Exact expected HTTP status (default: any 2xx or 3xx)
Text that must appear in the response body (GET only)
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Monitor a specific URL on one of your sites (for example an API health route, login or checkout page) with a GET or HEAD request on a schedule. Optionally require an exact HTTP status, a text snippet in the response, and a maximum response time. You get an email alert when it fails twice in a row and when it recovers. Wardzo never submits forms or sends request bodies.
| Argument | Type | Description |
|---|---|---|
| url* | string | Full URL on that site, or a path like "/api/health" |
| site* | string | Site id, domain or URL of one of your monitored sites |
| max_ms | integer | Fail if the response takes longer than this many milliseconds |
| method | string | HTTP method (default GET) |
| expect_status | integer | Exact expected HTTP status (default: any 2xx or 3xx) |
| expect_keyword | string | Text that must appear in the response body (GET only) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"site",
"url"
],
"properties": {
"url": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Full URL on that site, or a path like \"/api/health\""
},
"site": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "Site id, domain or URL of one of your monitored sites"
},
"max_ms": {
"type": "integer",
"maximum": 30000,
"minimum": 100,
"description": "Fail if the response takes longer than this many milliseconds"
},
"method": {
"enum": [
"GET",
"HEAD"
],
"type": "string",
"description": "HTTP method (default GET)"
},
"expect_status": {
"type": "integer",
"maximum": 599,
"minimum": 100,
"description": "Exact expected HTTP status (default: any 2xx or 3xx)"
},
"expect_keyword": {
"type": "string",
"maxLength": 100,
"description": "Text that must appear in the response body (GET only)"
}
},
"additionalProperties": false
}Start monitoring a website: it is scanned now, then re-scanned on your plan schedule, with uptime checks and email alerts.
| Argument | Type | Description |
|---|---|---|
| url* | string | Website URL or domain |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"maxLength": 300,
"minLength": 3,
"description": "Website URL or domain"
}
},
"additionalProperties": false
}Explain why an issue matters and give step-by-step fix instructions (with Next.js, Vercel, Netlify, Nginx, Apache, Cloudflare and WordPress snippets where relevant) that an AI coding agent can apply, plus how to verify.
| Argument | Type | Description |
|---|---|---|
| issue_id* | string | issue_id from list_issues/scan_site (e.g. "AbC123xyz:hsts_missing") or a check name (e.g. "exposed_env") |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"issue_id"
],
"properties": {
"issue_id": {
"type": "string",
"maxLength": 120,
"minLength": 3,
"description": "issue_id from list_issues/scan_site (e.g. \"AbC123xyz:hsts_missing\") or a check name (e.g. \"exposed_env\")"
}
},
"additionalProperties": false
}Get the result of a Wardzo scan by its id (from scan_site, recheck_site or a wardzo.com/r/<id> link).
| Argument | Type | Description |
|---|---|---|
| id* | string | Scan id or report URL |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"maxLength": 80,
"minLength": 6,
"description": "Scan id or report URL"
}
},
"additionalProperties": false
}Latest score (with change since the previous scan), open issues by severity, top issues, uptime (24h and 7d) and what changed in the last scan, for one of your monitored sites.
| Argument | Type | Description |
|---|---|---|
| site* | string | Site id, domain or URL |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"site"
],
"properties": {
"site": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "Site id, domain or URL"
}
},
"additionalProperties": false
}List the endpoint checks (GET/HEAD monitors for specific URLs such as /api/health) on one of your sites, with their current status, last HTTP status and response time.
| Argument | Type | Description |
|---|---|---|
| site* | string | Site id, domain or URL |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"site"
],
"properties": {
"site": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "Site id, domain or URL"
}
},
"additionalProperties": false
}List open issues from the latest scan of one of your sites, most severe first. Each issue has an issue_id for explain_issue.
| Argument | Type | Description |
|---|---|---|
| site* | string | Site id, domain or URL |
| severity | string | Minimum severity to include (default: low) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"site"
],
"properties": {
"site": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "Site id, domain or URL"
},
"severity": {
"enum": [
"critical",
"high",
"medium",
"low",
"info"
],
"type": "string",
"description": "Minimum severity to include (default: low)"
}
},
"additionalProperties": false
}List the websites monitored in your Wardzo account with their latest score, open issue counts and uptime status.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Run a fresh scan of one of your monitored sites (e.g. after deploying a fix) and report what changed. Waits up to ~45 seconds.
| Argument | Type | Description |
|---|---|---|
| site* | string | Site id, domain or URL |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"site"
],
"properties": {
"site": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "Site id, domain or URL"
}
},
"additionalProperties": false
}Stop monitoring one endpoint check and delete its history. Use list_endpoints to find the endpoint_id.
| Argument | Type | Description |
|---|---|---|
| endpoint_id* | integer | endpoint_id from list_endpoints |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"endpoint_id"
],
"properties": {
"endpoint_id": {
"type": "integer",
"description": "endpoint_id from list_endpoints",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}Run a passive outside-in Wardzo scan of a public website (security, SEO health, uptime) and return the score, issues and report URL. Waits up to ~45 seconds for the result. Works without an API key (rate limited).
| Argument | Type | Description |
|---|---|---|
| url* | string | Website URL or domain, e.g. example.com |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"maxLength": 300,
"minLength": 3,
"description": "Website URL or domain, e.g. example.com"
}
},
"additionalProperties": false
}