Skip to content

com.validoria/validoria-mcp

by validoria.com · remote · local (npm) · no sign-in to list tools · v2.0.1 · published by com.validoria

Continuous website testing by Validoria — monitor security, SEO, performance, and accessibility.

Deletes · 10Final · 2Changes · 30

74 tools: 10 can delete or cancel things, 2 do something that can't be undone, 30 change things and 32 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http validoria https://api.teste.no/api/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

74 tools

Deletes or cancels 10Claude Code: deny
  • cancel_load_testCancel a running load test.No findings

    Why it is in this group

    • The name "cancel_load_test" says "cancel": a word for removing or ending something.
    Description, as the server wrote it
    Cancel a running load test.
  • delete_automation_rulePermanently delete an automation rule.No findings

    Why it is in this group

    • The name "delete_automation_rule" says "delete": a word for removing or ending something.
    • The description says "Permanently delete".
    Description, as the server wrote it
    Permanently delete an automation rule.
  • delete_journeyPermanently delete a journey and all its steps.No findings

    Why it is in this group

    • The name "delete_journey" says "delete": a word for removing or ending something.
    • The description says "Permanently delete".
    Description, as the server wrote it
    Permanently delete a journey and all its steps.
  • delete_maintenance_windowRemove a scheduled maintenance window.No findings

    Why it is in this group

    • The name "delete_maintenance_window" says "delete": a word for removing or ending something.
    Description, as the server wrote it
    Remove a scheduled maintenance window.
  • delete_notification_rulePermanently delete a notification rule.No findings

    Why it is in this group

    • The name "delete_notification_rule" says "delete": a word for removing or ending something.
    • The description says "Permanently delete".
    Description, as the server wrote it
    Permanently delete a notification rule.
  • delete_page_fragmentPermanently delete a page fragment.No findings

    Why it is in this group

    • The name "delete_page_fragment" says "delete": a word for removing or ending something.
    • The description says "Permanently delete".
    Description, as the server wrote it
    Permanently delete a page fragment.
  • delete_scheduled_reportPermanently delete a scheduled report.No findings

    Why it is in this group

    • The name "delete_scheduled_report" says "delete": a word for removing or ending something.
    • The description says "Permanently delete".
    Description, as the server wrote it
    Permanently delete a scheduled report.
  • delete_secretPermanently delete a secret from a target's vault.No findings

    Why it is in this group

    • The name "delete_secret" says "delete": a word for removing or ending something.
    • The description says "Permanently delete".
    Description, as the server wrote it
    Permanently delete a secret from a target's vault.
  • delete_targetPermanently delete a target and all its associated data (runs, findings, incidents, artifacts).No findings

    Why it is in this group

    • The name "delete_target" says "delete": a word for removing or ending something.
    • The description says "Permanently delete".
    Description, as the server wrote it
    Permanently delete a target and all its associated data (runs, findings, incidents, artifacts). This cannot be undone.
  • remove_keywordRemove an SEO keyword from a target.No findings

    Why it is in this group

    • The name "remove_keyword" says "remove": a word for removing or ending something.
    Description, as the server wrote it
    Remove an SEO keyword from a target.
Can't be undone 2Claude Code: ask
  • create_scheduled_reportCreate a new scheduled email report.No findings

    Why it is in this group

    • The name "create_scheduled_report" says "create": a word for a change.
    • The input addresses people (input.recipients): what it sends cannot be taken back.
    Description, as the server wrote it
    Create a new scheduled email report. Reports include run stats, open findings, composite scores, and per-target status.
  • update_scheduled_reportUpdate an existing scheduled report.No findings

    Why it is in this group

    • The name "update_scheduled_report" says "update": a word for a change.
    • The input addresses people (input.recipients): what it sends cannot be taken back.
    Description, as the server wrote it
    Update an existing scheduled report. Any field not provided stays unchanged.
