validoria-mcp

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

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
97%
Integridad del esquema
92%
Calidad de los nombres
96%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~11,685Tokens (definiciones de herramientas)
~1.5 KBTamaño de respuesta típico
Impacto significativo en la atención (9.13% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "validoria-mcp": {
      "command": "npx",
      "args": [
        "validoria-mcp"
      ]
    }
  }
}

Paquetes ejecutables

npmvalidoria-mcp2.0.1stdio

Puntos de conexión remotos

https://api.teste.no/api/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (74)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟡guest_start_scan(url)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "description": "Public http(s) URL to scan, e.g. https://example.com"
    }
  },
  "required": [
    "url"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢guest_get_scan(scanId, guestSessionId)

Poll results for a guest_start_scan. Pass the scanId and guestSessionId from the start response. No API key required.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "scanId": {
      "type": "string",
      "minLength": 1,
      "description": "Scan workflow id from guest_start_scan"
    },
    "guestSessionId": {
      "type": "string",
      "minLength": 1,
      "description": "Guest session id returned by guest_start_scan"
    }
  },
  "required": [
    "scanId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_targets(status, type, limit)

List all monitoring targets for your team. Returns name, URL, type, status, and uptime info for each target.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "HEALTHY",
        "WARNING",
        "CRITICAL",
        "UNKNOWN"
      ],
      "description": "Filter by target status"
    },
    "type": {
      "type": "string",
      "enum": [
        "WEBSITE",
        "API",
        "WEBSHOP"
      ],
      "description": "Filter by target type"
    },
    "limit": {
      "type": "number",
      "minimum": 1,
      "maximum": 100,
      "default": 50,
      "description": "Max number of targets to return"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_target(targetId)

Get detailed information about a specific target including status, uptime, fingerprint, and composite scores.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "targetId": {
      "type": "string",
      "description": "The target ID to look up"
    }
  },
  "required": [
    "targetId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_target_scores(targetId)

Get composite scores (Security, SEO, Performance, Accessibility) for a target. Each score is 0-100 with a status rating.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "targetId": {
      "type": "string",
      "description": "The target ID"
    }
  },
  "required": [
    "targetId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_findings(targetId, status, severity, limit)

List findings (discovered issues) across your targets. Filter by status, severity, or target. Returns title, severity, status, test name, and AI enrichment if available.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "targetId": {
      "type": "string",
      "description": "Filter by target ID"
    },
    "status": {
      "type": "string",
      "enum": [
        "OPEN",
        "MUTED",
        "RESOLVED"
      ],
      "description": "Filter by finding status (default: OPEN)"
    },
    "severity": {
      "type": "string",
      "enum": [
        "CRITICAL",
        "WARNING",
        "INFO"
      ],
      "description": "Filter by severity"
    },
    "limit": {
      "type": "number",
      "minimum": 1,
      "maximum": 100,
      "default": 50,
      "description": "Max number of findings to return"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_finding(findingId)

Get full details of a specific finding, including evidence, AI analysis, and recommended fix.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "findingId": {
      "type": "string",
      "description": "The finding ID"
    }
  },
  "required": [
    "findingId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_incidents(status, targetId, limit)

List incidents (grouped operational issues) across your targets. Filter by status. Returns title, severity, status, findings count, and deployment correlation.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "OPEN",
        "ACKNOWLEDGED",
        "RESOLVED"
      ],
      "description": "Filter by incident status"
    },
    "targetId": {
      "type": "string",
      "description": "Filter by target ID"
    },
    "limit": {
      "type": "number",
      "minimum": 1,
      "maximum": 100,
      "default": 50,
      "description": "Max number of incidents to return"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_incident(incidentId)

Get full details of a specific incident including linked findings, AI analysis, and deployment correlation.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "incidentId": {
      "type": "string",
      "description": "The incident ID"
    }
  },
  "required": [
    "incidentId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_runs(targetId, status, testSlug, limit)

List recent test runs. Filter by target, status, or test slug. Returns run status, score, summary, duration, and finding count.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "targetId": {
      "type": "string",
      "description": "Filter by target ID"
    },
    "status": {
      "type": "string",
      "enum": [
        "QUEUED",
        "RUNNING",
        "PASSED",
        "WARNING",
        "FAILED",
        "CANCELED"
      ],
      "description": "Filter by run status"
    },
    "testSlug": {
      "type": "string",
      "description": "Filter by test definition slug (e.g. \"security-headers\")"
    },
    "limit": {
      "type": "number",
      "minimum": 1,
      "maximum": 100,
      "default": 25,
      "description": "Max number of runs to return"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_run(runId)

Get full details of a specific test run including metrics, score, summary, errors, and associated findings.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "runId": {
      "type": "string",
      "description": "The run ID"
    }
  },
  "required": [
    "runId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢active_runs(targetId)

Get currently running and queued tests across all targets. Useful for checking what tests are in progress right now.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "targetId": {
      "type": "string",
      "description": "Filter by target ID"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢team_stats(period)

Get team-wide overview statistics: total runs, pass rate, open findings, open incidents, average duration. Supports lifetime, monthly, or weekly periods.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "period": {
      "type": "string",
      "description": "Period filter: \"lifetime\", \"2026-04\" (monthly), or \"2026-W14\" (weekly). Defaults to lifetime."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢target_stats(targetId, period)

Get statistics for a specific target: runs, pass rate, findings, duration. Supports lifetime, monthly, or weekly periods.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "targetId": {
      "type": "string",
      "description": "The target ID"
    },
    "period": {
      "type": "string",
      "description": "Period filter: \"lifetime\", \"2026-04\" (monthly), or \"2026-W14\" (weekly). Defaults to lifetime."
    }
  },
  "required": [
    "targetId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢daily_trends(days, targetId)

Get daily time-series data for runs, findings, and average duration. Useful for identifying trends over time. Returns up to 90 days of data.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "days": {
      "type": "number",
      "minimum": 1,
      "maximum": 90,
      "default": 14,
      "description": "Number of days of history to return"
    },
    "targetId": {
      "type": "string",
      "description": "Filter by target ID (omit for team-wide)"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_site_map(targetId, includePages, pageLimit, pageStatus)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "targetId": {
      "type": "string",
      "description": "The target ID"
    },
    "includePages": {
      "type": "boolean",
      "default": false,
      "description": "Include individual page data (can be large). Default: false."
    },
    "pageLimit": {
      "type": "number",
      "minimum": 1,
      "maximum": 200,
      "default": 50,
      "description": "Max pages to return when includePages is true"
    },
    "pageStatus": {
      "type": "string",
      "enum": [
        "HEALTHY",
        "BROKEN",
        "REDIRECT",
        "SLOW"
      ],
      "description": "Filter pages by status"
    }
  },
  "required": [
    "targetId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_maintenance_windows(targetId)

List maintenance windows for a target. Shows scheduled and recurring maintenance periods that suppress alerts.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "targetId": {
      "type": "string",
      "description": "The target ID"
    }
  },
  "required": [
    "targetId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_tests(category, enabledOnly)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "category": {
      "type": "string",
      "enum": [
        "SEO",
        "SECURITY",
        "PERFORMANCE",
        "MOBILE",
        "ACCESSIBILITY",
        "ECOMMERCE",
        "API_HEALTH"
      ],
      "description": "Filter by test category"
    },
    "enabledOnly": {
      "type": "boolean",
      "default": true,
      "description": "Only show enabled tests. Default: true."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢trigger_test(targetId, testId, testSlug)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "targetId": {
      "type": "string",
      "description": "The target ID to test"
    },
    "testId": {
      "type": "string",
      "description": "Test definition ID (use this or testSlug)"
    },
    "testSlug": {
      "type": "string",
      "description": "Test slug e.g. \"security-headers\" (use this or testId)"
    }
  },
  "required": [
    "targetId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢trigger_all_tests(targetId)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "targetId": {
      "type": "string",
      "description": "The target ID to scan"
    }
  },
  "required": [
    "targetId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪acknowledge_incident(incidentId)

Acknowledge an open incident to signal that someone is looking at it. Changes status from OPEN to ACKNOWLEDGED.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "incidentId": {
      "type": "string",
      "description": "The incident ID to acknowledge"
    }
  },
  "required": [
    "incidentId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪resolve_incident(incidentId)

Resolve an incident to mark it as handled. Changes status to RESOLVED and sets the closed timestamp.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "incidentId": {
      "type": "string",
      "description": "The incident ID to resolve"
    }
  },
  "required": [
    "incidentId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪mute_finding(findingId)

Mute an open finding to suppress it from dashboards and alerts. Status changes from OPEN to MUTED.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "findingId": {
      "type": "string",
      "description": "The finding ID to mute"
    }
  },
  "required": [
    "findingId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡create_maintenance_window(targetId, name, startsAt, endsAt, isRecurring, ...)

Schedule a maintenance window for a target. During maintenance, alerts and notifications are suppressed. Supports one-time, daily, and weekly recurring windows.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "targetId": {
      "type": "string",
      "description": "The target ID"
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Name for the window, e.g. \"Weekly deploy\""
    },
    "startsAt": {
      "type": "string",
      "description": "Start time as ISO 8601 string, e.g. \"2026-04-05T02:00:00Z\""
    },
    "endsAt": {
      "type": "string",
      "description": "End time as ISO 8601 string, e.g. \"2026-04-05T04:00:00Z\""
    },
    "isRecurring": {
      "type": "boolean",
      "default": false,
      "description": "Whether this window repeats"
    },
    "recurrence": {
      "type": "string",
      "enum": [
        "DAILY",
        "WEEKLY"
      ],
      "description": "Recurrence pattern (required if isRecurring is true)"
    },
    "description": {
      "type": "string",
      "description": "Optional description"
    }
  },
  "required": [
    "targetId",
    "name",
    "startsAt",
    "endsAt"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴delete_maintenance_window(windowId, targetId)

Remove a scheduled maintenance window.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "windowId": {
      "type": "string",
      "description": "The maintenance window ID to delete"
    },
    "targetId": {
      "type": "string",
      "description": "The target ID (for access verification)"
    }
  },
  "required": [
    "windowId",
    "targetId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪record_deployment(targetId, version, commitSha, environment, description, ...)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "targetId": {
      "type": "string",
      "description": "The target ID"
    },
    "version": {
      "type": "string",
      "description": "Version string, e.g. \"v2.4.1\""
    },
    "commitSha": {
      "type": "string",
      "description": "Git commit SHA"
    },
    "environment": {
      "type": "string",
      "description": "Environment, e.g. \"production\", \"staging\""
    },
    "description": {
      "type": "string",
      "description": "Deployment description or changelog"
    },
    "deployedBy": {
      "type": "string",
      "description": "Who deployed (name, email, or system)"
    }
  },
  "required": [
    "targetId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪recompute_scores(targetId)

Force recompute all composite scores (Security, SEO, Performance, Accessibility) for a target. Useful after manual changes or when scores seem stale.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "targetId": {
      "type": "string",
      "description": "The target ID to recompute scores for"
    }
  },
  "required": [
    "targetId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_automation_rules(enabled)

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).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "enabled": {
      "type": "boolean",
      "description": "Filter by enabled/disabled status"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_automation_rule(ruleId)

Get full details of a specific automation rule.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "ruleId": {
      "type": "string",
      "description": "The automation rule ID"
    }
  },
  "required": [
    "ruleId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡create_automation_rule(name, trigger, targetId, conditions, actions, ...)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "Rule name"
    },
    "trigger": {
      "type": "string",
      "enum": [
        "TEST_FAILED",
        "TEST_RECOVERED",
        "INCIDENT_CREATED",
        "INCIDENT_RESOLVED",
        "TARGET_DOWN",
        "TARGET_RECOVERED"
      ],
      "description": "Event that triggers the rule"
    },
    "targetId": {
      "type": "string",
      "description": "Optional target ID to scope rule to a specific target"
    },
    "conditions": {
      "type": "object",
      "properties": {
        "testSlugs": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Only trigger for these test slugs"
        },
        "severities": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "CRITICAL",
              "WARNING",
              "INFO"
            ]
          },
          "description": "Only trigger for these severity levels"
        },
        "minRecurrence": {
          "type": "integer",
          "minimum": 1,
          "description": "Minimum finding recurrence count to trigger"
        },
        "targetIds": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Only trigger for these target IDs"
        }
      },
      "additionalProperties": false,
      "description": "Optional conditions that must be met"
    },
    "actions": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "escalate",
              "suppress",
              "rerun",
              "notify",
              "webhook",
              "add_note"
            ],
            "description": "Action type"
          },
          "severity": {
            "type": "string",
            "enum": [
              "CRITICAL",
              "WARNING",
              "INFO"
            ],
            "description": "Target severity (for escalate action)"
          },
          "webhookUrl": {
            "type": "string",
            "format": "uri",
            "description": "Webhook URL (for webhook action)"
          },
          "note": {
            "type": "string",
            "maxLength": 1000,
            "description": "Note text (for add_note action)"
          },
          "delayMs": {
            "type": "integer",
            "minimum": 0,
            "maximum": 600000,
            "description": "Delay in ms before executing (for rerun action)"
          }
        },
        "required": [
          "type"
        ],
        "additionalProperties": false
      },
      "minItems": 1,
      "description": "Actions to execute when triggered"
    },
    "priorityOrder": {
      "type": "integer",
      "default": 0,
      "description": "Priority order (lower = evaluated first)"
    }
  },
  "required": [
    "name",
    "trigger",
    "actions"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡update_automation_rule(ruleId, name, trigger, targetId, isEnabled, ...)

Update an existing automation rule. Any field not provided will remain unchanged.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "ruleId": {
      "type": "string",
      "description": "The automation rule ID to update"
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "Updated rule name"
    },
    "trigger": {
      "type": "string",
      "enum": [
        "TEST_FAILED",
        "TEST_RECOVERED",
        "INCIDENT_CREATED",
        "INCIDENT_RESOLVED",
        "TARGET_DOWN",
        "TARGET_RECOVERED"
      ],
      "description": "Updated trigger event"
    },
    "targetId": {
      "type": [
        "string",
        "null"
      ],
      "description": "Updated target scope (null to remove target scoping)"
    },
    "isEnabled": {
      "type": "boolean",
      "description": "Enable or disable the rule"
    },
    "conditions": {
      "type": "object",
      "properties": {
        "testSlugs": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "severities": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "CRITICAL",
              "WARNING",
              "INFO"
            ]
          }
        },
        "minRecurrence": {
          "type": "integer",
          "minimum": 1
        },
        "targetIds": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "additionalProperties": false,
      "description": "Updated conditions"
    },
    "actions": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "escalate",
              "suppress",
              "rerun",
              "notify",
              "webhook",
              "add_note"
            ]
          },
          "severity": {
            "type": "string",
            "enum": [
              "CRITICAL",
              "WARNING",
              "INFO"
            ]
          },
          "webhookUrl": {
            "type": "string",
            "format": "uri"
          },
          "note": {
            "type": "string",
            "maxLength": 1000
          },
          "delayMs": {
            "type": "integer",
            "minimum": 0,
            "maximum": 600000
          }
        },
        "required": [
          "type"
        ],
        "additionalProperties": false
      },
      "minItems": 1,
      "description": "Updated actions"
    },
    "priorityOrder": {
      "type": "integer",
      "description": "Updated priority order"
    }
  },
  "required": [
    "ruleId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴delete_automation_rule(ruleId)

Permanently delete an automation rule.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "ruleId": {
      "type": "string",
      "description": "The automation rule ID to delete"
    }
  },
  "required": [
    "ruleId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_journeys(targetId)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "targetId": {
      "type": "string",
      "description": "Filter by target ID. If omitted, lists all team journeys."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_journey(journeyId)

Get full details of a specific journey including all steps.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "journeyId": {
      "type": "string",
      "description": "The journey ID"
    }
  },
  "required": [
    "journeyId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡create_journey(targetId, name, description, platform, timeoutSeconds, ...)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "targetId": {
      "type": "string",
      "description": "Target ID to create the journey for"
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Journey name"
    },
    "description": {
      "type": "string",
      "maxLength": 2000,
      "description": "Journey description"
    },
    "platform": {
      "type": "string",
      "maxLength": 50,
      "description": "Platform tag (e.g. \"shopify\", \"woocommerce\")"
    },
    "timeoutSeconds": {
      "type": "number",
      "minimum": 10,
      "maximum": 300,
      "default": 60,
      "description": "Max execution time in seconds"
    },
    "steps": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "action": {
            "type": "string",
            "enum": [
              "navigate",
              "click",
              "type",
              "fill",
              "select",
              "assert",
              "wait",
              "screenshot",
              "scroll",
              "hover",
              "use_fragment"
            ]
          },
          "target": {
            "type": "string",
            "description": "CSS selector or URL target"
          },
          "value": {
            "type": "string",
            "description": "Value to type/fill, URL to navigate to, or fragment ID for use_fragment"
          },
          "label": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200,
            "description": "Human-readable step description"
          },
          "assertionOperator": {
            "type": "string",
            "enum": [
              "element_visible",
              "element_hidden",
              "url_contains",
              "text_contains",
              "element_count"
            ],
            "description": "Assertion type (for assert action)"
          },
          "waitMs": {
            "type": "number",
            "minimum": 0,
            "maximum": 30000,
            "description": "Wait duration in ms (for wait action)"
          },
          "screenshot": {
            "type": "boolean",
            "default": false,
            "description": "Capture screenshot after this step"
          }
        },
        "required": [
          "action",
          "label"
        ],
        "additionalProperties": false
      },
      "minItems": 1,
      "maxItems": 50,
      "description": "Ordered list of browser actions"
    }
  },
  "required": [
    "targetId",
    "name",
    "steps"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡update_journey(journeyId, name, description, isEnabled, timeoutSeconds, ...)

Update a journey's name, settings, or steps. When steps are provided, all existing steps are replaced.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "journeyId": {
      "type": "string",
      "description": "The journey ID to update"
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Updated name"
    },
    "description": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 2000
        },
        {
          "type": "null"
        }
      ],
      "description": "Updated description"
    },
    "isEnabled": {
      "type": "boolean",
      "description": "Enable or disable the journey"
    },
    "timeoutSeconds": {
      "type": "number",
      "minimum": 10,
      "maximum": 300,
      "description": "Updated timeout"
    },
    "steps": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "action": {
            "type": "string",
            "enum": [
              "navigate",
              "click",
              "type",
              "fill",
              "select",
              "assert",
              "wait",
              "screenshot",
              "scroll",
              "hover",
              "use_fragment"
            ]
          },
          "target": {
            "type": "string",
            "description": "CSS selector or URL target"
          },
          "value": {
            "type": "string",
            "description": "Value to type/fill, URL to navigate to, or fragment ID for use_fragment"
          },
          "label": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200,
            "description": "Human-readable step description"
          },
          "assertionOperator": {
            "type": "string",
            "enum": [
              "element_visible",
              "element_hidden",
              "url_contains",
              "text_contains",
              "element_count"
            ],
            "description": "Assertion type (for assert action)"
          },
          "waitMs": {
            "type": "number",
            "minimum": 0,
            "maximum": 30000,
            "description": "Wait duration in ms (for wait action)"
          },
          "screenshot": {
            "type": "boolean",
            "default": false,
            "description": "Capture screenshot after this step"
          }
        },
        "required": [
          "action",
          "label"
        ],
        "additionalProperties": false
      },
      "minItems": 1,
      "maxItems": 50,
      "description": "Replacement steps (replaces all existing steps)"
    }
  },
  "required": [
    "journeyId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴delete_journey(journeyId)

Permanently delete a journey and all its steps.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "journeyId": {
      "type": "string",
      "description": "The journey ID to delete"
    }
  },
  "required": [
    "journeyId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢trigger_journey(journeyId)

Execute a journey (custom browser test flow) against its target. The journey runs asynchronously — use get_run to check progress.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "journeyId": {
      "type": "string",
      "description": "The journey ID to trigger"
    }
  },
  "required": [
    "journeyId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_scheduled_reports

List all scheduled reports for the team. Reports are automatically generated and emailed on a daily or weekly basis.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡create_scheduled_report(name, frequency, recipients, dayOfWeek, hourUtc)

Create a new scheduled email report. Reports include run stats, open findings, composite scores, and per-target status.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "default": "Weekly Summary",
      "description": "Report name"
    },
    "frequency": {
      "type": "string",
      "enum": [
        "DAILY",
        "WEEKLY"
      ],
      "default": "WEEKLY",
      "description": "How often to send"
    },
    "recipients": {
      "type": "string",
      "default": "",
      "description": "Comma-separated email addresses. Empty = all team members."
    },
    "dayOfWeek": {
      "type": "number",
      "minimum": 0,
      "maximum": 6,
      "default": 1,
      "description": "Day of week for WEEKLY reports (0=Sunday, 1=Monday, ..., 6=Saturday)"
    },
    "hourUtc": {
      "type": "number",
      "minimum": 0,
      "maximum": 23,
      "default": 8,
      "description": "Hour in UTC to send the report"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡update_scheduled_report(reportId, name, frequency, enabled, recipients, ...)

Update an existing scheduled report. Any field not provided stays unchanged.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "reportId": {
      "type": "string",
      "description": "The scheduled report ID to update"
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "Updated name"
    },
    "frequency": {
      "type": "string",
      "enum": [
        "DAILY",
        "WEEKLY"
      ],
      "description": "Updated frequency"
    },
    "enabled": {
      "type": "boolean",
      "description": "Enable or disable the report"
    },
    "recipients": {
      "type": "string",
      "description": "Updated comma-separated email list"
    },
    "dayOfWeek": {
      "type": "number",
      "minimum": 0,
      "maximum": 6,
      "description": "Updated day of week"
    },
    "hourUtc": {
      "type": "number",
      "minimum": 0,
      "maximum": 23,
      "description": "Updated hour UTC"
    }
  },
  "required": [
    "reportId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴delete_scheduled_report(reportId)

Permanently delete a scheduled report.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "reportId": {
      "type": "string",
      "description": "The scheduled report ID to delete"
    }
  },
  "required": [
    "reportId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_team_settings

Get the team's configuration including AI enrichment, uptime monitoring, severity escalation, run policies, notification coalescing, SEO, and Kloner Tasks integration settings.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡update_team_settings(aiEnabled, aiModel, aiSourceReviewModel, aiAutoEnrich, aiMonthlyCapUsd, ...)

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).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "aiEnabled": {
      "type": "boolean",
      "description": "Enable/disable AI finding enrichment"
    },
    "aiModel": {
      "type": "string",
      "description": "OpenAI model for finding enrichment (e.g. gpt-4o-mini)"
    },
    "aiSourceReviewModel": {
      "type": "string",
      "description": "Model for AI source review plugin"
    },
    "aiAutoEnrich": {
      "type": "boolean",
      "description": "Auto-enrich new findings with AI"
    },
    "aiMonthlyCapUsd": {
      "anyOf": [
        {
          "type": "number",
          "minimum": 0.01,
          "maximum": 10000
        },
        {
          "type": "null"
        }
      ],
      "description": "Monthly AI spending cap in USD (null = unlimited)"
    },
    "aiCapAction": {
      "type": "string",
      "enum": [
        "disable",
        "warn"
      ],
      "description": "Action when cap is reached"
    },
    "testsPaused": {
      "type": "boolean",
      "description": "Kill switch — pauses ALL scheduled and manual test runs"
    },
    "uptimePingTimeoutMs": {
      "type": "number",
      "minimum": 1000,
      "maximum": 30000,
      "description": "Uptime ping timeout in ms"
    },
    "uptimeDegradedThresholdMs": {
      "type": "number",
      "minimum": 500,
      "maximum": 15000,
      "description": "Response time threshold for DEGRADED status"
    },
    "uptimeFailThreshold": {
      "type": "number",
      "minimum": 1,
      "maximum": 10,
      "description": "Consecutive failures before DOWN"
    },
    "escalateWarningRecurrence": {
      "type": "number",
      "minimum": 1,
      "maximum": 100,
      "description": "Finding recurrences before WARNING→CRITICAL"
    },
    "escalateWarningAgeDays": {
      "type": "number",
      "minimum": 1,
      "maximum": 365,
      "description": "Finding age in days before WARNING→CRITICAL"
    },
    "escalateInfoRecurrence": {
      "type": "number",
      "minimum": 1,
      "maximum": 100,
      "description": "Finding recurrences before INFO→WARNING"
    },
    "escalateInfoAgeDays": {
      "type": "number",
      "minimum": 1,
      "maximum": 365,
      "description": "Finding age in days before INFO→WARNING"
    },
    "maxConcurrentRunsPerTarget": {
      "type": "number",
      "minimum": 1,
      "maximum": 20,
      "description": "Max concurrent test runs per target"
    },
    "maxDailyRunsPerTarget": {
      "type": "number",
      "minimum": 0,
      "maximum": 1000,
      "description": "Max test runs per target per day (0=unlimited). Prevents overwhelming hosted sites with limited request budgets."
    },
    "defaultRunTimeoutMs": {
      "type": "number",
      "minimum": 30000,
      "maximum": 3600000,
      "description": "Default run timeout in ms"
    },
    "digestEnabled": {
      "type": "boolean",
      "description": "Enable notification alert coalescing"
    },
    "digestWindowSeconds": {
      "type": "number",
      "minimum": 30,
      "maximum": 86400,
      "description": "Digest window duration in seconds"
    },
    "seoRankCheckEnabled": {
      "type": "boolean",
      "description": "Enable Google rank tracking"
    },
    "defaultScheduleMultiplier": {
      "type": "number",
      "minimum": 0.1,
      "maximum": 10,
      "description": "Schedule frequency multiplier (< 1 = more frequent)"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_notification_rules

List all notification alert rules for the team. Rules map event types + severity levels to notification channels.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡create_notification_rule(name, eventTypes, channelTypes, severities, targetId, ...)

Create a notification alert rule. Defines which events at which severity levels trigger notifications on which channels. Supports quiet hours and per-target scoping.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "Rule name"
    },
    "eventTypes": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "INCIDENT_OPENED",
          "INCIDENT_RESOLVED",
          "INCIDENT_ACKNOWLEDGED",
          "FINDING_CREATED",
          "FINDING_RESOLVED",
          "FINDING_ESCALATED",
          "TARGET_DOWN",
          "TARGET_RECOVERED",
          "TEST_FAILED",
          "TEST_RECOVERED",
          "SCAN_COMPLETED",
          "BILLING_LIMIT_REACHED",
          "ACTION_REQUIRED"
        ]
      },
      "minItems": 1,
      "description": "Events that trigger this rule"
    },
    "channelTypes": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "IN_APP",
          "EMAIL",
          "SLACK",
          "WEBHOOK",
          "SMS",
          "WEB_PUSH"
        ]
      },
      "minItems": 1,
      "description": "Channels to notify"
    },
    "severities": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "CRITICAL",
          "WARNING",
          "INFO"
        ]
      },
      "description": "Only trigger for these severities"
    },
    "targetId": {
      "type": "string",
      "description": "Scope to a specific target"
    },
    "quietHoursStart": {
      "type": "number",
      "minimum": 0,
      "maximum": 23,
      "description": "Quiet hours start (hour UTC)"
    },
    "quietHoursEnd": {
      "type": "number",
      "minimum": 0,
      "maximum": 23,
      "description": "Quiet hours end (hour UTC)"
    },
    "enabled": {
      "type": "boolean",
      "default": true,
      "description": "Whether the rule is active"
    }
  },
  "required": [
    "name",
    "eventTypes",
    "channelTypes"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡update_notification_rule(ruleId, name, eventTypes, channelTypes, severities, ...)

Update a notification rule. Only provided fields are changed.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "ruleId": {
      "type": "string",
      "description": "The notification rule ID"
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "eventTypes": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "INCIDENT_OPENED",
          "INCIDENT_RESOLVED",
          "INCIDENT_ACKNOWLEDGED",
          "FINDING_CREATED",
          "FINDING_RESOLVED",
          "FINDING_ESCALATED",
          "TARGET_DOWN",
          "TARGET_RECOVERED",
          "TEST_FAILED",
          "TEST_RECOVERED",
          "SCAN_COMPLETED",
          "BILLING_LIMIT_REACHED",
          "ACTION_REQUIRED"
        ]
      },
      "minItems": 1
    },
    "channelTypes": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "IN_APP",
          "EMAIL",
          "SLACK",
          "WEBHOOK",
          "SMS",
          "WEB_PUSH"
        ]
      },
      "minItems": 1
    },
    "severities": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "CRITICAL",
          "WARNING",
          "INFO"
        ]
      }
    },
    "enabled": {
      "type": "boolean"
    },
    "quietHoursStart": {
      "anyOf": [
        {
          "type": "number",
          "minimum": 0,
          "maximum": 23
        },
        {
          "type": "null"
        }
      ]
    },
    "quietHoursEnd": {
      "anyOf": [
        {
          "type": "number",
          "minimum": 0,
          "maximum": 23
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "ruleId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴delete_notification_rule(ruleId)

Permanently delete a notification rule.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "ruleId": {
      "type": "string",
      "description": "The notification rule ID to delete"
    }
  },
  "required": [
    "ruleId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_notification_channels

List all notification channels (Email, Slack, Webhook, SMS, Web Push) configured for the team. Sensitive config values are redacted.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_keywords(targetId)

List all SEO keywords tracked for a target, including latest Google rank position. Max 50 per target.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "targetId": {
      "type": "string",
      "description": "The target ID"
    }
  },
  "required": [
    "targetId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡add_keyword(targetId, keyword, isPrimary, pageScope)

Add an SEO keyword to track for a target. Max 50 keywords per target.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "targetId": {
      "type": "string",
      "description": "The target ID"
    },
    "keyword": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "The keyword to track"
    },
    "isPrimary": {
      "type": "boolean",
      "default": false,
      "description": "Mark as primary keyword"
    },
    "pageScope": {
      "type": "string",
      "maxLength": 500,
      "description": "URL pathname pattern to scope the keyword to (e.g. /kategori/*)"
    }
  },
  "required": [
    "targetId",
    "keyword"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴remove_keyword(keywordId, targetId)

Remove an SEO keyword from a target.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "keywordId": {
      "type": "string",
      "description": "The keyword ID to remove"
    },
    "targetId": {
      "type": "string",
      "description": "The target ID (for access verification)"
    }
  },
  "required": [
    "keywordId",
    "targetId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪start_load_test(targetId, mode, concurrency, duration, targetUrl, ...)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "targetId": {
      "type": "string",
      "description": "The target ID to load test"
    },
    "mode": {
      "type": "string",
      "enum": [
        "HTTP_FLOOD",
        "BROWSER_USERS",
        "COMBINED"
      ],
      "default": "HTTP_FLOOD",
      "description": "Load test mode"
    },
    "concurrency": {
      "type": "number",
      "minimum": 1,
      "maximum": 100,
      "default": 10,
      "description": "Number of concurrent connections"
    },
    "duration": {
      "type": "number",
      "minimum": 10,
      "maximum": 300,
      "default": 30,
      "description": "Test duration in seconds"
    },
    "targetUrl": {
      "type": "string",
      "format": "uri",
      "description": "Override URL (defaults to target URL)"
    },
    "rampUp": {
      "type": "number",
      "minimum": 0,
      "maximum": 60,
      "description": "Ramp-up time in seconds"
    },
    "httpMethod": {
      "type": "string",
      "enum": [
        "GET",
        "POST",
        "PUT",
        "DELETE",
        "PATCH"
      ],
      "description": "HTTP method"
    },
    "acknowledgeSharedOrigin": {
      "type": "boolean",
      "description": "Acknowledge blast radius if target shares a server with other monitored sites"
    }
  },
  "required": [
    "targetId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴cancel_load_test(loadTestRunId)

Cancel a running load test.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "loadTestRunId": {
      "type": "string",
      "description": "The load test run ID to cancel"
    }
  },
  "required": [
    "loadTestRunId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_load_test(loadTestRunId)

Get details and results of a load test run.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "loadTestRunId": {
      "type": "string",
      "description": "The load test run ID"
    }
  },
  "required": [
    "loadTestRunId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_load_tests(targetId, limit)

List recent load test runs for a target.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "targetId": {
      "type": "string",
      "description": "The target ID"
    },
    "limit": {
      "type": "number",
      "minimum": 1,
      "maximum": 50,
      "default": 10,
      "description": "Max results"
    }
  },
  "required": [
    "targetId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_secrets(targetId)

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).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "targetId": {
      "type": "string",
      "description": "The target ID"
    }
  },
  "required": [
    "targetId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪store_secret(targetId, key, label, value, environment, ...)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "targetId": {
      "type": "string",
      "description": "The target ID"
    },
    "key": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "pattern": "^[a-zA-Z_][a-zA-Z0-9_]*$",
      "description": "Secret key (e.g. LOGIN_EMAIL)"
    },
    "label": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Human-readable label"
    },
    "value": {
      "type": "string",
      "minLength": 1,
      "description": "Secret value (will be encrypted)"
    },
    "environment": {
      "type": "string",
      "enum": [
        "PRODUCTION",
        "STAGING",
        "DEVELOPMENT"
      ],
      "default": "PRODUCTION",
      "description": "Environment scope"
    },
    "description": {
      "type": "string",
      "maxLength": 500,
      "description": "Optional description"
    }
  },
  "required": [
    "targetId",
    "key",
    "label",
    "value"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡rotate_secret(secretId, targetId, newValue)

Update the value of an existing secret.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "secretId": {
      "type": "string",
      "description": "The secret ID to rotate"
    },
    "targetId": {
      "type": "string",
      "description": "The target ID (for access verification)"
    },
    "newValue": {
      "type": "string",
      "minLength": 1,
      "description": "New secret value"
    }
  },
  "required": [
    "secretId",
    "targetId",
    "newValue"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴delete_secret(secretId, targetId)

Permanently delete a secret from a target's vault.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "secretId": {
      "type": "string",
      "description": "The secret ID to delete"
    },
    "targetId": {
      "type": "string",
      "description": "The target ID (for access verification)"
    }
  },
  "required": [
    "secretId",
    "targetId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_page_fragments

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.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡create_page_fragment(name, description, steps)

Create a reusable step sequence that can be shared across multiple Journeys. Fragment names must be unique per team.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Fragment name (unique per team)"
    },
    "description": {
      "type": "string",
      "maxLength": 2000,
      "description": "Fragment description"
    },
    "steps": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "action": {
            "type": "string",
            "enum": [
              "navigate",
              "click",
              "type",
              "fill",
              "select",
              "assert",
              "wait",
              "screenshot",
              "scroll",
              "hover"
            ]
          },
          "target": {
            "type": "string",
            "description": "CSS selector or URL"
          },
          "value": {
            "type": "string",
            "description": "Value to type/fill or URL to navigate"
          },
          "label": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200,
            "description": "Step description"
          },
          "assertionOperator": {
            "type": "string",
            "enum": [
              "element_visible",
              "element_hidden",
              "url_contains",
              "text_contains",
              "element_count"
            ]
          },
          "waitMs": {
            "type": "number",
            "minimum": 0,
            "maximum": 30000
          },
          "screenshot": {
            "type": "boolean",
            "default": false
          }
        },
        "required": [
          "action",
          "label"
        ],
        "additionalProperties": false
      },
      "minItems": 1,
      "maxItems": 30,
      "description": "Ordered list of browser actions"
    }
  },
  "required": [
    "name",
    "steps"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡update_page_fragment(fragmentId, name, description, steps)

Update a page fragment. When steps are provided, all existing steps are replaced.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "fragmentId": {
      "type": "string",
      "description": "The fragment ID"
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Updated name"
    },
    "description": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 2000
        },
        {
          "type": "null"
        }
      ]
    },
    "steps": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "action": {
            "type": "string",
            "enum": [
              "navigate",
              "click",
              "type",
              "fill",
              "select",
              "assert",
              "wait",
              "screenshot",
              "scroll",
              "hover"
            ]
          },
          "target": {
            "type": "string",
            "description": "CSS selector or URL"
          },
          "value": {
            "type": "string",
            "description": "Value to type/fill or URL to navigate"
          },
          "label": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200,
            "description": "Step description"
          },
          "assertionOperator": {
            "type": "string",
            "enum": [
              "element_visible",
              "element_hidden",
              "url_contains",
              "text_contains",
              "element_count"
            ]
          },
          "waitMs": {
            "type": "number",
            "minimum": 0,
            "maximum": 30000
          },
          "screenshot": {
            "type": "boolean",
            "default": false
          }
        },
        "required": [
          "action",
          "label"
        ],
        "additionalProperties": false
      },
      "minItems": 1,
      "maxItems": 30,
      "description": "Replacement steps"
    }
  },
  "required": [
    "fragmentId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴delete_page_fragment(fragmentId)

Permanently delete a page fragment.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "fragmentId": {
      "type": "string",
      "description": "The fragment ID to delete"
    }
  },
  "required": [
    "fragmentId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡create_target(name, url, type, environment, weight, ...)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 255,
      "description": "Display name for the target"
    },
    "url": {
      "type": "string",
      "format": "uri",
      "description": "URL to monitor, e.g. \"https://example.com\""
    },
    "type": {
      "type": "string",
      "enum": [
        "WEBSITE",
        "API",
        "WEBSHOP"
      ],
      "description": "Target type: WEBSITE, API, or WEBSHOP. Use analyze_target to auto-detect."
    },
    "environment": {
      "type": "string",
      "enum": [
        "PRODUCTION",
        "STAGING",
        "DEV"
      ],
      "default": "PRODUCTION",
      "description": "Deployment environment"
    },
    "weight": {
      "type": "string",
      "enum": [
        "REVENUE_PATH",
        "PUBLIC",
        "INTERNAL"
      ],
      "default": "PUBLIC",
      "description": "Business weight, used to rank findings by consequence: REVENUE_PATH (checkout, payment, signup), PUBLIC (customer-visible but not transactional), INTERNAL (staging, admin tooling)."
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "default": [],
      "description": "Optional tags for categorization"
    },
    "uptimeEnabled": {
      "type": "boolean",
      "default": true,
      "description": "Enable background uptime monitoring"
    }
  },
  "required": [
    "name",
    "url",
    "type"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡update_target(targetId, name, url, type, environment, ...)

Update a target's properties (name, URL, type, environment, business weight, tags, uptime toggle).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "targetId": {
      "type": "string",
      "description": "The target ID to update"
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 255,
      "description": "New display name"
    },
    "url": {
      "type": "string",
      "format": "uri",
      "description": "New URL"
    },
    "type": {
      "type": "string",
      "enum": [
        "WEBSITE",
        "API",
        "WEBSHOP"
      ],
      "description": "New target type"
    },
    "environment": {
      "type": "string",
      "enum": [
        "PRODUCTION",
        "STAGING",
        "DEV"
      ],
      "description": "New environment"
    },
    "weight": {
      "type": "string",
      "enum": [
        "REVENUE_PATH",
        "PUBLIC",
        "INTERNAL"
      ],
      "description": "New business weight: REVENUE_PATH, PUBLIC or INTERNAL. Changing this rescores the target's open findings so the consequence ranking updates immediately."
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "New tags (replaces existing)"
    },
    "uptimeEnabled": {
      "type": "boolean",
      "description": "Toggle uptime monitoring"
    },
    "uptimeKeyword": {
      "anyOf": [
        {
          "anyOf": [
            {
              "not": {}
            },
            {
              "type": "string",
              "maxLength": 500
            }
          ]
        },
        {
          "type": "null"
        }
      ],
      "description": "Keyword to verify in response body during uptime checks. When set, every uptime ping GETs the page and verifies this text appears (case-insensitive). If missing, the site is treated as DOWN even on HTTP 200. Set to null to disable keyword verification."
    }
  },
  "required": [
    "targetId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴delete_target(targetId, confirm)

Permanently delete a target and all its associated data (runs, findings, incidents, artifacts). This cannot be undone.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "targetId": {
      "type": "string",
      "description": "The target ID to delete"
    },
    "confirm": {
      "type": "boolean",
      "description": "Must be true to confirm deletion"
    }
  },
  "required": [
    "targetId",
    "confirm"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡analyze_target(url)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "description": "URL to analyze, e.g. \"https://example.com\""
    }
  },
  "required": [
    "url"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪import_targets(items)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "format": "uri",
            "description": "URL to monitor"
          },
          "name": {
            "type": "string",
            "description": "Display name (defaults to hostname)"
          },
          "type": {
            "type": "string",
            "enum": [
              "WEBSITE",
              "API",
              "WEBSHOP"
            ],
            "default": "WEBSITE",
            "description": "Target type"
          }
        },
        "required": [
          "url"
        ],
        "additionalProperties": false
      },
      "minItems": 1,
      "maxItems": 100,
      "description": "Array of targets to import"
    }
  },
  "required": [
    "items"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡create_muting_rule(scope, fingerprintPattern, testDefinitionId, targetId, reason, ...)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "scope": {
      "type": "string",
      "enum": [
        "FINGERPRINT",
        "TEST_DEFINITION",
        "TEST_TARGET"
      ],
      "description": "FINGERPRINT: match by finding fingerprint substring. TEST_DEFINITION: mute all findings from a test. TEST_TARGET: mute findings from a specific test on a specific target."
    },
    "fingerprintPattern": {
      "type": "string",
      "description": "Substring to match in finding fingerprints (required for FINGERPRINT scope)"
    },
    "testDefinitionId": {
      "type": "string",
      "description": "Test definition ID (required for TEST_DEFINITION and TEST_TARGET scopes)"
    },
    "targetId": {
      "type": "string",
      "description": "Target ID to scope the rule to (required for TEST_TARGET, optional for others)"
    },
    "reason": {
      "type": "string",
      "maxLength": 500,
      "description": "Reason for muting"
    },
    "expiresAt": {
      "type": "string",
      "description": "Optional expiry as ISO 8601 string. Rule auto-expires after this time."
    }
  },
  "required": [
    "scope"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢system_health

Get a comprehensive system health report: BullMQ queue depths, active/stuck runs, user sessions, notification delivery stats, and recent error counts. Requires admin scope.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡update_test(slug, enabled, defaultSchedule, timeout)

Enable or disable a test definition globally, or update its schedule/timeout. Requires admin scope.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "description": "Test plugin slug (e.g. \"http-protocol-check\")"
    },
    "enabled": {
      "type": "boolean",
      "description": "Enable or disable the test globally"
    },
    "defaultSchedule": {
      "type": "string",
      "description": "Cron schedule (e.g. \"0 */6 * * *\")"
    },
    "timeout": {
      "type": "number",
      "description": "Timeout in milliseconds"
    }
  },
  "required": [
    "slug"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪enable_all_tests(category)

Enable all test definitions globally. Optionally filter by category to only enable tests in that category. Requires admin scope.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "category": {
      "type": "string",
      "enum": [
        "SEO",
        "SECURITY",
        "PERFORMANCE",
        "MOBILE",
        "ACCESSIBILITY",
        "ECOMMERCE",
        "API_HEALTH"
      ],
      "description": "Only enable tests in this category. Omit to enable all."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪disable_all_tests(category)

Disable all test definitions globally. Optionally filter by category to only disable tests in that category. Requires admin scope.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "category": {
      "type": "string",
      "enum": [
        "SEO",
        "SECURITY",
        "PERFORMANCE",
        "MOBILE",
        "ACCESSIBILITY",
        "ECOMMERCE",
        "API_HEALTH"
      ],
      "description": "Only disable tests in this category. Omit to disable all."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada74 herramientas
verificadoversión no registrada74 herramientas