validoria-mcp
Continuous website testing by Validoria — monitor security, SEO, performance, and accessibility.
Sollte ich dies verwenden
Qualität und Sicherheit
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"validoria-mcp": {
"command": "npx",
"args": [
"validoria-mcp"
]
}
}
}Ausführbare Pakete
2.0.1stdioRemote-Endpunkte
https://api.teste.no/api/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (74)
🟡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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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).
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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).
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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).
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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).
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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#"
}Community
Nachweis