Changes things 30Claude Code: ask
  • acknowledge_incidentAcknowledge an open incident to signal that someone is looking at it.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Acknowledge an open incident to signal that someone is looking at it. Changes status from OPEN to ACKNOWLEDGED.
  • active_runsGet currently running and queued tests across all targets.No findings

    Why it is in this group

    • The name "active_runs" says "run": a word for a change.
    Description, as the server wrote it
    Get currently running and queued tests across all targets. Useful for checking what tests are in progress right now.
  • add_keywordAdd an SEO keyword to track for a target, optionally for one page (pageUrl).No findings

    Why it is in this group

    • The name "add_keyword" says "add": a word for a change.
    Description, as the server wrote it
    Add an SEO keyword to track for a target, optionally for one page (pageUrl). Max 50 keywords per target.
  • create_automation_ruleCreate an automation rule that reacts to events.No findings

    Why it is in this group

    • The name "create_automation_rule" says "create": a word for a change.
    Description, as the server wrote it
    Create an automation rule that reacts to events. Triggers: TEST_FAILED, TEST_RECOVERED, INCIDENT_CREATED, INCIDENT_RESOLVED, TARGET_DOWN, TARGET_RECOVERED. Actions: escalate (change severity), suppress (mute), rerun (schedule retry), notify, webhook, add_note.
  • create_journeyCreate a custom browser test flow for a target.No findings

    Why it is in this group

    • The name "create_journey" says "create": a word for a change.
    Description, as the server wrote it
    Create a custom browser test flow for a target. Steps are executed sequentially in a Playwright browser. Supports actions: navigate, click, type, fill, select, assert, wait, screenshot, scroll, hover, use_fragment. Variables like {{LOGIN_EMAIL}} are resolved from the target secrets vault.
  • create_maintenance_windowSchedule a maintenance window for a target.No findings

    Why it is in this group

    • The name "create_maintenance_window" says "create": a word for a change.
    Description, as the server wrote it
    Schedule a maintenance window for a target. During maintenance, alerts and notifications are suppressed. Supports one-time, daily, and weekly recurring windows.
  • create_muting_ruleCreate a rule to auto-mute findings matching a pattern.No findings

    Why it is in this group

    • The name "create_muting_rule" says "create": a word for a change.
    Description, as the server wrote it
    Create a rule to auto-mute findings matching a pattern. Existing open findings matching the rule are muted immediately. Supports muting by fingerprint pattern, test definition, or test+target combination.
  • create_notification_ruleCreate a notification alert rule.No findings

    Why it is in this group

    • The name "create_notification_rule" says "create": a word for a change.
    Description, as the server wrote it
    Create a notification alert rule. Defines which events at which severity levels trigger notifications on which channels. Supports quiet hours and per-target scoping.
  • create_page_fragmentCreate a reusable step sequence that can be shared across multiple Journeys.No findings

    Why it is in this group

    • The name "create_page_fragment" says "create": a word for a change.
    Description, as the server wrote it
    Create a reusable step sequence that can be shared across multiple Journeys. Fragment names must be unique per team.
  • create_targetAdd a new website, API, or webshop target for monitoring with full onboarding.No findings

    Why it is in this group

    • The name "create_target" says "create": a word for a change.
    Description, as the server wrote it
    Add a new website, API, or webshop target for monitoring with full onboarding. Automatically enables compatible tests, triggers an initial scan, and captures a page screenshot. Requires write scope (Free plan: 1 target). Use analyze_target first to detect platform and get test recommendations.
  • disable_all_testsDisable all test definitions globally.No findings

    Why it is in this group

    • The name "disable_all_tests" says "disable": a word for a change.
    Description, as the server wrote it
    Disable all test definitions globally. Optionally filter by category to only disable tests in that category. Requires admin scope.
  • enable_all_testsEnable all test definitions globally.No findings

    Why it is in this group

    • The name "enable_all_tests" says "enable": a word for a change.
    Description, as the server wrote it
    Enable all test definitions globally. Optionally filter by category to only enable tests in that category. Requires admin scope.
  • guest_start_scanRun a free 6-test HTTP scan against a public URL without an API key.No findings

    Why it is in this group

    • The name "guest_start_scan" says "start": a word for a change.
    Description, as the server wrote it
    Run a free 6-test HTTP scan against a public URL without an API key. Rate-limited (5/IP/hour, 3/session/day). Returns scanId — poll with guest_get_scan. For continuous monitoring, sign up free and use create_target. See teste-no://docs/quickstart.
  • import_targetsBulk import up to 100 websites for monitoring.No findings

    Why it is in this group

    • The name "import_targets" says "import": a word for a change.
    Description, as the server wrote it
    Bulk import up to 100 websites for monitoring. Each URL gets a target created with auto-enabled tests, initial scan, and screenshot capture. Partial success — failed URLs are reported individually without blocking others.
  • mute_findingMute an open finding to suppress it from dashboards and alerts.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Mute an open finding to suppress it from dashboards and alerts. Status changes from OPEN to MUTED.
  • recompute_scoresForce recompute all composite scores (Security, SEO, Performance, Accessibility) for a target.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Force recompute all composite scores (Security, SEO, Performance, Accessibility) for a target. Useful after manual changes or when scores seem stale.
  • record_deploymentRecord a deployment event for a target.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Record a deployment event for a target. Deployments are auto-correlated with incidents created within 20 minutes. Useful for tracking releases and root-cause analysis.
  • rotate_secretUpdate the value of an existing secret.No findings

    Why it is in this group

    • The description's first verb is "update": a word for a change.
    Description, as the server wrote it
    Update the value of an existing secret.
  • start_load_testStart a load test against a target.No findings

    Why it is in this group

    • The name "start_load_test" says "start": a word for a change.
    Description, as the server wrote it
    Start a load test against a target. Max 100 concurrent connections, max 5 min duration, 1 test at a time per target, 60s cooldown between tests. Modes: HTTP_FLOOD (autocannon), BROWSER_USERS (Playwright), COMBINED (both). OWNER/ADMIN only.
  • store_secretStore an encrypted secret in a target's vault.No findings

    Why it is in this group

    • The name "store_secret" says "store": a word for a change.
    Description, as the server wrote it
    Store an encrypted secret in a target's vault. Common keys: LOGIN_EMAIL, LOGIN_PASSWORD (B2B shop auth), ga4_service_account (GA4 monitoring). Values are AES-256-GCM encrypted at rest.
  • trigger_all_testsRun all enabled tests against a target as a scan workflow.No findings

    Why it is in this group

    • The name "trigger_all_tests" says "trigger": a word for a change.
    Description, as the server wrote it
    Run all enabled tests against a target as a scan workflow. All tests in the target's test profile are queued. Returns the workflow ID and list of queued runs.
  • trigger_journeyExecute a journey (custom browser test flow) against its target.No findings

    Why it is in this group

    • The name "trigger_journey" says "trigger": a word for a change.
    Description, as the server wrote it
    Execute a journey (custom browser test flow) against its target. The journey runs asynchronously — use get_run to check progress.
  • trigger_testRun a specific test against a target.No findings

    Why it is in this group

    • The name "trigger_test" says "trigger": a word for a change.
    Description, as the server wrote it
    Run a specific test against a target. Specify either the test definition ID or slug. The test is queued and executed asynchronously — use get_run to check status.
  • update_automation_ruleUpdate an existing automation rule.No findings

    Why it is in this group

    • The name "update_automation_rule" says "update": a word for a change.
    Description, as the server wrote it
    Update an existing automation rule. Any field not provided will remain unchanged.
  • update_journeyUpdate a journey's name, settings, or steps.No findings

    Why it is in this group

    • The name "update_journey" says "update": a word for a change.
    Description, as the server wrote it
    Update a journey's name, settings, or steps. When steps are provided, all existing steps are replaced.
  • update_notification_ruleUpdate a notification rule.No findings

    Why it is in this group

    • The name "update_notification_rule" says "update": a word for a change.
    Description, as the server wrote it
    Update a notification rule. Only provided fields are changed.
  • update_page_fragmentUpdate a page fragment.No findings

    Why it is in this group

    • The name "update_page_fragment" says "update": a word for a change.
    Description, as the server wrote it
    Update a page fragment. When steps are provided, all existing steps are replaced.
  • update_targetUpdate a target's properties (name, URL, type, environment, business weight, tags, uptime toggle).No findings

    Why it is in this group

    • The name "update_target" says "update": a word for a change.
    Description, as the server wrote it
    Update a target's properties (name, URL, type, environment, business weight, tags, uptime toggle).
  • update_team_settingsUpdate team configuration.No findings

    Why it is in this group

    • The name "update_team_settings" says "update": a word for a change.
    Description, as the server wrote it
    Update team configuration. All fields are optional — only provided fields are changed. Covers: AI enrichment (model, temperature, auto-enrich, spending cap), uptime (timeout, thresholds), severity escalation (recurrence/age triggers), run policies (concurrency, timeouts), SEO (rank tracking, keyword strategy), notification coalescing (digest), and the kill switch (testsPaused).
  • update_testEnable or disable a test definition globally, or update its schedule/timeout.No findings

    Why it is in this group

    • The name "update_test" says "update": a word for a change.
    Description, as the server wrote it
    Enable or disable a test definition globally, or update its schedule/timeout. Requires admin scope.
