Relvato
by relvato.com · remote · no sign-in to list tools · v3.5.0 · published by com.relvato
Website monitoring: add sites, configure and run monitors, read health, review results, apply fixes.
58 tools: 12 can delete or cancel things, 1 do something that can't be undone, 28 change things and 17 only read.
Scanned Oct 21, 2026
- Deletes or cancels12Claude Code: deny: see these tools
- Can't be undone1Claude Code: ask: see these tools
- Changes things28Claude Code: ask: see these tools
- Only reads17Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http relvato https://app.relvato.com/api/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
58 tools
Deletes or cancels 12Claude Code: deny
accept_structure_changeThe 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 (al…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it 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.
Annotations the server declares
- title: Accept a structure change
- openWorldHint: false
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
accept_visual_changeThe 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.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it 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.
Annotations the server declares
- title: Accept a visual change
- openWorldHint: false
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
apply_fixWordPress sites: apply the one-click fix a run proposes (get_run proposedFix: e.g.No findings
Why it is in this group
- The name "apply_fix" says "apply": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it 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.
Annotations the server declares
- title: Apply a run's proposed fix
- openWorldHint: true
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
cancel_queued_runsStop a site's runs that are queued but haven't started (after a big trigger_scan, or before maintenance).No findings
Why it is in this group
- The name "cancel_queued_runs" says "cancel": a word for removing or ending something.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it 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.
Annotations the server declares
- title: Cancel queued runs
- openWorldHint: false
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
edit_custom_checkGive a custom monitor a new goal, page, name or mode.No findings
Why it is in this group
- The name "edit_custom_check" says "edit": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it 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.
Annotations the server declares
- title: Change a custom monitor
- openWorldHint: true
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
ignore_findingStop 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.No findings
Why it is in this group
- The description's first verb is "stop": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it 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.
Annotations the server declares
- title: Ignore a finding
- openWorldHint: false
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
ignore_structure_changeIgnore specific element changes on a page from now on (signatures from get_run metrics.pages[].added / removed / countChanges[].sig), e.g.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it 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.
Annotations the server declares
- title: Ignore a structure change
- openWorldHint: false
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
ignore_visual_changeIgnore the area that changed on this comparison from now on (a clock, a rotating banner): it's added to the baseline's ignored regions.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it 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.
Annotations the server declares
- title: Ignore a changed area
- openWorldHint: false
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
reauthor_custom_checkHave 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.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it 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.
Annotations the server declares
- title: Rewrite a custom monitor's recipe
- openWorldHint: true
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
start_safe_updateWordPress 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…No findings
Why it is in this group
- The name "start_safe_update" says "start": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it 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.
Annotations the server declares
- title: Safely update or deactivate a plugin
- openWorldHint: true
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
update_check_settingsChange a monitor's own settings.No findings
Why it is in this group
- The name "update_check_settings" says "update": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Change a monitor's own settings. Each monitor takes only its sections (get_check lists them as editable.sections): checkout (checkout monitors), devices (flow and page monitors), errorScan, brokenLinks, accessibilityPages (accessibility), uptime (the URL, text that must / must not appear, accepted statuses, timeout, alert after N minutes, maintenance windows, an API endpoint's method / body / JSON rules), aiOutput, browseUrl (storefront), shopUrl / productUrl (prices), dkimSelectors (email authentication), structurePages (structure drift), webVitalsDevices (Core Web Vitals). Every address must be a full URL on the site's own domain. A section you pass replaces that section; the rest stays. Turning it on or off and its schedule: update_check. The visual monitor: update_visual_monitor.
Annotations the server declares
- title: Change a monitor's settings
- openWorldHint: false
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
update_visual_monitorEdit the visual regression monitor: add pages (a built-in one by key, or a page of your own by its address on the site, e.g.No findings
Why it is in this group
- The name "update_visual_monitor" says "update": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Edit the visual regression monitor: add pages (a built-in one by key, or a page of your own by its address on the site, e.g. "/pricing"; up to 10 of your own), rename or re-point a page of your own, change any page's masks (CSS selectors painted over before comparing, for clocks, carousels, ads), remove pages, and set devices, browsers, full-page capture, the change threshold (percent) and the AI review. A page whose masks or address change gets a new baseline: its next run captures one for the user to approve. At most 40 screenshots a run (pages × devices × browsers). get_check lists the current pages and their keys.
Annotations the server declares
- title: Change the visual monitor's pages
- openWorldHint: false
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
Can't be undone 1Claude Code: ask
send_test_alertSend a test alert on one channel (email, slack or webhook) to check it arrives.No findings
Why it is in this group
- The name "send_test_alert" says "send": a word for sending, and what is sent cannot be taken back.
Description, as the server wrote it 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.
Annotations the server declares
- title: Send a test alert
- openWorldHint: true
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
Changes things 28Claude Code: ask
add_checksAdd monitors to a site by key (from list_checks).No findings
Why it is in this group
- The name "add_checks" says "add": a word for a change.
Description, as the server wrote it 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). Once the site's ownership is proven, 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). Before proof they're added but only run when trigger_scan starts them (scheduleStarts).
Annotations the server declares
- title: Add monitors
- openWorldHint: false
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
add_custom_checkDescribe in plain words what to verify on a page (e.g.No findings
Why it is in this group
- The name "add_custom_check" says "add": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- title: Create a custom monitor
- openWorldHint: true
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
add_heartbeatCreate a heartbeat for a job the user runs (cron job, backup script, scheduled task, CI job).No findings
Why it is in this group
- The name "add_heartbeat" says "add": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- title: Add a heartbeat
- openWorldHint: false
- readOnlyHint: false
- destructiveHint: false
add_siteStart monitoring a website.No findings
Why it is in this group
- The name "add_site" says "add": a word for a change.
Description, as the server wrote it Start monitoring a website. Returns the site and its setup: until the owner proves ownership (connect the WordPress plugin, or verify the domain — the only option for non-WordPress sites), trigger_scan can run the public monitors by hand 3 times a day (setup.manualRuns); scheduled runs, alerts, update/deploy runs and the monitors that act on the site need the proof (setup.nextStep); setup.afterProof says what proof adds for this site on its plan. 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
Annotations the server declares
- title: Add a site
- openWorldHint: false
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
approve_custom_checkApprove a custom monitor's proposed recipe (status proposed) so it runs and alerts from now on.No findings
Why it is in this group
- The name "approve_custom_check" says "approve": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- title: Approve a custom monitor
- openWorldHint: true
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
bring_back_runRelvato AI triage (a site on level "aside") set this failed run aside as likely noise — get_run shows aiTriage.setAside.No findings
Why it is in this group
- The name "bring_back_run" says "run": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- title: Bring back a set-aside failure
- openWorldHint: false
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
calibrate_siteWordPress / WooCommerce: have Relvato read the store again (a product to buy, checkout type, guest checkout, currency) after the store changed.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it 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.
Annotations the server declares
- title: Re-read the store
- openWorldHint: true
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
dismiss_recommendationStop recommending a monitor for a site (list_checks marks recommendations), or bring every dismissed recommendation back with restoreAll.No findings
Why it is in this group
- The name "dismiss_recommendation" says "dismiss": a word for a change.
Description, as the server wrote it Stop recommending a monitor for a site (list_checks marks recommendations), or bring every dismissed recommendation back with restoreAll.
Annotations the server declares
- title: Dismiss a recommended monitor
- openWorldHint: false
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
extend_quarantineKeep quarantine mode on for another 48 hours from now.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Keep quarantine mode on for another 48 hours from now.
Annotations the server declares
- title: Extend quarantine mode
- openWorldHint: true
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
flag_visual_change_as_problemThe AI review let a visual change pass, but it's actually broken: mark it a failure.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it 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.
Annotations the server declares
- title: Flag a visual change as a problem
- openWorldHint: false
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
pause_monitor_groupPause one monitoring group on a site for 1 hour, 24 hours or until resumed (maintenance, a redesign, a migration).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it 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.
Annotations the server declares
- title: Pause a monitoring group
- openWorldHint: false
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
report_false_positiveTell Relvato's team a run's result is wrong (it failed or warned about something that's fine).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it 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.
Annotations the server declares
- title: Report a false positive
- openWorldHint: true
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
request_ai_fixAsk Relvato's AI to suggest a fix for a run that failed or found a problem (the dashboard's "Suggest a fix").No findings
Why it is in this group
- The name "request_ai_fix" says "request": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- title: Ask Relvato AI for a fix
- openWorldHint: false
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
resume_monitor_groupResume 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).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it 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.
Annotations the server declares
- title: Resume a monitoring group
- openWorldHint: false
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
resume_webhookTurn webhook alerts back on after Relvato paused them for repeated failed deliveries (fix the endpoint first; send_test_alert checks it).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Turn webhook alerts back on after Relvato paused them for repeated failed deliveries (fix the endpoint first; send_test_alert checks it).
Annotations the server declares
- title: Resume webhook alerts
- openWorldHint: false
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
site_overviewPlain-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 moni…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- title: Site overview
- openWorldHint: false
- readOnlyHint: true
- destructiveHint: false
start_monitoring_for_goalsThe 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).No findings
Why it is in this group
- The name "start_monitoring_for_goals" says "start": a word for a change.
Description, as the server wrote it 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. Before the site's ownership is proven the monitors are added but don't run on their schedule yet (scheduleStarts).
Annotations the server declares
- title: Set up monitors for goals
- openWorldHint: false
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
start_quarantineAfter 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 …No findings
Why it is in this group
- The name "start_quarantine" says "start": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- title: Start quarantine mode
- openWorldHint: true
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
trigger_scanRun a site's enabled monitors now — or one group of them (group), or one monitor with checkId, even if it's turned off.No findings
Why it is in this group
- The name "trigger_scan" says "trigger": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- title: Run monitors now
- openWorldHint: true
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
undo_structure_reviewUndo the last accept or ignore on a page of the structure monitor.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Undo the last accept or ignore on a page of the structure monitor.
Annotations the server declares
- title: Undo a structure decision
- openWorldHint: false
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
undo_visual_reviewUndo the last accept or ignore on this page, device and browser: the earlier baseline comes back.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Undo the last accept or ignore on this page, device and browser: the earlier baseline comes back.
Annotations the server declares
- title: Undo a visual decision
- openWorldHint: false
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
unignore_findingMake an ignored finding count again (get_check lists a monitor's ignored findings with their keys; get_run marks them on a run).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Make an ignored finding count again (get_check lists a monitor's ignored findings with their keys; get_run marks them on a run).
Annotations the server declares
- title: Stop ignoring a finding
- openWorldHint: false
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
update_alert_settingsChange how often alerts are sent (instant and/or a daily or weekly digest), when the digest goes out, the minimum severity, and whether every run is emailed.No findings
Why it is in this group
- The name "update_alert_settings" says "update": a word for a change.
Description, as the server wrote it Change how often alerts are sent (instant and/or a daily or weekly digest), when the digest goes out, the minimum severity, and whether every run is emailed. Only the fields you pass change. Who gets alerts (the address, Slack, webhooks), muting sites or monitor types, and turning email alerts off stay in the dashboard.
Annotations the server declares
- title: Change alert timing and severity
- openWorldHint: false
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
update_checkTurn a monitor on or off, or change when it runs: its schedule (up to weekly on Free, daily on Pro, hourly on Business, every 15 minutes on Agency), re-runs when the WordPress site…No findings
Why it is in this group
- The name "update_check" says "update": a word for a change.
Description, as the server wrote it Turn a monitor on or off, or change when it runs: its schedule (up to weekly on Free, daily on Pro, hourly on Business, every 15 minutes on Agency), re-runs when the WordPress site changes (plugin, theme, core or WooCommerce updates; Pro and up) and random extra runs (Business and up). Only the fields you pass change. Its own settings (pages, URLs, checkout details) are changed with update_check_settings or update_visual_monitor.
Annotations the server declares
- title: Update a monitor
- openWorldHint: false
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
update_heartbeatRename a heartbeat, change its period or grace, or pause / resume it.No findings
Why it is in this group
- The name "update_heartbeat" says "update": a word for a change.
Description, as the server wrote it Rename a heartbeat, change its period or grace, or pause / resume it. Only the fields you pass change. Paused: pings are still recorded but nothing is judged or alerted (an open outage ends without a "back" alert); resumed, it waits for its next ping. Deleting a heartbeat stays in the dashboard.
Annotations the server declares
- title: Update a heartbeat
- openWorldHint: false
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
update_site_settingsChange a site's operational settings.No findings
Why it is in this group
- The name "update_site_settings" says "update": a word for a change.
Description, as the server wrote it Change a site's operational settings. Only the fields you pass change. Browser identity, the proxy, the firewall token, GitHub and search-engine connections, and deleting the site stay in the dashboard.
Annotations the server declares
- title: Change a site's settings
- openWorldHint: false
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
verify_siteCheck whether the site's ownership is proven: probes the WordPress plugin connection and/or looks for the domain-verification DNS TXT record / meta tag, or (method gsc / bing) asks…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Check whether the site's ownership is proven: probes the WordPress plugin connection and/or looks for the domain-verification DNS TXT record / meta tag, or (method gsc / bing) asks Google Search Console / Bing Webmaster Tools. Returns the updated setup state. Docs: https://www.relvato.com/docs/verify-site-ownership
Annotations the server declares
- title: Verify site setup
- openWorldHint: true
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
verify_vitals_beaconCheck that the real-user Web Vitals beacon is on the site (its homepage, or data already arriving).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Check that the real-user Web Vitals beacon is on the site (its homepage, or data already arriving). get_site_settings has the snippet to install.
Annotations the server declares
- title: Verify the real-user beacon
- openWorldHint: true
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
Only reads 17Claude Code: allow
get_activity_logWordPress 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, set…No findings
Why it is in this group
- The name "get_activity_log" says "get": a word for reading.
Description, as the server wrote it 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).
Annotations the server declares
- title: Get the WordPress activity log
- openWorldHint: false
- readOnlyHint: true
- destructiveHint: false
get_alert_settingsWho 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, p…No findings
Why it is in this group
- The name "get_alert_settings" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- title: Get alert settings
- openWorldHint: false
- readOnlyHint: true
- destructiveHint: false
get_checkOne 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 mon…No findings
Why it is in this group
- The name "get_check" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- title: Get a monitor's settings
- openWorldHint: false
- readOnlyHint: true
- destructiveHint: false
get_fix_promptFor 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 …No findings
Why it is in this group
- The name "get_fix_prompt" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- title: Get the fix brief for a run
- openWorldHint: false
- readOnlyHint: true
- destructiveHint: false
get_notificationsThe 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 loo…No findings
Why it is in this group
- The name "get_notifications" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- title: Get notifications
- openWorldHint: false
- readOnlyHint: true
- destructiveHint: false
get_performanceA 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 …No findings
Why it is in this group
- The name "get_performance" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- title: Get a site's performance
- openWorldHint: false
- readOnlyHint: true
- destructiveHint: false
get_quarantineQuarantine mode (WordPress, paid plans): 48 hours of hourly security runs after a cleanup, with plugin updates paused.No findings
Why it is in this group
- The name "get_quarantine" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- title: Get quarantine mode
- openWorldHint: false
- readOnlyHint: true
- destructiveHint: false
get_runOne 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…No findings
Why it is in this group
- The name "get_run" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- title: Get run details
- openWorldHint: false
- readOnlyHint: true
- destructiveHint: false
get_safe_updateFollow a safe update or deactivation: applying → verifying → passed, or reverted with the monitors that broke.No findings
Why it is in this group
- The name "get_safe_update" says "get": a word for reading.
Description, as the server wrote it Follow a safe update or deactivation: applying → verifying → passed, or reverted with the monitors that broke.
Annotations the server declares
- title: Get a safe update's progress
- openWorldHint: false
- readOnlyHint: true
- destructiveHint: false
get_site_healthHow 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 gr…No findings
Why it is in this group
- The name "get_site_health" says "get": a word for reading.
Description, as the server wrote it 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).
Annotations the server declares
- title: Get a site's health over time
- openWorldHint: false
- readOnlyHint: true
- destructiveHint: false
get_site_settingsA 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 rollb…No findings
Why it is in this group
- The name "get_site_settings" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- title: Get a site's settings
- openWorldHint: false
- readOnlyHint: true
- destructiveHint: false
get_status_pagesPublic 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.No findings
Why it is in this group
- The name "get_status_pages" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- title: Get status pages and client reports
- openWorldHint: false
- readOnlyHint: true
- destructiveHint: false
get_updatesWordPress 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…No findings
Why it is in this group
- The name "get_updates" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- title: Get a site's WordPress updates
- openWorldHint: false
- readOnlyHint: true
- destructiveHint: false
list_checksThe 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.No findings
Why it is in this group
- The name "list_checks" says "list": a word for reading.
Description, as the server wrote it 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. Before the site's ownership is proven, runsNow says which can run now (started by hand) and which after proof; for a site added as "other", withWordPressPlugin lists what the WordPress plugin adds.
Annotations the server declares
- title: List available monitors
- openWorldHint: false
- readOnlyHint: true
- destructiveHint: false
list_heartbeatsA 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 (per…No findings
Why it is in this group
- The name "list_heartbeats" says "list": a word for reading.
Description, as the server wrote it 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).
Annotations the server declares
- title: List a site's heartbeats
- openWorldHint: false
- readOnlyHint: true
- destructiveHint: false
list_runsRecent runs, newest first, optionally for one site, one monitor or one status.No findings
Why it is in this group
- The name "list_runs" says "list": a word for reading.
Description, as the server wrote it 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).
Annotations the server declares
- title: List runs
- openWorldHint: false
- readOnlyHint: true
- destructiveHint: false
list_sitesList the websites in this Relvato account, with whether each is ready to run monitors.No findings
Why it is in this group
- The name "list_sites" says "list": a word for reading.
Description, as the server wrote it List the websites in this Relvato account, with whether each is ready to run monitors.
Annotations the server declares
- title: List sites
- openWorldHint: false
- readOnlyHint: true
- destructiveHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 3.5.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http relvato https://app.relvato.com/api/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__relvato__list_sites",
"mcp__relvato__list_checks",
"mcp__relvato__get_site_health",
"mcp__relvato__get_performance",
"mcp__relvato__get_check",
"mcp__relvato__list_runs",
"mcp__relvato__get_run",
"mcp__relvato__get_fix_prompt",
"mcp__relvato__get_updates",
"mcp__relvato__get_safe_update",
"mcp__relvato__get_quarantine",
"mcp__relvato__get_activity_log",
"mcp__relvato__get_notifications",
"mcp__relvato__get_site_settings",
"mcp__relvato__get_alert_settings",
"mcp__relvato__get_status_pages",
"mcp__relvato__list_heartbeats"
],
"ask": [
"mcp__relvato__add_site",
"mcp__relvato__verify_site",
"mcp__relvato__start_monitoring_for_goals",
"mcp__relvato__add_checks",
"mcp__relvato__dismiss_recommendation",
"mcp__relvato__calibrate_site",
"mcp__relvato__verify_vitals_beacon",
"mcp__relvato__site_overview",
"mcp__relvato__update_check",
"mcp__relvato__pause_monitor_group",
"mcp__relvato__resume_monitor_group",
"mcp__relvato__add_custom_check",
"mcp__relvato__approve_custom_check",
"mcp__relvato__update_site_settings",
"mcp__relvato__update_alert_settings",
"mcp__relvato__add_heartbeat",
"mcp__relvato__update_heartbeat",
"mcp__relvato__trigger_scan",
"mcp__relvato__request_ai_fix",
"mcp__relvato__start_quarantine",
"mcp__relvato__extend_quarantine",
"mcp__relvato__send_test_alert",
"mcp__relvato__resume_webhook",
"mcp__relvato__report_false_positive",
"mcp__relvato__unignore_finding",
"mcp__relvato__bring_back_run",
"mcp__relvato__flag_visual_change_as_problem",
"mcp__relvato__undo_visual_review",
"mcp__relvato__undo_structure_review"
],
"deny": [
"mcp__relvato__update_visual_monitor",
"mcp__relvato__update_check_settings",
"mcp__relvato__edit_custom_check",
"mcp__relvato__reauthor_custom_check",
"mcp__relvato__cancel_queued_runs",
"mcp__relvato__apply_fix",
"mcp__relvato__start_safe_update",
"mcp__relvato__ignore_finding",
"mcp__relvato__accept_visual_change",
"mcp__relvato__ignore_visual_change",
"mcp__relvato__accept_structure_change",
"mcp__relvato__ignore_structure_change"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as relvato. Review it before you use it.