Relvato
REMOTE · APP.RELVATO.COM
Website monitoring: add sites, configure and run monitors, read health, review results, apply fixes.
Available components
Last scanned (32 minutes ago)
Scores higher than 96% of remote servers
Reachable. Last reached 17 Oct 2026.
Category Monitoring and Observability
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security100
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token. View diagnostics → Pass
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC is configured correctly; the domain's records validate against the full chain to the root. View diagnostics → Pass
- The authorisation server supports Client ID Metadata Documents, the current MCP client-registration mechanism. View diagnostics → Pass
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability73
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 7853 tokens (~135/item across 58 items; 58 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management63
- Stability observed for 19 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage97
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 91% of tool parameters carry a description.Partial
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 59 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities60
- Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 17 Oct 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Server version: 3.2.0 → 3.3.0 functional
- New tool “bring_back_run” functional
- “update_site_settings” added an optional parameter “aiTriage” cosmetic
- 16 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 57 to 60. That category is still filling its 30-day observation window: 17 days of observed history at the previous scan, 18 at this one. The score rises as the window fills, whether or not the server changes.
- 14 Oct 26 +1
- The server rewrote its instructions, which are the text every model session reads security
- Tool “apply_fix” rewrote its description, which is the text the model reads security
- Tool “start_safe_update” rewrote its description, which is the text the model reads security
- 13 Oct 26 +1
- DNSSEC: fail → pass ▲ security
- 12 Oct 26 +1
- Tool “apply_fix” rewrote its description, which is the text the model reads security
- Tool “start_quarantine” rewrote its description, which is the text the model reads security
- Tool “start_safe_update” rewrote its description, which is the text the model reads security
- 10 Oct 26 +1
- Tool “flag_visual_change_as_problem” rewrote its description, which is the text the model reads security
- Tool “get_run” rewrote its description, which is the text the model reads security
- Tool “get_site_health” rewrote its description, which is the text the model reads security
- 7 Oct 26 +1
- The server rewrote its instructions, which are the text every model session reads security
- Tool “start_monitoring_for_goals” rewrote its description, which is the text the model reads security
- Tool “update_check_settings” rewrote its description, which is the text the model reads security
- Tool “verify_site” rewrote its description, which is the text the model reads security
- Schema quality: 6481 → 7402 ▼ functional
- Server version: 3.1.0 → 3.2.0 functional
- New tool “add_heartbeat” functional
- New tool “list_heartbeats” functional
- New tool “update_heartbeat” functional
- “update_check_settings” added an optional parameter “uptime” cosmetic
- “pause_monitor_group” reworded the description of “group” cosmetic
- “trigger_scan” reworded the description of “group” cosmetic
- “verify_site” reworded the description of “method” cosmetic
- 5 Oct 26 0
- Tool “update_check_settings” rewrote its description, which is the text the model reads security
- “update_check_settings” added an optional parameter “accessibilityPages” cosmetic
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 17 Oct 2026 · Probed https://app.relvato.com/api/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=app.relvato.com | CN=YR2,O=Let's Encrypt,C=US | 16 Oct 2026 | 14 Jan 2027 | RSA 2048 | SHA256-RSA | 5d5412c688d9b619b56f7b90441ce51daee |
| SANs: app.relvato.com | ||||||
| CN=YR2,O=Let's Encrypt,C=US (CA) | CN=Root YR,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | RSA 2048 | SHA256-RSA | 4ebd24947e24d394802d84a52fd5b319 |
| CN=Root YR,O=ISRG,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | RSA 4096 | SHA256-RSA | f24b6d17f9d9ad7cb1c9fea78782699f |
Background: What to check on a remote MCP endpoint →
DNSSEC secure
Validation of app.relvato.com. — Secure
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| relvato.com. | present | 2371 | 13 | Verified |
| app.relvato.com. | Verified address RRset verified with the apex keys |
Authentication Enforced and verified
The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.
| Result | Enforced and verified |
|---|---|
| Enforced | On tool calls |
| HTTP status | 200 |
WWW-Authenticate challenge Bearer resource_metadata="https://app.relvato.com/.well-known/oauth-protected-resource/api/mcp", scope="relvato:read relvato:write user:org:read"
Bearer resource_metadata="https://app.relvato.com/.well-known/oauth-protected-resource/api/mcp", scope="relvato:read relvato:write user:org:read" | Header | Value |
|---|---|
| strict-transport-security | max-age=63072000; includeSubDomains |
| content-security-policy | frame-ancestors 'none'; base-uri 'self'; object-src 'none' |
| x-content-type-options | nosniff |
| x-frame-options | DENY |
| referrer-policy | strict-origin-when-cross-origin |
| permissions-policy | camera=(), microphone=(), geolocation=(), usb=() |
Protected resource metadata
| Document | https://app.relvato.com/.well-known/oauth-protected-resource/api/mcp |
|---|---|
| Retrieved | Yes |
| Resource | https://app.relvato.com/api/mcp |
| Authorisation server | https://clerk.relvato.com |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://app.relvato.com/api/mcp | Verified | 200 | |
| http (plaintext) | http://app.relvato.com/api/mcp | HTTPS enforced | 308 | https://app.relvato.com/api/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
accept_structure_change Accept a structure change ~100
The structure monitor found a page whose layout changed on purpose: adopt this run's structure as the new baseline for that page (pageKey), or for every changed page on the run (all: true). Undo with undo_structure_review.
| Name | Type | Req | Description |
|---|---|---|---|
| all | boolean | – | Every changed page on the run |
| pageKey | string | – | The page (get_run metrics.pages[].pageKey) |
| runId | string | yes | The structure monitor's run |
No output schema declared.
No examples provided.
accept_visual_change Accept a visual change ~75
The visual monitor found a page that changed on purpose (a redesign, new content): make this run's screenshot the new baseline for that page, device and browser. Undo with undo_visual_review. Only when the user confirms the change is intended.
| Name | Type | Req | Description |
|---|---|---|---|
| comparisonId | string | yes | From get_run visualComparisons[].comparisonId |
No output schema declared.
No examples provided.
add_checks Add monitors ~128
Add monitors to a site by key (from list_checks). Each key reports added / exists / rejected with the reason (plan, active-monitor limit, needs the WordPress plugin). New monitors get a daily schedule on plans that run daily (Pro and up) and a weekly one on Free, plus a re-run when the site changes on Pro and up (WordPress plugin updates, or pushes via the GitHub App).
| Name | Type | Req | Description |
|---|---|---|---|
| keys | array | yes | Check keys, e.g. ["uptime", "ssl", "error-scan"] |
| siteId | string | yes | The site id |
No output schema declared.
No examples provided.
add_custom_check Create a custom monitor ~233
Describe in plain words what to verify on a page (e.g. "the Pro plan shows a price", "search for 'shoes' returns results") and Relvato's AI writes a monitor for it, in a minute or two. Follow it with get_check: status goes authoring → proposed (show the user its rationale and steps, then approve_custom_check) or needs-input (answer with reauthor_custom_check) or failed (with advice). Read-only by default; interactive: true lets it click and type (search, filters, forms). Plan-gated; counts toward the active-monitor limit.
| Name | Type | Req | Description |
|---|---|---|---|
| authenticated | boolean | – | WordPress sites: run logged in as Relvato's verification user |
| goal | string | yes | What must be true on that page, in plain words |
| interactive | boolean | – | Allow clicking and typing on the live page |
| name | string | – | A name for the monitor (defaults to the goal) |
| siteId | string | yes | The site id |
| url | string | yes | The page to check: a full URL on the site |
No output schema declared.
No examples provided.
add_heartbeat Add a heartbeat ~355
Create a heartbeat for a job the user runs (cron job, backup script, scheduled task, CI job). Returns its ping URL: the job requests it when it succeeds (e.g. `your-job && curl -fsS -m 10 --retry 3 <pingUrl>`), and `<pingUrl>/fail` to report a failure (a POST body is kept with the ping). No ping within period + grace, or a failure, alerts the user at once; a new heartbeat waits for its first ping and never alerts before it. Adds the site's Heartbeats monitor with the first one. Plan limits per account: Free 2, Pro 20, Business 100, Agency 500.
| Name | Type | Req | Description |
|---|---|---|---|
| cron | string | – | Instead of a period: the job's cron expression (five fields, e.g. "0 3 * * *" or "*/15 * * * 1-5"; @daily, @hourly … work too). A ping is then due by each time it fires plus the grace |
| graceSec | number | – | How late a ping may be before it counts as missed, in seconds (60 to 604800 = 7 days; default 3600) |
| name | string | yes | What the job is, e.g. "Nightly backup" |
| periodSec | number | – | How often the job runs, in seconds (60 to 2678400 = 31 days; default 86400 = daily). Ignored when `cron` is set |
| siteId | string | yes | The site's id |
| tz | string | – | The cron expression's IANA time zone, e.g. Europe/Bucharest (default UTC) |
No output schema declared.
No examples provided.
add_site Add a site ~167
Start monitoring a website. Returns the site and the setup step the owner must complete before any monitor runs: connect the WordPress plugin, or verify the domain (the only option for non-WordPress sites). If the account already has a site on the same domain, that site is returned instead of a duplicate. How ownership is proven: https://www.relvato.com/docs/verify-site-ownership
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | – | Display name (defaults to the domain) |
| platform | string | yes | "wordpress" for WordPress/WooCommerce (deepest monitors via the Relvato plugin); "other" for any other site or AI-built app (public-page monitors, domain verification). |
| url | string | yes | The site's address, e.g. https://example.com |
No output schema declared.
No examples provided.
apply_fix Apply a run's proposed fix ~185
WordPress sites: apply the one-click fix a run proposes (get_run proposedFix: e.g. clear a stuck maintenance file, turn indexing back on, roll back the plugin update that broke it) through the Relvato plugin, then re-run the monitor to confirm. Only that exact fix can be applied. Tell the user what it changes (proposedFix.why and undo) and get their go-ahead first. undo: true reverts the last fix applied on the site. With Relvato plugin 1.77.0+ Relvato never changes the site remotely: the answer is applyInWordPress, a link where an administrator applies it in WordPress — give it to the user.
| Name | Type | Req | Description |
|---|---|---|---|
| runId | string | yes | The run that proposes the fix |
| undo | boolean | – | Revert the last fix applied on this site instead |
No output schema declared.
No examples provided.
approve_custom_check Approve a custom monitor ~104
Approve a custom monitor's proposed recipe (status proposed) so it runs and alerts from now on. Show the user its rationale and steps first (get_check). A recipe in interactive mode clicks or types on the live site: approve it only after the user agrees, with ack: true.
| Name | Type | Req | Description |
|---|---|---|---|
| ack | boolean | – | Required for an interactive recipe: the user agreed it may act on the live site |
| checkId | string | yes | The custom monitor's id |
No output schema declared.
No examples provided.
bring_back_run Bring back a set-aside failure ~90
Relvato AI triage (a site on level "aside") set this failed run aside as likely noise — get_run shows aiTriage.setAside. Make it count as a failure again: in the bell, the digest and site health. No alert is re-sent. Use it when the user says the failure is real.
| Name | Type | Req | Description |
|---|---|---|---|
| runId | string | yes | The set-aside run |
No output schema declared.
No examples provided.
calibrate_site Re-read the store ~58
WordPress / WooCommerce: have Relvato read the store again (a product to buy, checkout type, guest checkout, currency) after the store changed. Runs in the background.
| Name | Type | Req | Description |
|---|---|---|---|
| siteId | string | yes | The site id |
No output schema declared.
No examples provided.
cancel_queued_runs Cancel queued runs ~78
Stop a site's runs that are queued but haven't started (after a big trigger_scan, or before maintenance). Cancelled runs can't be brought back: start them again with trigger_scan. The run that's already going finishes; nothing already recorded is deleted. Get the user's go-ahead first.
| Name | Type | Req | Description |
|---|---|---|---|
| siteId | string | yes | The site id |
No output schema declared.
No examples provided.
dismiss_recommendation Dismiss a recommended monitor ~65
Stop recommending a monitor for a site (list_checks marks recommendations), or bring every dismissed recommendation back with restoreAll.
| Name | Type | Req | Description |
|---|---|---|---|
| key | string | – | The monitor key to stop recommending |
| restoreAll | boolean | – | – |
| siteId | string | yes | The site id |
No output schema declared.
No examples provided.
edit_custom_check Change a custom monitor ~114
Give a custom monitor a new goal, page, name or mode. Its current recipe is dropped and the AI writes a new one, which needs approving again before the monitor runs.
| Name | Type | Req | Description |
|---|---|---|---|
| authenticated | boolean | – | – |
| checkId | string | yes | The custom monitor's id |
| goal | string | yes | What must be true on that page |
| interactive | boolean | – | – |
| name | string | – | A new name |
| url | string | yes | The page to check: a full URL on the site |
No output schema declared.
No examples provided.
extend_quarantine Extend quarantine mode ~32
Keep quarantine mode on for another 48 hours from now.
| Name | Type | Req | Description |
|---|---|---|---|
| siteId | string | yes | The site id |
No output schema declared.
No examples provided.
flag_visual_change_as_problem Flag a visual change as a problem ~73
The AI review let a visual change pass, but it's actually broken: mark it a failure. The run counts as failed in Relvato and shows as needing attention (notifications, Monitors passing); no message is sent.
| Name | Type | Req | Description |
|---|---|---|---|
| comparisonId | string | yes | From get_run visualComparisons[].comparisonId |
No output schema declared.
No examples provided.
get_activity_log Get the WordPress activity log ~143
WordPress sites: who did what — sign-ins and failed sign-ins (with the network, not the full address), accounts and roles, application passwords, plugin / theme / core updates, setting and file edits, PHP errors and failed emails — newest first, within the plan's history (7 to 365 days).
| Name | Type | Req | Description |
|---|---|---|---|
| days | number | – | How far back (up to the plan's history) |
| filter | string | – | – |
| limit | number | – | Max events, 1-300 (default 100) |
| search | string | – | Only events mentioning this (a username, a plugin) |
| siteId | string | yes | The site id |
No output schema declared.
No examples provided.
get_alert_settings Get alert settings ~100
Who is told about what: how often (instant, daily / weekly digest), the minimum severity, each channel (email, Slack, webhook — whether the plan includes it, whether it's set up, paused, and `on` = alerts actually go out on it), which sites are muted and which monitor types go to which channel (only channels that are on). Never includes webhook URLs or secrets. Changing them is done by the user in Alert settings.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_check Get a monitor's settings ~140
One monitor in full: on/off, when it runs (schedule, time zone, re-runs on WordPress updates, random extra runs, and whether the plan allows them), its own settings (the visual monitor's pages with their keys, masks, devices, browsers and threshold; the checkout's product, coupon, shipping and field answers; extra pages to scan; …), which settings sections update_check_settings accepts for it, the findings the user ignored, an AI-authored monitor's goal, status, question and recipe steps, and its latest run.
| Name | Type | Req | Description |
|---|---|---|---|
| checkId | string | yes | The monitor's id (from site_overview or add_checks) |
No output schema declared.
No examples provided.
get_fix_prompt Get the fix brief for a run ~114
For a run that failed or found a problem: the same brief Relvato's own AI answers when the user clicks "Suggest a fix" — the site's detected stack, what the monitor verifies, what changed on the site just before, the exact error and findings, whether it was already failing earlier, and for Google / Bing Search the evidence that rules causes out. Use it as context to explain the likely cause and fixes; applying a fix stays with the user.
| Name | Type | Req | Description |
|---|---|---|---|
| runId | string | yes | The run id |
No output schema declared.
No examples provided.
get_notifications Get notifications ~51
The dashboard's notifications: failing monitors, a disconnected or outdated WordPress plugin, a silent real-user beacon, domain and ownership problems, safe updates that need a look, paused Slack or webhook alerts, and billing.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_performance Get a site's performance ~85
A site's speed: the performance summary, lab Core Web Vitals, real visitors' LCP / INP / CLS (p75, last 7 days against the 28 before, per page type and device), what slows it (the elements, images and scripts behind slow visits) and the top fixes with steps.
| Name | Type | Req | Description |
|---|---|---|---|
| siteId | string | yes | The site id |
No output schema declared.
No examples provided.
get_quarantine Get quarantine mode ~79
Quarantine mode (WordPress, paid plans): 48 hours of hourly security runs after a cleanup, with plugin updates paused. Whether it's available, on, until when, every change it saw (expected or not), which monitors it watches, the runs it would use, and past sessions.
| Name | Type | Req | Description |
|---|---|---|---|
| siteId | string | yes | The site id |
No output schema declared.
No examples provided.
get_run Get run details ~148
One run in detail: status, error and warnings (each with its key for ignore_finding; ignored ones marked; one Relvato never fixes carries noFix — why, and what to do instead), each step, visual comparisons (each with its comparisonId, links to the screenshot, the baseline and the diff that work for 10 minutes, and whether a decision on it can be undone), metrics, the one-click fix the run proposes if any, and Relvato AI's suggestion once requested. Large metrics are compacted, never the findings: daily series become summaries and what was left out is listed in metricsTrimmed.
| Name | Type | Req | Description |
|---|---|---|---|
| runId | string | yes | The run id |
No output schema declared.
No examples provided.
get_safe_update Get a safe update's progress ~43
Follow a safe update or deactivation: applying → verifying → passed, or reverted with the monitors that broke.
| Name | Type | Req | Description |
|---|---|---|---|
| changeId | string | yes | From start_safe_update |
No output schema declared.
No examples provided.
get_site_health Get a site's health over time ~118
How a site has been doing: the share of monitors passing now (the Overview's "Monitors passing") and each of the last 30 days, the trend over 28, 90 or 182 days, each monitoring group's briefing (what needs attention, its likely cause and fix), and — on paid plans — uptime from Relvato's own probes (availability % and incidents over 30 days).
| Name | Type | Req | Description |
|---|---|---|---|
| range | number | – | Trend length in days (default 28) |
| siteId | string | yes | The site id |
No output schema declared.
No examples provided.
get_site_settings Get a site's settings ~109
A site's Settings tab as values: what update_site_settings may change (name, request pacing, spacing between runs, firewall retry delay, flaky-monitor recovery streak, plugin rollback, counting Relvato's own visits in real-user data), what only the dashboard changes (browser identity, proxy, firewall allowlist token — never its value — GitHub, Google / Bing connections), the WordPress plugin's version, and the real-user beacon snippet.
| Name | Type | Req | Description |
|---|---|---|---|
| siteId | string | yes | The site id |
No output schema declared.
No examples provided.
get_status_pages Get status pages and client reports ~64
Public status pages (title, public link, sites, on/off) and monthly client reports per site (on/off, how many recipients, last sent), plus the report branding. Never a report's private link or recipients' addresses. Edited in the dashboard's Agency page.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_updates Get a site's WordPress updates ~76
WordPress sites: the safe auto-update policy and its recent windows (what was updated, rolled back or skipped, and why), plugin versions held back after a rollback, safe updates or deactivations Relvato made and their outcome, and the hardening settings that are on.
| Name | Type | Req | Description |
|---|---|---|---|
| siteId | string | yes | The site id |
No output schema declared.
No examples provided.
ignore_finding Ignore a finding ~100
Stop a finding (a warning on a run, by its key from get_run) from counting on this monitor: it stays on the run, marked ignored, but no longer alerts or fails later runs. Undo with unignore_finding. Only do this when the user says the finding is expected.
| Name | Type | Req | Description |
|---|---|---|---|
| key | string | yes | The finding's key (get_run warnings[].key) |
| runId | string | yes | The run the finding is on |
No output schema declared.
No examples provided.
ignore_structure_change Ignore a structure change ~80
Ignore specific element changes on a page from now on (signatures from get_run metrics.pages[].added / removed / countChanges[].sig), e.g. a widget that comes and goes. Undo with undo_structure_review.
| Name | Type | Req | Description |
|---|---|---|---|
| pageKey | string | yes | The page |
| runId | string | yes | The run |
| signatures | array | yes | – |
No output schema declared.
No examples provided.
ignore_visual_change Ignore a changed area ~73
Ignore the area that changed on this comparison from now on (a clock, a rotating banner): it's added to the baseline's ignored regions. Undo with undo_visual_review. A mask (update_visual_monitor) is often the better fix.
| Name | Type | Req | Description |
|---|---|---|---|
| comparisonId | string | yes | From get_run visualComparisons[].comparisonId |
No output schema declared.
No examples provided.
list_checks List available monitors ~55
The monitors that can be added to a site: key, what it catches, whether the current plan allows it, whether it's recommended for this site, and whether it's already added.
| Name | Type | Req | Description |
|---|---|---|---|
| siteId | string | yes | The site id |
No output schema declared.
No examples provided.
list_heartbeats List a site's heartbeats ~128
A site's heartbeats — cron jobs, backups and scheduled tasks that check in by requesting their own URL: each one's state (new = waiting for its first ping, up, down), schedule (period + grace, in seconds), last ping, when the next is due at the latest, whether the plan covers it, recent missed or failed check-ins and pings, plus the account's heartbeats used / allowed. Full-access connections also get each ping URL (it's what the job requests; anyone with it can send pings).
| Name | Type | Req | Description |
|---|---|---|---|
| siteId | string | yes | The site's id |
No output schema declared.
No examples provided.
list_runs List runs ~168
Recent runs, newest first, optionally for one site, one monitor or one status. Each has the monitor (checkId, checkName, and its key in `journey`), status, trigger, timing and its error / warning; get_run has the detail. For older runs pass `before` (the startedAt of the last run you got).
| Name | Type | Req | Description |
|---|---|---|---|
| before | string | – | Only runs started before this time (ISO 8601): the next page |
| checkId | string | – | Only runs of this monitor |
| limit | number | – | Max runs, 1-100 (default 25) |
| siteId | string | – | Only runs for this site id |
| status | string | – | Only runs with this status (a failure the user resolved counts as passed) |
No output schema declared.
No examples provided.
list_sites List sites ~27
List the websites in this Relvato account, with whether each is ready to run monitors.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
pause_monitor_group Pause a monitoring group ~202
Pause one monitoring group on a site for 1 hour, 24 hours or until resumed (maintenance, a redesign, a migration). The group's monitors that are on are switched off and remembered; when the time is up, or with resume_monitor_group, exactly those are switched back on, as far as the plan allows. Pausing a group that's already paused changes when it resumes. Pausing Security while the site is in quarantine stays in the dashboard. Tell the user which monitors stop watching and for how long, and get their go-ahead first. site_overview lists paused groups.
| Name | Type | Req | Description |
|---|---|---|---|
| duration | string | yes | How long: 1 hour, 24 hours, or until resumed |
| group | string | yes | The monitoring group: uptime = uptime, heartbeats and port monitors; flow = user flows; security; design; performance; seo; domain; compliance = legal compliance (accessibility) |
| siteId | string | yes | The site id |
No output schema declared.
No examples provided.
reauthor_custom_check Rewrite a custom monitor's recipe ~85
Have the AI write a custom monitor's recipe again: answer its question (status needs-input) with `answer`, or retry after it failed or went stale. The monitor stops running until the new recipe is approved.
| Name | Type | Req | Description |
|---|---|---|---|
| answer | string | – | Your reply to the AI's question (get_check custom.question) |
| checkId | string | yes | The custom monitor's id |
No output schema declared.
No examples provided.
report_false_positive Report a false positive ~92
Tell Relvato's team a run's result is wrong (it failed or warned about something that's fine). Sends the run's details and your note to Relvato's support team; it changes nothing on the run. To stop being told about a finding, use ignore_finding.
| Name | Type | Req | Description |
|---|---|---|---|
| note | string | – | What's wrong with the result (optional) |
| runId | string | yes | The run id |
No output schema declared.
No examples provided.
request_ai_fix Ask Relvato AI for a fix ~86
Ask Relvato's AI to suggest a fix for a run that failed or found a problem (the dashboard's "Suggest a fix"). It answers in a minute or two: read it as aiFix on get_run. Plan-gated. get_fix_prompt gives the same brief for you to reason with yourself, without waiting.
| Name | Type | Req | Description |
|---|---|---|---|
| runId | string | yes | The run id |
No output schema declared.
No examples provided.
resume_monitor_group Resume a monitoring group ~81
Resume a paused monitoring group now: the monitors its pause switched off go back on (a monitor the plan no longer allows stays off, with the reason in keptOff). A group that isn't paused is left as it is.
| Name | Type | Req | Description |
|---|---|---|---|
| group | string | yes | The paused group (site_overview pausedGroups) |
| siteId | string | yes | The site id |
No output schema declared.
No examples provided.
resume_webhook Resume webhook alerts ~36
Turn webhook alerts back on after Relvato paused them for repeated failed deliveries (fix the endpoint first; send_test_alert checks it).
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
send_test_alert Send a test alert ~52
Send a test alert on one channel (email, slack or webhook) to check it arrives. Slack and webhooks are on paid plans and must be set up in the dashboard.
| Name | Type | Req | Description |
|---|---|---|---|
| channel | string | yes | – |
No output schema declared.
No examples provided.
site_overview Site overview ~127
Plain-language health verdict for a site: what needs attention (real issues vs likely false positives), each monitor with its latest run and schedule, setup state, recommended monitors not yet added, and the account's run usage. On WordPress 6.9+ it also lists the site's AI abilities (WordPress Abilities API) from the latest exposure scan: which plugin registered each, whether AI assistants (MCP Adapter) or REST clients can use it, which ones anyone can run without signing in, and which can delete data.
| Name | Type | Req | Description |
|---|---|---|---|
| siteId | string | yes | The site id |
No output schema declared.
No examples provided.
start_monitoring_for_goals Set up monitors for goals ~95
The onboarding shortcut: pick what matters and Relvato adds the monitors that cover it on the current plan (plus uptime, SSL, errors, maintenance mode and structure). Goals: flows (checkout and sign-in), security, search, design, compliance (law compliance — accessibility today), speed, domain, custom, ai.
| Name | Type | Req | Description |
|---|---|---|---|
| goals | array | yes | – |
| siteId | string | yes | The site id |
No output schema declared.
No examples provided.
start_quarantine Start quarantine mode ~100
After a hack or a cleanup (WordPress, paid plans): run the security monitors every hour for 48 hours, pause plugin updates (with Relvato plugin 1.77.0+ that pause is a tick box in WordPress → Relvato), and alert on every unexpected change. Uses runs (get_quarantine says how many). Stopping it early stays in the dashboard.
| Name | Type | Req | Description |
|---|---|---|---|
| siteId | string | yes | The site id |
No output schema declared.
No examples provided.
start_safe_update Safely update or deactivate a plugin ~178
WordPress sites: for a vulnerable or outdated plugin a run found (get_run warnings with a plugin), update it (or deactivate it) through the Relvato plugin, re-run the monitors that were passing, and undo it if any of them breaks. Counts as runs. Follow it with get_safe_update. Get the user's go-ahead first. With Relvato plugin 1.77.0+ the change is made in WordPress by an administrator (answer: applyInWordPress, a link to give the user); Relvato verifies it, and if it breaks a monitor Relvato alerts the user to undo it there.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| plugin | string | yes | The plugin's slug (the finding's subject.slug) |
| runId | string | yes | The run that found the plugin |
No output schema declared.
No examples provided.
trigger_scan Run monitors now ~193
Run a site's enabled monitors now — or one group of them (group), or one monitor with checkId, even if it's turned off. Each run counts toward the monthly run quota. Runs go one at a time and take from seconds to a few minutes each, so all of a site's monitors usually take several minutes: the result's estimatedMinutes and tellUser say how long, so tell the user to expect a wait. Returns the runIds to follow with get_run or list_runs; cancel_queued_runs stops the ones that haven't started.
| Name | Type | Req | Description |
|---|---|---|---|
| checkId | string | – | Run only this monitor |
| group | string | – | Run only this group's enabled monitors (as the dashboard's Run group): uptime = uptime, heartbeats and port monitors; flow = user flows; security; design; performance; seo; domain; compliance = legal… |
| siteId | string | yes | The site id |
No output schema declared.
No examples provided.
undo_structure_review Undo a structure decision ~43
Undo the last accept or ignore on a page of the structure monitor.
| Name | Type | Req | Description |
|---|---|---|---|
| pageKey | string | yes | The page |
| runId | string | yes | The run |
No output schema declared.
No examples provided.
undo_visual_review Undo a visual decision ~46
Undo the last accept or ignore on this page, device and browser: the earlier baseline comes back.
| Name | Type | Req | Description |
|---|---|---|---|
| comparisonId | string | yes | From get_run visualComparisons[].comparisonId |
No output schema declared.
No examples provided.
unignore_finding Stop ignoring a finding ~75
Make an ignored finding count again (get_check lists a monitor's ignored findings with their keys; get_run marks them on a run).
| Name | Type | Req | Description |
|---|---|---|---|
| checkId | string | yes | The monitor |
| key | string | yes | The finding's key |
| runId | string | – | Optional: apply it to this run right away |
No output schema declared.
No examples provided.
How do I install the Relvato MCP server?
Relvato is a hosted endpoint at https://app.relvato.com/api/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · app.relvato.com
claude mcp add --transport http com-relvato-relvato 'https://app.relvato.com/api/mcp'
What is the Relvato MCP server?
Relvato is an MCP server listed in the public MCP registry as com.relvato/relvato. Website monitoring: add sites, configure and run monitors, read health, review results, apply fixes. This page covers its hosted endpoint (https://app.relvato.com/api/mcp).
Is the Relvato MCP server safe to use?
Relvato scores 88 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Relvato MCP server expose?
Relvato exposes 58 tools: list_sites, add_site, verify_site, start_monitoring_for_goals, list_checks, and 53 more. Their descriptions and schemas cost roughly 7,204 tokens of context every time the server is loaded.
Does the Relvato MCP server require authentication?
Yes. Relvato asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.
Is the Relvato MCP server still maintained?
Relvato is still listed as active in the MCP registry. We last reached this channel on 17 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.