Only reads 32Claude Code: allow
  • analyze_targetFingerprint a URL and get test recommendations before creating a target.No findings

    Why it is in this group

    • The name "analyze_target" says "analyze": a word for reading.
    Description, as the server wrote it
    Fingerprint a URL and get test recommendations before creating a target. Detects platform (Shopify, WordPress, etc.), CDN, server stack, frontend framework, analytics, and B2B/ecommerce signals. Returns recommended tests with explanations. Use this before create_target to know what type to assign and which tests will be enabled.
  • get_automation_ruleGet full details of a specific automation rule.No findings

    Why it is in this group

    • The name "get_automation_rule" says "get": a word for reading.
    Description, as the server wrote it
    Get full details of a specific automation rule.
  • get_findingGet full details of a specific finding, including evidence, AI analysis, and recommended fix.No findings

    Why it is in this group

    • The name "get_finding" says "get": a word for reading.
    Description, as the server wrote it
    Get full details of a specific finding, including evidence, AI analysis, and recommended fix.
  • get_incidentGet full details of a specific incident including linked findings, AI analysis, and deployment correlation.No findings

    Why it is in this group

    • The name "get_incident" says "get": a word for reading.
    Description, as the server wrote it
    Get full details of a specific incident including linked findings, AI analysis, and deployment correlation.
  • get_journeyGet full details of a specific journey including all steps.No findings

    Why it is in this group

    • The name "get_journey" says "get": a word for reading.
    Description, as the server wrote it
    Get full details of a specific journey including all steps.
  • get_load_testGet details and results of a load test run.No findings

    Why it is in this group

    • The name "get_load_test" says "get": a word for reading.
    Description, as the server wrote it
    Get details and results of a load test run.
  • get_runGet full details of a specific test run including metrics, score, summary, errors, and associated findings.No findings

    Why it is in this group

    • The name "get_run" says "get": a word for reading.
    Description, as the server wrote it
    Get full details of a specific test run including metrics, score, summary, errors, and associated findings.
  • get_site_mapGet the latest crawl snapshot for a target.No findings

    Why it is in this group

    • The name "get_site_map" says "get": a word for reading.
    Description, as the server wrote it
    Get the latest crawl snapshot for a target. Returns page inventory stats, SEO issues, broken pages/assets, response times, and a diff against the previous crawl. Optionally include page-level details.
  • get_targetGet detailed information about a specific target including status, uptime, fingerprint, and composite scores.No findings

    Why it is in this group

    • The name "get_target" says "get": a word for reading.
    Description, as the server wrote it
    Get detailed information about a specific target including status, uptime, fingerprint, and composite scores.
  • get_target_scoresGet composite scores (Security, SEO, Performance, Accessibility, AI-search readiness) for a target.No findings

    Why it is in this group

    • The name "get_target_scores" says "get": a word for reading.
    Description, as the server wrote it
    Get composite scores (Security, SEO, Performance, Accessibility, AI-search readiness) for a target. Each score is 0-100 with a status rating.
  • get_team_settingsGet the team's configuration including AI enrichment, uptime monitoring, severity escalation, run policies, notification coalescing, SEO, and Kloner Tasks integration settings.No findings

    Why it is in this group

    • The name "get_team_settings" says "get": a word for reading.
    Description, as the server wrote it
    Get the team's configuration including AI enrichment, uptime monitoring, severity escalation, run policies, notification coalescing, SEO, and Kloner Tasks integration settings.
  • guest_get_scanPoll results for a guest_start_scan.No findings

    Why it is in this group

    • The name "guest_get_scan" says "get": a word for reading.
    Description, as the server wrote it
    Poll results for a guest_start_scan. Pass the scanId and guestSessionId from the start response. No API key required.
  • list_automation_rulesList all automation rules for the team.No findings

    Why it is in this group

    • The name "list_automation_rules" says "list": a word for reading.
    Description, as the server wrote it
    List all automation rules for the team. Rules automatically react to events (test failures, incidents, downtime) with configurable actions (escalate severity, suppress, rerun, webhook, notify).
  • list_findingsList findings (discovered issues) across your targets.No findings

    Why it is in this group

    • The name "list_findings" says "list": a word for reading.
    Description, as the server wrote it
    List findings (discovered issues) across your targets. Filter by status, severity, or target. Returns title, severity, status, test name, and AI enrichment if available.
  • list_incidentsList incidents (grouped operational issues) across your targets.No findings

    Why it is in this group

    • The name "list_incidents" says "list": a word for reading.
    Description, as the server wrote it
    List incidents (grouped operational issues) across your targets. Filter by status. Returns title, severity, status, findings count, and deployment correlation.
  • list_journeysList custom browser test flows (journeys) for a target or all team targets.No findings

    Why it is in this group

    • The name "list_journeys" says "list": a word for reading.
    Description, as the server wrote it
    List custom browser test flows (journeys) for a target or all team targets. Journeys are multi-step Playwright tests that verify user flows like checkout, login, and search.
  • list_keywordsList all SEO keywords tracked for a target, including latest Google rank position and the page each is tracked for.No findings

    Why it is in this group

    • The name "list_keywords" says "list": a word for reading.
    Description, as the server wrote it
    List all SEO keywords tracked for a target, including latest Google rank position and the page each is tracked for. Max 50 per target.
  • list_load_testsList recent load test runs for a target.No findings

    Why it is in this group

    • The name "list_load_tests" says "list": a word for reading.
    Description, as the server wrote it
    List recent load test runs for a target.
  • list_maintenance_windowsList maintenance windows for a target.No findings

    Why it is in this group

    • The name "list_maintenance_windows" says "list": a word for reading.
    Description, as the server wrote it
    List maintenance windows for a target. Shows scheduled and recurring maintenance periods that suppress alerts.
  • list_notification_channelsList all notification channels (Email, Slack, Webhook, SMS, Web Push) configured for the team.No findings

    Why it is in this group

    • The name "list_notification_channels" says "list": a word for reading.
    Description, as the server wrote it
    List all notification channels (Email, Slack, Webhook, SMS, Web Push) configured for the team. Sensitive config values are redacted.
  • list_notification_rulesList all notification alert rules for the team.No findings

    Why it is in this group

    • The name "list_notification_rules" says "list": a word for reading.
    Description, as the server wrote it
    List all notification alert rules for the team. Rules map event types + severity levels to notification channels.
  • list_page_fragmentsList all reusable page fragments for the team.No findings

    Why it is in this group

    • The name "list_page_fragments" says "list": a word for reading.
    Description, as the server wrote it
    List all reusable page fragments for the team. Fragments are shared step sequences (e.g. "Login", "Dismiss Cookies") that can be inserted into multiple Journeys via the use_fragment action.
  • list_runsList recent test runs.No findings

    Why it is in this group

    • The name "list_runs" says "list": a word for reading.
    Description, as the server wrote it
    List recent test runs. Filter by target, status, or test slug. Returns run status, score, summary, duration, and finding count.
  • list_scheduled_reportsList all scheduled reports for the team.No findings

    Why it is in this group

    • The name "list_scheduled_reports" says "list": a word for reading.
    Description, as the server wrote it
    List all scheduled reports for the team. Reports are automatically generated and emailed on a daily or weekly basis.
  • list_secretsList secrets stored in a target's vault.No findings

    Why it is in this group

    • The name "list_secrets" says "list": a word for reading.
    Description, as the server wrote it
    List secrets stored in a target's vault. Values are masked — only key names and labels are shown. Secrets are used by test plugins (e.g. LOGIN_EMAIL, LOGIN_PASSWORD for B2B shops, ga4_service_account for GA4).
  • list_targetsList all monitoring targets for your team.No findings

    Why it is in this group

    • The name "list_targets" says "list": a word for reading.
    Description, as the server wrote it
    List all monitoring targets for your team. Returns name, URL, type, status, and uptime info for each target.
  • list_testsList all available test definitions (plugins).No findings

    Why it is in this group

    • The name "list_tests" says "list": a word for reading.
    Description, as the server wrote it
    List all available test definitions (plugins). Shows slug, name, category, runner type, weight class, schedule, and enablement status. Useful for knowing which tests can be triggered.
  • resolve_incidentResolve an incident to mark it as handled.No findings

    Why it is in this group

    • The name "resolve_incident" says "resolve": a word for reading.
    Description, as the server wrote it
    Resolve an incident to mark it as handled. Changes status to RESOLVED and sets the closed timestamp.
  • system_healthGet a comprehensive system health report: BullMQ queue depths, active/stuck runs, user sessions, notification delivery stats, and recent error counts.No findings

    Why it is in this group

    • The description's first verb is "get": a word for reading.
    Description, as the server wrote it
    Get a comprehensive system health report: BullMQ queue depths, active/stuck runs, user sessions, notification delivery stats, and recent error counts. Requires admin scope.
  • target_statsGet statistics for a specific target: runs, pass rate, findings, duration.No findings

    Why it is in this group

    • The description's first verb is "get": a word for reading.
    Description, as the server wrote it
    Get statistics for a specific target: runs, pass rate, findings, duration. Supports lifetime, monthly, or weekly periods.
  • team_statsGet team-wide overview statistics: total runs, pass rate, open findings, open incidents, average duration.No findings

    Why it is in this group

    • The description's first verb is "get": a word for reading.
    Description, as the server wrote it
    Get team-wide overview statistics: total runs, pass rate, open findings, open incidents, average duration. Supports lifetime, monthly, or weekly periods.

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 2.0.1. Values in angle brackets are yours to fill in.

