{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_6hzjgk8z4hsq","handle":"relvato","url":"https://wellknown.network/agents/relvato","links":{"self":"https://wellknown.network/agents/relvato/record.json","html":"https://wellknown.network/agents/relvato","markdown":"https://wellknown.network/agents/relvato/record.md","api":"https://wellknown.network/api/v1/agents/relvato","status":"https://wellknown.network/api/v1/agents/relvato/status","claim":"https://wellknown.network/agents/relvato/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/relvato/claim.json","badge":"https://wellknown.network/agents/relvato/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/relvato/history","tools":"https://wellknown.network/api/v1/agents/relvato/tools"},"ard":{"identifier":"urn:air:app.relvato.com:server:relvato","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Relvato","summary":"Website monitoring: add sites, configure and run monitors, read health, review results, apply fixes.","description":"Website monitoring: add sites, configure and run monitors, read health, review results, apply fixes.","publisher":{"name":"com.relvato","url":null},"homepage":"https://www.relvato.com/developers","repository":"https://github.com/Relvato/relvato-mcp","version":"3.2.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://app.relvato.com/api/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-06T09:17:18.936822Z","publishedAt":"2026-10-06T09:17:18.936822Z","registryName":"com.relvato/relvato"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"dev.monitoring","name":"Monitoring & Observability","confidence":1,"provenance":"derived"},{"slug":"commerce.ecommerce","name":"E-commerce Operations","confidence":1,"provenance":"derived"},{"slug":"communication.notifications","name":"Notifications","confidence":1,"provenance":"derived"},{"slug":"analytics.reporting","name":"Reporting & Dashboards","confidence":1,"provenance":"derived"},{"slug":"dev.version-control","name":"Version Control","confidence":0.992,"provenance":"derived"},{"slug":"communication.chat","name":"Team Chat","confidence":0.992,"provenance":"derived"},{"slug":"automation.workflows","name":"Workflow Automation","confidence":0.977,"provenance":"derived"},{"slug":"code.review","name":"Code Review","confidence":0.885,"provenance":"derived"}],"categories":["analytics","automation","code","commerce","communication","dev"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 4h ago.","lastOkAt":"2026-10-11T03:20:26.495Z","lastProbedAt":"2026-10-11T03:20:26.495Z","statusComputedAt":"2026-10-11T03:22:23.201Z","reliability30d":{"probes":39,"successRate":1,"p50Ms":85,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":39,"ok":39,"authBoundaryOk":0,"serviceOk":39,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-11T03:20:26.495Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":76,"error":null,"detail":{"tools":[{"name":"list_sites","description":"List the websites in this Relvato account, with whether each is ready to run monitors."},{"name":"add_site","description":"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 dom"},{"name":"verify_site","description":"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 (met"},{"name":"start_monitoring_for_goals","description":"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 struc"},{"name":"list_checks","description":"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 alr"},{"name":"add_checks","description":"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 pl"},{"name":"dismiss_recommendation","description":"Stop recommending a monitor for a site (list_checks marks recommendations), or bring every dismissed recommendation back with restoreAll."},{"name":"calibrate_site","description":"WordPress / WooCommerce: have Relvato read the store again (a product to buy, checkout type, guest checkout, currency) after the store changed. Runs in the back"},{"name":"verify_vitals_beacon","description":"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."},{"name":"site_overview","description":"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 sta"},{"name":"get_site_health","description":"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"},{"name":"get_performance","description":"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),"},{"name":"get_check","description":"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 sett"},{"name":"list_runs","description":"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, trig"},{"name":"get_run","description":"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 "},{"name":"get_fix_prompt","description":"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 mon"},{"name":"get_updates","description":"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 rollb"},{"name":"get_safe_update","description":"Follow a safe update or deactivation: applying → verifying → passed, or reverted with the monitors that broke."},{"name":"get_quarantine","description":"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, e"},{"name":"get_activity_log","description":"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"},{"name":"get_notifications","description":"The dashboard's notifications: failing monitors, a disconnected or outdated WordPress plugin, a silent real-user beacon, domain and ownership problems, safe upd"},{"name":"get_site_settings","description":"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 "},{"name":"get_alert_settings","description":"Who is told about what: how often (instant, daily / weekly digest), the minimum severity, each channel (email, Slack, webhook — whether the plan includes it, wh"},{"name":"get_status_pages","description":"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. "},{"name":"list_heartbeats","description":"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, "},{"name":"update_check","description":"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 whe"},{"name":"pause_monitor_group","description":"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"},{"name":"resume_monitor_group","description":"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)"},{"name":"update_visual_monitor","description":"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), "},{"name":"update_check_settings","description":"Change a monitor's own settings. Each monitor takes only its sections (get_check lists them as editable.sections): checkout (checkout monitors), devices (flow a"},{"name":"add_custom_check","description":"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"},{"name":"edit_custom_check","description":"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 "},{"name":"reauthor_custom_check","description":"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 s"},{"name":"approve_custom_check","description":"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 recip"},{"name":"update_site_settings","description":"Change a site's operational settings. Only the fields you pass change. Browser identity, the proxy, the firewall token, GitHub and search-engine connections, an"},{"name":"update_alert_settings","description":"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. On"},{"name":"add_heartbeat","description":"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. `"},{"name":"update_heartbeat","description":"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"},{"name":"trigger_scan","description":"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 q"},{"name":"cancel_queued_runs","description":"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"},{"name":"request_ai_fix","description":"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"},{"name":"apply_fix","description":"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 u"},{"name":"start_safe_update","description":"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-r"},{"name":"start_quarantine","description":"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 pau"},{"name":"extend_quarantine","description":"Keep quarantine mode on for another 48 hours from now."},{"name":"send_test_alert","description":"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":"resume_webhook","description":"Turn webhook alerts back on after Relvato paused them for repeated failed deliveries (fix the endpoint first; send_test_alert checks it)."},{"name":"report_false_positive","description":"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; "},{"name":"ignore_finding","description":"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 l"},{"name":"unignore_finding","description":"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":"accept_visual_change","description":"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"},{"name":"ignore_visual_change","description":"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_re"},{"name":"flag_visual_change_as_problem","description":"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 (notific"},{"name":"undo_visual_review","description":"Undo the last accept or ignore on this page, device and browser: the earlier baseline comes back."},{"name":"accept_structure_change","description":"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"},{"name":"ignore_structure_change","description":"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 a"},{"name":"undo_structure_review","description":"Undo the last accept or ignore on a page of the structure monitor."}],"toolCount":57,"toolsHash":"550ac0d1622e00fad4e3b2bce59e41418f803ec662f1735791f32e97f60aa10f","serverName":"relvato","capabilities":["tools"],"serverVersion":"3.2.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T20:28:57.698Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":55,"error":null,"detail":{"tools":[{"name":"list_sites","description":"List the websites in this Relvato account, with whether each is ready to run monitors."},{"name":"add_site","description":"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 dom"},{"name":"verify_site","description":"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 (met"},{"name":"start_monitoring_for_goals","description":"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 struc"},{"name":"list_checks","description":"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 alr"},{"name":"add_checks","description":"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 pl"},{"name":"dismiss_recommendation","description":"Stop recommending a monitor for a site (list_checks marks recommendations), or bring every dismissed recommendation back with restoreAll."},{"name":"calibrate_site","description":"WordPress / WooCommerce: have Relvato read the store again (a product to buy, checkout type, guest checkout, currency) after the store changed. Runs in the back"},{"name":"verify_vitals_beacon","description":"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."},{"name":"site_overview","description":"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 sta"},{"name":"get_site_health","description":"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"},{"name":"get_performance","description":"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),"},{"name":"get_check","description":"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 sett"},{"name":"list_runs","description":"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, trig"},{"name":"get_run","description":"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 "},{"name":"get_fix_prompt","description":"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 mon"},{"name":"get_updates","description":"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 rollb"},{"name":"get_safe_update","description":"Follow a safe update or deactivation: applying → verifying → passed, or reverted with the monitors that broke."},{"name":"get_quarantine","description":"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, e"},{"name":"get_activity_log","description":"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"},{"name":"get_notifications","description":"The dashboard's notifications: failing monitors, a disconnected or outdated WordPress plugin, a silent real-user beacon, domain and ownership problems, safe upd"},{"name":"get_site_settings","description":"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 "},{"name":"get_alert_settings","description":"Who is told about what: how often (instant, daily / weekly digest), the minimum severity, each channel (email, Slack, webhook — whether the plan includes it, wh"},{"name":"get_status_pages","description":"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. "},{"name":"list_heartbeats","description":"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, "},{"name":"update_check","description":"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 whe"},{"name":"pause_monitor_group","description":"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"},{"name":"resume_monitor_group","description":"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)"},{"name":"update_visual_monitor","description":"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), "},{"name":"update_check_settings","description":"Change a monitor's own settings. Each monitor takes only its sections (get_check lists them as editable.sections): checkout (checkout monitors), devices (flow a"},{"name":"add_custom_check","description":"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"},{"name":"edit_custom_check","description":"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 "},{"name":"reauthor_custom_check","description":"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 s"},{"name":"approve_custom_check","description":"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 recip"},{"name":"update_site_settings","description":"Change a site's operational settings. Only the fields you pass change. Browser identity, the proxy, the firewall token, GitHub and search-engine connections, an"},{"name":"update_alert_settings","description":"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. On"},{"name":"add_heartbeat","description":"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. `"},{"name":"update_heartbeat","description":"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"},{"name":"trigger_scan","description":"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 q"},{"name":"cancel_queued_runs","description":"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"},{"name":"request_ai_fix","description":"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"},{"name":"apply_fix","description":"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 u"},{"name":"start_safe_update","description":"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-r"},{"name":"start_quarantine","description":"After a hack or a cleanup (WordPress, paid plans): run the security monitors every hour for 48 hours, pause plugin updates, and alert on every unexpected change"},{"name":"extend_quarantine","description":"Keep quarantine mode on for another 48 hours from now."},{"name":"send_test_alert","description":"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":"resume_webhook","description":"Turn webhook alerts back on after Relvato paused them for repeated failed deliveries (fix the endpoint first; send_test_alert checks it)."},{"name":"report_false_positive","description":"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; "},{"name":"ignore_finding","description":"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 l"},{"name":"unignore_finding","description":"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":"accept_visual_change","description":"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"},{"name":"ignore_visual_change","description":"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_re"},{"name":"flag_visual_change_as_problem","description":"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 (notific"},{"name":"undo_visual_review","description":"Undo the last accept or ignore on this page, device and browser: the earlier baseline comes back."},{"name":"accept_structure_change","description":"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"},{"name":"ignore_structure_change","description":"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 a"},{"name":"undo_structure_review","description":"Undo the last accept or ignore on a page of the structure monitor."}],"toolCount":57,"toolsHash":"bbb4232443777f309ea8bb75ea1b3afc2afa8a22d9ca5bf09449dc3d793b2dd7","serverName":"relvato","capabilities":["tools"],"serverVersion":"3.2.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T14:26:26.190Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":74,"error":null,"detail":{"tools":[{"name":"list_sites","description":"List the websites in this Relvato account, with whether each is ready to run monitors."},{"name":"add_site","description":"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 dom"},{"name":"verify_site","description":"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 (met"},{"name":"start_monitoring_for_goals","description":"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 struc"},{"name":"list_checks","description":"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 alr"},{"name":"add_checks","description":"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 pl"},{"name":"dismiss_recommendation","description":"Stop recommending a monitor for a site (list_checks marks recommendations), or bring every dismissed recommendation back with restoreAll."},{"name":"calibrate_site","description":"WordPress / WooCommerce: have Relvato read the store again (a product to buy, checkout type, guest checkout, currency) after the store changed. Runs in the back"},{"name":"verify_vitals_beacon","description":"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."},{"name":"site_overview","description":"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 sta"},{"name":"get_site_health","description":"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"},{"name":"get_performance","description":"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),"},{"name":"get_check","description":"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 sett"},{"name":"list_runs","description":"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, trig"},{"name":"get_run","description":"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 "},{"name":"get_fix_prompt","description":"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 mon"},{"name":"get_updates","description":"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 rollb"},{"name":"get_safe_update","description":"Follow a safe update or deactivation: applying → verifying → passed, or reverted with the monitors that broke."},{"name":"get_quarantine","description":"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, e"},{"name":"get_activity_log","description":"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"},{"name":"get_notifications","description":"The dashboard's notifications: failing monitors, a disconnected or outdated WordPress plugin, a silent real-user beacon, domain and ownership problems, safe upd"},{"name":"get_site_settings","description":"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 "},{"name":"get_alert_settings","description":"Who is told about what: how often (instant, daily / weekly digest), the minimum severity, each channel (email, Slack, webhook — whether the plan includes it, wh"},{"name":"get_status_pages","description":"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. "},{"name":"list_heartbeats","description":"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, "},{"name":"update_check","description":"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 whe"},{"name":"pause_monitor_group","description":"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"},{"name":"resume_monitor_group","description":"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)"},{"name":"update_visual_monitor","description":"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), "},{"name":"update_check_settings","description":"Change a monitor's own settings. Each monitor takes only its sections (get_check lists them as editable.sections): checkout (checkout monitors), devices (flow a"},{"name":"add_custom_check","description":"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"},{"name":"edit_custom_check","description":"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 "},{"name":"reauthor_custom_check","description":"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 s"},{"name":"approve_custom_check","description":"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 recip"},{"name":"update_site_settings","description":"Change a site's operational settings. Only the fields you pass change. Browser identity, the proxy, the firewall token, GitHub and search-engine connections, an"},{"name":"update_alert_settings","description":"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. On"},{"name":"add_heartbeat","description":"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. `"},{"name":"update_heartbeat","description":"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"},{"name":"trigger_scan","description":"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 q"},{"name":"cancel_queued_runs","description":"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"},{"name":"request_ai_fix","description":"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"},{"name":"apply_fix","description":"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 u"},{"name":"start_safe_update","description":"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-r"},{"name":"start_quarantine","description":"After a hack or a cleanup (WordPress, paid plans): run the security monitors every hour for 48 hours, pause plugin updates, and alert on every unexpected change"},{"name":"extend_quarantine","description":"Keep quarantine mode on for another 48 hours from now."},{"name":"send_test_alert","description":"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":"resume_webhook","description":"Turn webhook alerts back on after Relvato paused them for repeated failed deliveries (fix the endpoint first; send_test_alert checks it)."},{"name":"report_false_positive","description":"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; "},{"name":"ignore_finding","description":"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 l"},{"name":"unignore_finding","description":"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":"accept_visual_change","description":"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"},{"name":"ignore_visual_change","description":"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_re"},{"name":"flag_visual_change_as_problem","description":"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 (notific"},{"name":"undo_visual_review","description":"Undo the last accept or ignore on this page, device and browser: the earlier baseline comes back."},{"name":"accept_structure_change","description":"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"},{"name":"ignore_structure_change","description":"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 a"},{"name":"undo_structure_review","description":"Undo the last accept or ignore on a page of the structure monitor."}],"toolCount":57,"toolsHash":"bbb4232443777f309ea8bb75ea1b3afc2afa8a22d9ca5bf09449dc3d793b2dd7","serverName":"relvato","capabilities":["tools"],"serverVersion":"3.2.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T08:32:20.150Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":62,"error":null,"detail":{"tools":[{"name":"list_sites","description":"List the websites in this Relvato account, with whether each is ready to run monitors."},{"name":"add_site","description":"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 dom"},{"name":"verify_site","description":"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 (met"},{"name":"start_monitoring_for_goals","description":"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 struc"},{"name":"list_checks","description":"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 alr"},{"name":"add_checks","description":"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 pl"},{"name":"dismiss_recommendation","description":"Stop recommending a monitor for a site (list_checks marks recommendations), or bring every dismissed recommendation back with restoreAll."},{"name":"calibrate_site","description":"WordPress / WooCommerce: have Relvato read the store again (a product to buy, checkout type, guest checkout, currency) after the store changed. Runs in the back"},{"name":"verify_vitals_beacon","description":"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."},{"name":"site_overview","description":"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 sta"},{"name":"get_site_health","description":"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"},{"name":"get_performance","description":"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),"},{"name":"get_check","description":"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 sett"},{"name":"list_runs","description":"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, trig"},{"name":"get_run","description":"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 "},{"name":"get_fix_prompt","description":"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 mon"},{"name":"get_updates","description":"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 rollb"},{"name":"get_safe_update","description":"Follow a safe update or deactivation: applying → verifying → passed, or reverted with the monitors that broke."},{"name":"get_quarantine","description":"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, e"},{"name":"get_activity_log","description":"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"},{"name":"get_notifications","description":"The dashboard's notifications: failing monitors, a disconnected or outdated WordPress plugin, a silent real-user beacon, domain and ownership problems, safe upd"},{"name":"get_site_settings","description":"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 "},{"name":"get_alert_settings","description":"Who is told about what: how often (instant, daily / weekly digest), the minimum severity, each channel (email, Slack, webhook — whether the plan includes it, wh"},{"name":"get_status_pages","description":"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. "},{"name":"list_heartbeats","description":"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, "},{"name":"update_check","description":"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 whe"},{"name":"pause_monitor_group","description":"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"},{"name":"resume_monitor_group","description":"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)"},{"name":"update_visual_monitor","description":"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), "},{"name":"update_check_settings","description":"Change a monitor's own settings. Each monitor takes only its sections (get_check lists them as editable.sections): checkout (checkout monitors), devices (flow a"},{"name":"add_custom_check","description":"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"},{"name":"edit_custom_check","description":"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 "},{"name":"reauthor_custom_check","description":"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 s"},{"name":"approve_custom_check","description":"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 recip"},{"name":"update_site_settings","description":"Change a site's operational settings. Only the fields you pass change. Browser identity, the proxy, the firewall token, GitHub and search-engine connections, an"},{"name":"update_alert_settings","description":"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. On"},{"name":"add_heartbeat","description":"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. `"},{"name":"update_heartbeat","description":"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"},{"name":"trigger_scan","description":"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 q"},{"name":"cancel_queued_runs","description":"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"},{"name":"request_ai_fix","description":"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"},{"name":"apply_fix","description":"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 u"},{"name":"start_safe_update","description":"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-r"},{"name":"start_quarantine","description":"After a hack or a cleanup (WordPress, paid plans): run the security monitors every hour for 48 hours, pause plugin updates, and alert on every unexpected change"},{"name":"extend_quarantine","description":"Keep quarantine mode on for another 48 hours from now."},{"name":"send_test_alert","description":"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":"resume_webhook","description":"Turn webhook alerts back on after Relvato paused them for repeated failed deliveries (fix the endpoint first; send_test_alert checks it)."},{"name":"report_false_positive","description":"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; "},{"name":"ignore_finding","description":"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 l"},{"name":"unignore_finding","description":"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":"accept_visual_change","description":"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"},{"name":"ignore_visual_change","description":"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_re"},{"name":"flag_visual_change_as_problem","description":"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 (notific"},{"name":"undo_visual_review","description":"Undo the last accept or ignore on this page, device and browser: the earlier baseline comes back."},{"name":"accept_structure_change","description":"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"},{"name":"ignore_structure_change","description":"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 a"},{"name":"undo_structure_review","description":"Undo the last accept or ignore on a page of the structure monitor."}],"toolCount":57,"toolsHash":"bbb4232443777f309ea8bb75ea1b3afc2afa8a22d9ca5bf09449dc3d793b2dd7","serverName":"relvato","capabilities":["tools"],"serverVersion":"3.2.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T01:23:59.681Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":73,"error":null,"detail":{"tools":[{"name":"list_sites","description":"List the websites in this Relvato account, with whether each is ready to run monitors."},{"name":"add_site","description":"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 dom"},{"name":"verify_site","description":"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 (met"},{"name":"start_monitoring_for_goals","description":"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 struc"},{"name":"list_checks","description":"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 alr"},{"name":"add_checks","description":"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 pl"},{"name":"dismiss_recommendation","description":"Stop recommending a monitor for a site (list_checks marks recommendations), or bring every dismissed recommendation back with restoreAll."},{"name":"calibrate_site","description":"WordPress / WooCommerce: have Relvato read the store again (a product to buy, checkout type, guest checkout, currency) after the store changed. Runs in the back"},{"name":"verify_vitals_beacon","description":"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."},{"name":"site_overview","description":"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 sta"},{"name":"get_site_health","description":"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"},{"name":"get_performance","description":"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),"},{"name":"get_check","description":"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 sett"},{"name":"list_runs","description":"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, trig"},{"name":"get_run","description":"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 "},{"name":"get_fix_prompt","description":"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 mon"},{"name":"get_updates","description":"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 rollb"},{"name":"get_safe_update","description":"Follow a safe update or deactivation: applying → verifying → passed, or reverted with the monitors that broke."},{"name":"get_quarantine","description":"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, e"},{"name":"get_activity_log","description":"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"},{"name":"get_notifications","description":"The dashboard's notifications: failing monitors, a disconnected or outdated WordPress plugin, a silent real-user beacon, domain and ownership problems, safe upd"},{"name":"get_site_settings","description":"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 "},{"name":"get_alert_settings","description":"Who is told about what: how often (instant, daily / weekly digest), the minimum severity, each channel (email, Slack, webhook — whether the plan includes it, wh"},{"name":"get_status_pages","description":"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. "},{"name":"list_heartbeats","description":"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, "},{"name":"update_check","description":"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 whe"},{"name":"pause_monitor_group","description":"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"},{"name":"resume_monitor_group","description":"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)"},{"name":"update_visual_monitor","description":"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), "},{"name":"update_check_settings","description":"Change a monitor's own settings. Each monitor takes only its sections (get_check lists them as editable.sections): checkout (checkout monitors), devices (flow a"},{"name":"add_custom_check","description":"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"},{"name":"edit_custom_check","description":"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 "},{"name":"reauthor_custom_check","description":"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 s"},{"name":"approve_custom_check","description":"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 recip"},{"name":"update_site_settings","description":"Change a site's operational settings. Only the fields you pass change. Browser identity, the proxy, the firewall token, GitHub and search-engine connections, an"},{"name":"update_alert_settings","description":"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. On"},{"name":"add_heartbeat","description":"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. `"},{"name":"update_heartbeat","description":"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"},{"name":"trigger_scan","description":"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 q"},{"name":"cancel_queued_runs","description":"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"},{"name":"request_ai_fix","description":"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"},{"name":"apply_fix","description":"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 u"},{"name":"start_safe_update","description":"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-r"},{"name":"start_quarantine","description":"After a hack or a cleanup (WordPress, paid plans): run the security monitors every hour for 48 hours, pause plugin updates, and alert on every unexpected change"},{"name":"extend_quarantine","description":"Keep quarantine mode on for another 48 hours from now."},{"name":"send_test_alert","description":"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":"resume_webhook","description":"Turn webhook alerts back on after Relvato paused them for repeated failed deliveries (fix the endpoint first; send_test_alert checks it)."},{"name":"report_false_positive","description":"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; "},{"name":"ignore_finding","description":"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 l"},{"name":"unignore_finding","description":"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":"accept_visual_change","description":"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"},{"name":"ignore_visual_change","description":"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_re"},{"name":"flag_visual_change_as_problem","description":"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 (notific"},{"name":"undo_visual_review","description":"Undo the last accept or ignore on this page, device and browser: the earlier baseline comes back."},{"name":"accept_structure_change","description":"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"},{"name":"ignore_structure_change","description":"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 a"},{"name":"undo_structure_review","description":"Undo the last accept or ignore on a page of the structure monitor."}],"toolCount":57,"toolsHash":"bbb4232443777f309ea8bb75ea1b3afc2afa8a22d9ca5bf09449dc3d793b2dd7","serverName":"relvato","capabilities":["tools"],"serverVersion":"3.2.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T18:27:01.409Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":58,"error":null,"detail":{"tools":[{"name":"list_sites","description":"List the websites in this Relvato account, with whether each is ready to run monitors."},{"name":"add_site","description":"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 dom"},{"name":"verify_site","description":"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 (met"},{"name":"start_monitoring_for_goals","description":"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 struc"},{"name":"list_checks","description":"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 alr"},{"name":"add_checks","description":"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 pl"},{"name":"dismiss_recommendation","description":"Stop recommending a monitor for a site (list_checks marks recommendations), or bring every dismissed recommendation back with restoreAll."},{"name":"calibrate_site","description":"WordPress / WooCommerce: have Relvato read the store again (a product to buy, checkout type, guest checkout, currency) after the store changed. Runs in the back"},{"name":"verify_vitals_beacon","description":"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."},{"name":"site_overview","description":"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 sta"},{"name":"get_site_health","description":"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"},{"name":"get_performance","description":"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),"},{"name":"get_check","description":"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 sett"},{"name":"list_runs","description":"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, trig"},{"name":"get_run","description":"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 "},{"name":"get_fix_prompt","description":"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 mon"},{"name":"get_updates","description":"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 rollb"},{"name":"get_safe_update","description":"Follow a safe update or deactivation: applying → verifying → passed, or reverted with the monitors that broke."},{"name":"get_quarantine","description":"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, e"},{"name":"get_activity_log","description":"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"},{"name":"get_notifications","description":"The dashboard's notifications: failing monitors, a disconnected or outdated WordPress plugin, a silent real-user beacon, domain and ownership problems, safe upd"},{"name":"get_site_settings","description":"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 "},{"name":"get_alert_settings","description":"Who is told about what: how often (instant, daily / weekly digest), the minimum severity, each channel (email, Slack, webhook — whether the plan includes it, wh"},{"name":"get_status_pages","description":"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. "},{"name":"list_heartbeats","description":"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, "},{"name":"update_check","description":"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 whe"},{"name":"pause_monitor_group","description":"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"},{"name":"resume_monitor_group","description":"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)"},{"name":"update_visual_monitor","description":"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), "},{"name":"update_check_settings","description":"Change a monitor's own settings. Each monitor takes only its sections (get_check lists them as editable.sections): checkout (checkout monitors), devices (flow a"},{"name":"add_custom_check","description":"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"},{"name":"edit_custom_check","description":"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 "},{"name":"reauthor_custom_check","description":"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 s"},{"name":"approve_custom_check","description":"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 recip"},{"name":"update_site_settings","description":"Change a site's operational settings. Only the fields you pass change. Browser identity, the proxy, the firewall token, GitHub and search-engine connections, an"},{"name":"update_alert_settings","description":"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. On"},{"name":"add_heartbeat","description":"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. `"},{"name":"update_heartbeat","description":"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"},{"name":"trigger_scan","description":"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 q"},{"name":"cancel_queued_runs","description":"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"},{"name":"request_ai_fix","description":"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"},{"name":"apply_fix","description":"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 u"},{"name":"start_safe_update","description":"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-r"},{"name":"start_quarantine","description":"After a hack or a cleanup (WordPress, paid plans): run the security monitors every hour for 48 hours, pause plugin updates, and alert on every unexpected change"},{"name":"extend_quarantine","description":"Keep quarantine mode on for another 48 hours from now."},{"name":"send_test_alert","description":"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":"resume_webhook","description":"Turn webhook alerts back on after Relvato paused them for repeated failed deliveries (fix the endpoint first; send_test_alert checks it)."},{"name":"report_false_positive","description":"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; "},{"name":"ignore_finding","description":"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 l"},{"name":"unignore_finding","description":"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":"accept_visual_change","description":"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"},{"name":"ignore_visual_change","description":"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_re"},{"name":"flag_visual_change_as_problem","description":"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 (notific"},{"name":"undo_visual_review","description":"Undo the last accept or ignore on this page, device and browser: the earlier baseline comes back."},{"name":"accept_structure_change","description":"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"},{"name":"ignore_structure_change","description":"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 a"},{"name":"undo_structure_review","description":"Undo the last accept or ignore on a page of the structure monitor."}],"toolCount":57,"toolsHash":"bbb4232443777f309ea8bb75ea1b3afc2afa8a22d9ca5bf09449dc3d793b2dd7","serverName":"relvato","capabilities":["tools"],"serverVersion":"3.2.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T12:29:33.057Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":104,"error":null,"detail":{"tools":[{"name":"list_sites","description":"List the websites in this Relvato account, with whether each is ready to run monitors."},{"name":"add_site","description":"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 dom"},{"name":"verify_site","description":"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 (met"},{"name":"start_monitoring_for_goals","description":"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 struc"},{"name":"list_checks","description":"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 alr"},{"name":"add_checks","description":"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 pl"},{"name":"dismiss_recommendation","description":"Stop recommending a monitor for a site (list_checks marks recommendations), or bring every dismissed recommendation back with restoreAll."},{"name":"calibrate_site","description":"WordPress / WooCommerce: have Relvato read the store again (a product to buy, checkout type, guest checkout, currency) after the store changed. Runs in the back"},{"name":"verify_vitals_beacon","description":"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."},{"name":"site_overview","description":"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 sta"},{"name":"get_site_health","description":"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"},{"name":"get_performance","description":"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),"},{"name":"get_check","description":"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 sett"},{"name":"list_runs","description":"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, trig"},{"name":"get_run","description":"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 "},{"name":"get_fix_prompt","description":"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 mon"},{"name":"get_updates","description":"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 rollb"},{"name":"get_safe_update","description":"Follow a safe update or deactivation: applying → verifying → passed, or reverted with the monitors that broke."},{"name":"get_quarantine","description":"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, e"},{"name":"get_activity_log","description":"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"},{"name":"get_notifications","description":"The dashboard's notifications: failing monitors, a disconnected or outdated WordPress plugin, a silent real-user beacon, domain and ownership problems, safe upd"},{"name":"get_site_settings","description":"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 "},{"name":"get_alert_settings","description":"Who is told about what: how often (instant, daily / weekly digest), the minimum severity, each channel (email, Slack, webhook — whether the plan includes it, wh"},{"name":"get_status_pages","description":"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. "},{"name":"list_heartbeats","description":"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, "},{"name":"update_check","description":"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 whe"},{"name":"pause_monitor_group","description":"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"},{"name":"resume_monitor_group","description":"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)"},{"name":"update_visual_monitor","description":"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), "},{"name":"update_check_settings","description":"Change a monitor's own settings. Each monitor takes only its sections (get_check lists them as editable.sections): checkout (checkout monitors), devices (flow a"},{"name":"add_custom_check","description":"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"},{"name":"edit_custom_check","description":"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 "},{"name":"reauthor_custom_check","description":"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 s"},{"name":"approve_custom_check","description":"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 recip"},{"name":"update_site_settings","description":"Change a site's operational settings. Only the fields you pass change. Browser identity, the proxy, the firewall token, GitHub and search-engine connections, an"},{"name":"update_alert_settings","description":"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. On"},{"name":"add_heartbeat","description":"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. `"},{"name":"update_heartbeat","description":"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"},{"name":"trigger_scan","description":"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 q"},{"name":"cancel_queued_runs","description":"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"},{"name":"request_ai_fix","description":"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"},{"name":"apply_fix","description":"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 u"},{"name":"start_safe_update","description":"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-r"},{"name":"start_quarantine","description":"After a hack or a cleanup (WordPress, paid plans): run the security monitors every hour for 48 hours, pause plugin updates, and alert on every unexpected change"},{"name":"extend_quarantine","description":"Keep quarantine mode on for another 48 hours from now."},{"name":"send_test_alert","description":"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":"resume_webhook","description":"Turn webhook alerts back on after Relvato paused them for repeated failed deliveries (fix the endpoint first; send_test_alert checks it)."},{"name":"report_false_positive","description":"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; "},{"name":"ignore_finding","description":"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 l"},{"name":"unignore_finding","description":"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":"accept_visual_change","description":"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"},{"name":"ignore_visual_change","description":"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_re"},{"name":"flag_visual_change_as_problem","description":"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 (notific"},{"name":"undo_visual_review","description":"Undo the last accept or ignore on this page, device and browser: the earlier baseline comes back."},{"name":"accept_structure_change","description":"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"},{"name":"ignore_structure_change","description":"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 a"},{"name":"undo_structure_review","description":"Undo the last accept or ignore on a page of the structure monitor."}],"toolCount":57,"toolsHash":"bbb4232443777f309ea8bb75ea1b3afc2afa8a22d9ca5bf09449dc3d793b2dd7","serverName":"relvato","capabilities":["tools"],"serverVersion":"3.2.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T06:21:47.708Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":163,"error":null,"detail":{"tools":[{"name":"list_sites","description":"List the websites in this Relvato account, with whether each is ready to run monitors."},{"name":"add_site","description":"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 dom"},{"name":"verify_site","description":"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 (met"},{"name":"start_monitoring_for_goals","description":"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 struc"},{"name":"list_checks","description":"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 alr"},{"name":"add_checks","description":"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 pl"},{"name":"dismiss_recommendation","description":"Stop recommending a monitor for a site (list_checks marks recommendations), or bring every dismissed recommendation back with restoreAll."},{"name":"calibrate_site","description":"WordPress / WooCommerce: have Relvato read the store again (a product to buy, checkout type, guest checkout, currency) after the store changed. Runs in the back"},{"name":"verify_vitals_beacon","description":"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."},{"name":"site_overview","description":"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 sta"},{"name":"get_site_health","description":"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"},{"name":"get_performance","description":"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),"},{"name":"get_check","description":"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 sett"},{"name":"list_runs","description":"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, trig"},{"name":"get_run","description":"One run in detail: status, error and warnings (each with its key for ignore_finding; ignored ones marked), each step, visual comparisons (each with its comparis"},{"name":"get_fix_prompt","description":"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 mon"},{"name":"get_updates","description":"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 rollb"},{"name":"get_safe_update","description":"Follow a safe update or deactivation: applying → verifying → passed, or reverted with the monitors that broke."},{"name":"get_quarantine","description":"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, e"},{"name":"get_activity_log","description":"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"},{"name":"get_notifications","description":"The dashboard's notifications: failing monitors, a disconnected or outdated WordPress plugin, a silent real-user beacon, domain and ownership problems, safe upd"},{"name":"get_site_settings","description":"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 "},{"name":"get_alert_settings","description":"Who is told about what: how often (instant, daily / weekly digest), the minimum severity, each channel (email, Slack, webhook — whether the plan includes it, wh"},{"name":"get_status_pages","description":"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. "},{"name":"list_heartbeats","description":"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, "},{"name":"update_check","description":"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 whe"},{"name":"pause_monitor_group","description":"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"},{"name":"resume_monitor_group","description":"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)"},{"name":"update_visual_monitor","description":"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), "},{"name":"update_check_settings","description":"Change a monitor's own settings. Each monitor takes only its sections (get_check lists them as editable.sections): checkout (checkout monitors), devices (flow a"},{"name":"add_custom_check","description":"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"},{"name":"edit_custom_check","description":"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 "},{"name":"reauthor_custom_check","description":"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 s"},{"name":"approve_custom_check","description":"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 recip"},{"name":"update_site_settings","description":"Change a site's operational settings. Only the fields you pass change. Browser identity, the proxy, the firewall token, GitHub and search-engine connections, an"},{"name":"update_alert_settings","description":"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. On"},{"name":"add_heartbeat","description":"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. `"},{"name":"update_heartbeat","description":"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"},{"name":"trigger_scan","description":"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 q"},{"name":"cancel_queued_runs","description":"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"},{"name":"request_ai_fix","description":"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"},{"name":"apply_fix","description":"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 u"},{"name":"start_safe_update","description":"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-r"},{"name":"start_quarantine","description":"After a hack or a cleanup (WordPress, paid plans): run the security monitors every hour for 48 hours, pause plugin updates, and alert on every unexpected change"},{"name":"extend_quarantine","description":"Keep quarantine mode on for another 48 hours from now."},{"name":"send_test_alert","description":"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":"resume_webhook","description":"Turn webhook alerts back on after Relvato paused them for repeated failed deliveries (fix the endpoint first; send_test_alert checks it)."},{"name":"report_false_positive","description":"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; "},{"name":"ignore_finding","description":"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 l"},{"name":"unignore_finding","description":"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":"accept_visual_change","description":"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"},{"name":"ignore_visual_change","description":"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_re"},{"name":"flag_visual_change_as_problem","description":"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 (notific"},{"name":"undo_visual_review","description":"Undo the last accept or ignore on this page, device and browser: the earlier baseline comes back."},{"name":"accept_structure_change","description":"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"},{"name":"ignore_structure_change","description":"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 a"},{"name":"undo_structure_review","description":"Undo the last accept or ignore on a page of the structure monitor."}],"toolCount":57,"toolsHash":"cc2d11d9400063b21d37eb2390530b11512b610def6a048a845c744179b7f208","serverName":"relvato","capabilities":["tools"],"serverVersion":"3.2.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T23:21:54.838Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":75,"error":null,"detail":{"tools":[{"name":"list_sites","description":"List the websites in this Relvato account, with whether each is ready to run monitors."},{"name":"add_site","description":"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 dom"},{"name":"verify_site","description":"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 (met"},{"name":"start_monitoring_for_goals","description":"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 struc"},{"name":"list_checks","description":"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 alr"},{"name":"add_checks","description":"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 pl"},{"name":"dismiss_recommendation","description":"Stop recommending a monitor for a site (list_checks marks recommendations), or bring every dismissed recommendation back with restoreAll."},{"name":"calibrate_site","description":"WordPress / WooCommerce: have Relvato read the store again (a product to buy, checkout type, guest checkout, currency) after the store changed. Runs in the back"},{"name":"verify_vitals_beacon","description":"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."},{"name":"site_overview","description":"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 sta"},{"name":"get_site_health","description":"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"},{"name":"get_performance","description":"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),"},{"name":"get_check","description":"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 sett"},{"name":"list_runs","description":"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, trig"},{"name":"get_run","description":"One run in detail: status, error and warnings (each with its key for ignore_finding; ignored ones marked), each step, visual comparisons (each with its comparis"},{"name":"get_fix_prompt","description":"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 mon"},{"name":"get_updates","description":"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 rollb"},{"name":"get_safe_update","description":"Follow a safe update or deactivation: applying → verifying → passed, or reverted with the monitors that broke."},{"name":"get_quarantine","description":"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, e"},{"name":"get_activity_log","description":"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"},{"name":"get_notifications","description":"The dashboard's notifications: failing monitors, a disconnected or outdated WordPress plugin, a silent real-user beacon, domain and ownership problems, safe upd"},{"name":"get_site_settings","description":"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 "},{"name":"get_alert_settings","description":"Who is told about what: how often (instant, daily / weekly digest), the minimum severity, each channel (email, Slack, webhook — whether the plan includes it, wh"},{"name":"get_status_pages","description":"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. "},{"name":"list_heartbeats","description":"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, "},{"name":"update_check","description":"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 whe"},{"name":"pause_monitor_group","description":"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"},{"name":"resume_monitor_group","description":"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)"},{"name":"update_visual_monitor","description":"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), "},{"name":"update_check_settings","description":"Change a monitor's own settings. Each monitor takes only its sections (get_check lists them as editable.sections): checkout (checkout monitors), devices (flow a"},{"name":"add_custom_check","description":"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"},{"name":"edit_custom_check","description":"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 "},{"name":"reauthor_custom_check","description":"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 s"},{"name":"approve_custom_check","description":"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 recip"},{"name":"update_site_settings","description":"Change a site's operational settings. Only the fields you pass change. Browser identity, the proxy, the firewall token, GitHub and search-engine connections, an"},{"name":"update_alert_settings","description":"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. On"},{"name":"add_heartbeat","description":"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. `"},{"name":"update_heartbeat","description":"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"},{"name":"trigger_scan","description":"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 q"},{"name":"cancel_queued_runs","description":"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"},{"name":"request_ai_fix","description":"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"},{"name":"apply_fix","description":"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 u"},{"name":"start_safe_update","description":"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-r"},{"name":"start_quarantine","description":"After a hack or a cleanup (WordPress, paid plans): run the security monitors every hour for 48 hours, pause plugin updates, and alert on every unexpected change"},{"name":"extend_quarantine","description":"Keep quarantine mode on for another 48 hours from now."},{"name":"send_test_alert","description":"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":"resume_webhook","description":"Turn webhook alerts back on after Relvato paused them for repeated failed deliveries (fix the endpoint first; send_test_alert checks it)."},{"name":"report_false_positive","description":"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; "},{"name":"ignore_finding","description":"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 l"},{"name":"unignore_finding","description":"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":"accept_visual_change","description":"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"},{"name":"ignore_visual_change","description":"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_re"},{"name":"flag_visual_change_as_problem","description":"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 (notific"},{"name":"undo_visual_review","description":"Undo the last accept or ignore on this page, device and browser: the earlier baseline comes back."},{"name":"accept_structure_change","description":"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"},{"name":"ignore_structure_change","description":"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 a"},{"name":"undo_structure_review","description":"Undo the last accept or ignore on a page of the structure monitor."}],"toolCount":57,"toolsHash":"cc2d11d9400063b21d37eb2390530b11512b610def6a048a845c744179b7f208","serverName":"relvato","capabilities":["tools"],"serverVersion":"3.2.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T16:29:22.599Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":64,"error":null,"detail":{"tools":[{"name":"list_sites","description":"List the websites in this Relvato account, with whether each is ready to run monitors."},{"name":"add_site","description":"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 dom"},{"name":"verify_site","description":"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 (met"},{"name":"start_monitoring_for_goals","description":"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 struc"},{"name":"list_checks","description":"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 alr"},{"name":"add_checks","description":"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 pl"},{"name":"dismiss_recommendation","description":"Stop recommending a monitor for a site (list_checks marks recommendations), or bring every dismissed recommendation back with restoreAll."},{"name":"calibrate_site","description":"WordPress / WooCommerce: have Relvato read the store again (a product to buy, checkout type, guest checkout, currency) after the store changed. Runs in the back"},{"name":"verify_vitals_beacon","description":"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."},{"name":"site_overview","description":"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 sta"},{"name":"get_site_health","description":"How a site has been doing: the pass rate now and each of the last 30 days, the trend over 28, 90 or 182 days, each monitoring group's briefing (what needs atten"},{"name":"get_performance","description":"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),"},{"name":"get_check","description":"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 sett"},{"name":"list_runs","description":"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, trig"},{"name":"get_run","description":"One run in detail: status, error and warnings (each with its key for ignore_finding; ignored ones marked), each step, visual comparisons (each with its comparis"},{"name":"get_fix_prompt","description":"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 mon"},{"name":"get_updates","description":"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 rollb"},{"name":"get_safe_update","description":"Follow a safe update or deactivation: applying → verifying → passed, or reverted with the monitors that broke."},{"name":"get_quarantine","description":"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, e"},{"name":"get_activity_log","description":"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"},{"name":"get_notifications","description":"The dashboard's notifications: failing monitors, a disconnected or outdated WordPress plugin, a silent real-user beacon, domain and ownership problems, safe upd"},{"name":"get_site_settings","description":"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 "},{"name":"get_alert_settings","description":"Who is told about what: how often (instant, daily / weekly digest), the minimum severity, each channel (email, Slack, webhook — whether the plan includes it, wh"},{"name":"get_status_pages","description":"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. "},{"name":"list_heartbeats","description":"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, "},{"name":"update_check","description":"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 whe"},{"name":"pause_monitor_group","description":"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"},{"name":"resume_monitor_group","description":"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)"},{"name":"update_visual_monitor","description":"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), "},{"name":"update_check_settings","description":"Change a monitor's own settings. Each monitor takes only its sections (get_check lists them as editable.sections): checkout (checkout monitors), devices (flow a"},{"name":"add_custom_check","description":"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"},{"name":"edit_custom_check","description":"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 "},{"name":"reauthor_custom_check","description":"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 s"},{"name":"approve_custom_check","description":"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 recip"},{"name":"update_site_settings","description":"Change a site's operational settings. Only the fields you pass change. Browser identity, the proxy, the firewall token, GitHub and search-engine connections, an"},{"name":"update_alert_settings","description":"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. On"},{"name":"add_heartbeat","description":"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. `"},{"name":"update_heartbeat","description":"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"},{"name":"trigger_scan","description":"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 q"},{"name":"cancel_queued_runs","description":"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"},{"name":"request_ai_fix","description":"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"},{"name":"apply_fix","description":"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 u"},{"name":"start_safe_update","description":"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-r"},{"name":"start_quarantine","description":"After a hack or a cleanup (WordPress, paid plans): run the security monitors every hour for 48 hours, pause plugin updates, and alert on every unexpected change"},{"name":"extend_quarantine","description":"Keep quarantine mode on for another 48 hours from now."},{"name":"send_test_alert","description":"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":"resume_webhook","description":"Turn webhook alerts back on after Relvato paused them for repeated failed deliveries (fix the endpoint first; send_test_alert checks it)."},{"name":"report_false_positive","description":"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; "},{"name":"ignore_finding","description":"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 l"},{"name":"unignore_finding","description":"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":"accept_visual_change","description":"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"},{"name":"ignore_visual_change","description":"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_re"},{"name":"flag_visual_change_as_problem","description":"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 (notific"},{"name":"undo_visual_review","description":"Undo the last accept or ignore on this page, device and browser: the earlier baseline comes back."},{"name":"accept_structure_change","description":"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"},{"name":"ignore_structure_change","description":"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 a"},{"name":"undo_structure_review","description":"Undo the last accept or ignore on a page of the structure monitor."}],"toolCount":57,"toolsHash":"b40a7b80636d3849051478ba27f370b2c68455d638e8255c531ff7c756fd52a2","serverName":"relvato","capabilities":["tools"],"serverVersion":"3.2.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"list_sites","description":"List the websites in this Relvato account, with whether each is ready to run monitors."},{"name":"add_site","description":"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 dom"},{"name":"verify_site","description":"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 (met"},{"name":"start_monitoring_for_goals","description":"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 struc"},{"name":"list_checks","description":"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 alr"},{"name":"add_checks","description":"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 pl"},{"name":"dismiss_recommendation","description":"Stop recommending a monitor for a site (list_checks marks recommendations), or bring every dismissed recommendation back with restoreAll."},{"name":"calibrate_site","description":"WordPress / WooCommerce: have Relvato read the store again (a product to buy, checkout type, guest checkout, currency) after the store changed. Runs in the back"},{"name":"verify_vitals_beacon","description":"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."},{"name":"site_overview","description":"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 sta"},{"name":"get_site_health","description":"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"},{"name":"get_performance","description":"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),"},{"name":"get_check","description":"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 sett"},{"name":"list_runs","description":"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, trig"},{"name":"get_run","description":"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 "},{"name":"get_fix_prompt","description":"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 mon"},{"name":"get_updates","description":"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 rollb"},{"name":"get_safe_update","description":"Follow a safe update or deactivation: applying → verifying → passed, or reverted with the monitors that broke."},{"name":"get_quarantine","description":"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, e"},{"name":"get_activity_log","description":"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"},{"name":"get_notifications","description":"The dashboard's notifications: failing monitors, a disconnected or outdated WordPress plugin, a silent real-user beacon, domain and ownership problems, safe upd"},{"name":"get_site_settings","description":"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 "},{"name":"get_alert_settings","description":"Who is told about what: how often (instant, daily / weekly digest), the minimum severity, each channel (email, Slack, webhook — whether the plan includes it, wh"},{"name":"get_status_pages","description":"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. "},{"name":"list_heartbeats","description":"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, "},{"name":"update_check","description":"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 whe"},{"name":"pause_monitor_group","description":"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"},{"name":"resume_monitor_group","description":"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)"},{"name":"update_visual_monitor","description":"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), "},{"name":"update_check_settings","description":"Change a monitor's own settings. Each monitor takes only its sections (get_check lists them as editable.sections): checkout (checkout monitors), devices (flow a"},{"name":"add_custom_check","description":"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"},{"name":"edit_custom_check","description":"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 "},{"name":"reauthor_custom_check","description":"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 s"},{"name":"approve_custom_check","description":"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 recip"},{"name":"update_site_settings","description":"Change a site's operational settings. Only the fields you pass change. Browser identity, the proxy, the firewall token, GitHub and search-engine connections, an"},{"name":"update_alert_settings","description":"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. On"},{"name":"add_heartbeat","description":"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. `"},{"name":"update_heartbeat","description":"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"},{"name":"trigger_scan","description":"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 q"},{"name":"cancel_queued_runs","description":"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"},{"name":"request_ai_fix","description":"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"},{"name":"apply_fix","description":"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 u"},{"name":"start_safe_update","description":"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-r"},{"name":"start_quarantine","description":"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 pau"},{"name":"extend_quarantine","description":"Keep quarantine mode on for another 48 hours from now."},{"name":"send_test_alert","description":"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":"resume_webhook","description":"Turn webhook alerts back on after Relvato paused them for repeated failed deliveries (fix the endpoint first; send_test_alert checks it)."},{"name":"report_false_positive","description":"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; "},{"name":"ignore_finding","description":"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 l"},{"name":"unignore_finding","description":"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":"accept_visual_change","description":"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"},{"name":"ignore_visual_change","description":"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_re"},{"name":"flag_visual_change_as_problem","description":"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 (notific"},{"name":"undo_visual_review","description":"Undo the last accept or ignore on this page, device and browser: the earlier baseline comes back."},{"name":"accept_structure_change","description":"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"},{"name":"ignore_structure_change","description":"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 a"},{"name":"undo_structure_review","description":"Undo the last accept or ignore on a page of the structure monitor."}],"package":null,"toolSurface":{"id":"ts_va79f8ezayyt","endpointId":"ep_c88vtnfq4e9s","hash":"550ac0d1622e00fad4e3b2bce59e41418f803ec662f1735791f32e97f60aa10f","toolCount":57,"serverName":"relvato","serverVersion":"3.2.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-11T03:20:26.510Z","lastSeenAt":"2026-10-11T03:20:26.510Z","observations":1,"toolNames":["list_sites","add_site","verify_site","start_monitoring_for_goals","list_checks","add_checks","dismiss_recommendation","calibrate_site","verify_vitals_beacon","site_overview","get_site_health","get_performance","get_check","list_runs","get_run","get_fix_prompt","get_updates","get_safe_update","get_quarantine","get_activity_log","get_notifications","get_site_settings","get_alert_settings","get_status_pages","list_heartbeats","update_check","pause_monitor_group","resume_monitor_group","update_visual_monitor","update_check_settings","add_custom_check","edit_custom_check","reauthor_custom_check","approve_custom_check","update_site_settings","update_alert_settings","add_heartbeat","update_heartbeat","trigger_scan","cancel_queued_runs","request_ai_fix","apply_fix","start_safe_update","start_quarantine","extend_quarantine","send_test_alert","resume_webhook","report_false_positive","ignore_finding","unignore_finding","accept_visual_change","ignore_visual_change","flag_visual_change_as_problem","undo_visual_review","accept_structure_change","ignore_structure_change","undo_structure_review"],"distinctSurfaces":16},"endpointFacts":[{"id":"ep_c88vtnfq4e9s","url":"https://app.relvato.com/api/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-10T01:23:59.698Z","auth":{"observedAt":"2026-10-10T01:23:59.994Z","authRequired":false,"scheme":null,"resourceMetadata":{"url":"https://app.relvato.com/.well-known/oauth-protected-resource/api/mcp","resource":"https://app.relvato.com/api/mcp","authorizationServers":["https://clerk.relvato.com"],"scopesSupported":["relvato:read","relvato:write","user:org:read"]},"authorizationServer":{"url":"https://clerk.relvato.com/.well-known/oauth-authorization-server","issuer":"https://clerk.relvato.com","grantTypesSupported":["authorization_code","refresh_token","urn:ietf:params:oauth:grant-type:device_code"],"codeChallengeMethodsSupported":["S256"],"tokenEndpointAuthMethodsSupported":["client_secret_basic","none","client_secret_post"],"dynamicClientRegistration":false,"dpopSigningAlgValuesSupported":[],"clientIdMetadataDocumentSupported":true},"conformance":{"dpop":false,"rfc8414":true,"rfc9728":true,"pkceS256":true,"clientIdMetadataDocument":true,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-10T01:24:00.019Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"app.relvato.com","issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validFrom":"2026-08-15T09:48:20.000Z","validTo":"2026-11-13T09:48:19.000Z","daysToExpiry":33,"sanCount":1,"fingerprint256":"F9:40:0B:41:BA:CB:5D:18:58:3E:15:82:81:2A:9B:6A:84:AC:BF:52:CC:93:8D:74:7C:C3:4D:C5:98:E2:D5:CA"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"com.relvato/relvato","url":"https://registry.modelcontextprotocol.io/v0/servers/com.relvato%2Frelvato","firstSeenAt":"2026-09-30T18:19:02.778Z","fetchedAt":"2026-10-09T10:19:07.462Z","normalizedAt":"2026-10-09T10:19:07.462Z"}]},"firstSeenAt":"2026-09-30T18:19:02.778Z","updatedAt":"2026-10-11T03:23:08.381Z"}