claude mcp add --transport http validoria https://api.teste.no/api/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__validoria__guest_get_scan",
      "mcp__validoria__list_targets",
      "mcp__validoria__get_target",
      "mcp__validoria__get_target_scores",
      "mcp__validoria__list_findings",
      "mcp__validoria__get_finding",
      "mcp__validoria__list_incidents",
      "mcp__validoria__get_incident",
      "mcp__validoria__list_runs",
      "mcp__validoria__get_run",
      "mcp__validoria__team_stats",
      "mcp__validoria__target_stats",
      "mcp__validoria__daily_trends",
      "mcp__validoria__get_site_map",
      "mcp__validoria__list_maintenance_windows",
      "mcp__validoria__list_tests",
      "mcp__validoria__resolve_incident",
      "mcp__validoria__list_automation_rules",
      "mcp__validoria__get_automation_rule",
      "mcp__validoria__list_journeys",
      "mcp__validoria__get_journey",
      "mcp__validoria__list_scheduled_reports",
      "mcp__validoria__get_team_settings",
      "mcp__validoria__list_notification_rules",
      "mcp__validoria__list_notification_channels",
      "mcp__validoria__list_keywords",
      "mcp__validoria__get_load_test",
      "mcp__validoria__list_load_tests",
      "mcp__validoria__list_secrets",
      "mcp__validoria__list_page_fragments",
      "mcp__validoria__analyze_target",
      "mcp__validoria__system_health"
    ],
    "ask": [
      "mcp__validoria__guest_start_scan",
      "mcp__validoria__active_runs",
      "mcp__validoria__trigger_test",
      "mcp__validoria__trigger_all_tests",
      "mcp__validoria__acknowledge_incident",
      "mcp__validoria__mute_finding",
      "mcp__validoria__create_maintenance_window",
      "mcp__validoria__record_deployment",
      "mcp__validoria__recompute_scores",
      "mcp__validoria__create_automation_rule",
      "mcp__validoria__update_automation_rule",
      "mcp__validoria__create_journey",
      "mcp__validoria__update_journey",
      "mcp__validoria__trigger_journey",
      "mcp__validoria__create_scheduled_report",
      "mcp__validoria__update_scheduled_report",
      "mcp__validoria__update_team_settings",
      "mcp__validoria__create_notification_rule",
      "mcp__validoria__update_notification_rule",
      "mcp__validoria__add_keyword",
      "mcp__validoria__start_load_test",
      "mcp__validoria__store_secret",
      "mcp__validoria__rotate_secret",
      "mcp__validoria__create_page_fragment",
      "mcp__validoria__update_page_fragment",
      "mcp__validoria__create_target",
      "mcp__validoria__update_target",
      "mcp__validoria__import_targets",
      "mcp__validoria__create_muting_rule",
      "mcp__validoria__update_test",
      "mcp__validoria__enable_all_tests",
      "mcp__validoria__disable_all_tests"
    ],
    "deny": [
      "mcp__validoria__delete_maintenance_window",
      "mcp__validoria__delete_automation_rule",
      "mcp__validoria__delete_journey",
      "mcp__validoria__delete_scheduled_report",
      "mcp__validoria__delete_notification_rule",
      "mcp__validoria__remove_keyword",
      "mcp__validoria__cancel_load_test",
      "mcp__validoria__delete_secret",
      "mcp__validoria__delete_page_fragment",
      "mcp__validoria__delete_target"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as validoria. Review it before you use it.