Endpoints: 28,729MCP servers: 18,414Payout addresses: 2,071Paid calls: 1,562Letters: 14Defects: 1,336counted 2 min ago
teppi

Server definition

Hash
sha256:fd6cf175d081a5fe3752017439ca81b98d484bdf39e6bbfc841ded03fcbbc2d3
What it is
What a remote MCP server returned when asked what it offers: 74 tools

The blob, as servednamed by its sha256

{ "instructions": null, "tools": [ { "description": "Acknowledge an open incident to signal that someone is looking at it. Changes status from OPEN to ACKNOWLEDGED.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "incidentId": { "description": "The incident ID to acknowledge", "type": "string" } }, "required": [ "incidentId" ], "type": "object" }, "name": "acknowledge_incident", "outputSchema": null }, { "description": "Get currently running and queued tests across all targets. Useful for checking what tests are in progress right now.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "targetId": { "description": "Filter by target ID", "type": "string" } }, "type": "object" }, "name": "active_runs", "outputSchema": null }, { "description": "Add an SEO keyword to track for a target. Max 50 keywords per target.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "isPrimary": { "default": false, "description": "Mark as primary keyword", "type": "boolean" }, "keyword": { "description": "The keyword to track", "maxLength": 200, "minLength": 1, "type": "string" }, "pageScope": { "description": "URL pathname pattern to scope the keyword to (e.g. /kategori/*)", "maxLength": 500, "type": "string" }, "targetId": { "description": "The target ID", "type": "string" } }, "required": [ "targetId", "keyword" ], "type": "object" }, "name": "add_keyword", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "url": { "description": "URL to analyze, e.g. \"https://example.com\"", "format": "uri", "type": "string" } }, "required": [ "url" ], "type": "object" }, "name": "analyze_target", "outputSchema": null }, { "description": "Cancel a running load test.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "loadTestRunId": { "description": "The load test run ID to cancel", "type": "string" } }, "required": [ "loadTestRunId" ], "type": "object" }, "name": "cancel_load_test", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "actions": { "description": "Actions to execute when triggered", "items": { "additionalProperties": false, "properties": { "delayMs": { "description": "Delay in ms before executing (for rerun action)", "maximum": 600000, "minimum": 0, "type": "integer" }, "note": { "description": "Note text (for add_note action)", "maxLength": 1000, "type": "string" }, "severity": { "description": "Target severity (for escalate action)", "enum": [ "CRITICAL", "WARNING", "INFO" ], "type": "string" }, "type": { "description": "Action type", "enum": [ "escalate", "suppress", "rerun", "notify", "webhook", "add_note" ], "type": "string" }, "webhookUrl": { "description": "Webhook URL (for webhook action)", "format": "uri", "type": "string" } }, "required": [ "type" ], "type": "object" }, "minItems": 1, "type": "array" }, "conditions": { "additionalProperties": false, "description": "Optional conditions that must be met", "properties": { "minRecurrence": { "description": "Minimum finding recurrence count to trigger", "minimum": 1, "type": "integer" }, "severities": { "description": "Only trigger for these severity levels", "items": { "enum": [ "CRITICAL", "WARNING", "INFO" ], "type": "string" }, "type": "array" }, "targetIds": { "description": "Only trigger for these target IDs", "items": { "type": "string" }, "type": "array" }, "testSlugs": { "description": "Only trigger for these test slugs", "items": { "type": "string" }, "type": "array" } }, "type": "object" }, "name": { "description": "Rule name", "maxLength": 100, "minLength": 1, "type": "string" }, "priorityOrder": { "default": 0, "description": "Priority order (lower = evaluated first)", "type": "integer" }, "targetId": { "description": "Optional target ID to scope rule to a specific target", "type": "string" }, "trigger": { "description": "Event that triggers the rule", "enum": [ "TEST_FAILED", "TEST_RECOVERED", "INCIDENT_CREATED", "INCIDENT_RESOLVED", "TARGET_DOWN", "TARGET_RECOVERED" ], "type": "string" } }, "required": [ "name", "trigger", "actions" ], "type": "object" }, "name": "create_automation_rule", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "description": { "description": "Journey description", "maxLength": 2000, "type": "string" }, "name": { "description": "Journey name", "maxLength": 200, "minLength": 1, "type": "string" }, "platform": { "description": "Platform tag (e.g. \"shopify\", \"woocommerce\")", "maxLength": 50, "type": "string" }, "steps": { "description": "Ordered list of browser actions", "items": { "additionalProperties": false, "properties": { "action": { "enum": [ "navigate", "click", "type", "fill", "select", "assert", "wait", "screenshot", "scroll", "hover", "use_fragment" ], "type": "string" }, "assertionOperator": { "description": "Assertion type (for assert action)", "enum": [ "element_visible", "element_hidden", "url_contains", "text_contains", "element_count" ], "type": "string" }, "label": { "description": "Human-readable step description", "maxLength": 200, "minLength": 1, "type": "string" }, "screenshot": { "default": false, "description": "Capture screenshot after this step", "type": "boolean" }, "target": { "description": "CSS selector or URL target", "type": "string" }, "value": { "description": "Value to type/fill, URL to navigate to, or fragment ID for use_fragment", "type": "string" }, "waitMs": { "description": "Wait duration in ms (for wait action)", "maximum": 30000, "minimum": 0, "type": "number" } }, "required": [ "action", "label" ], "type": "object" }, "maxItems": 50, "minItems": 1, "type": "array" }, "targetId": { "description": "Target ID to create the journey for", "type": "string" }, "timeoutSeconds": { "default": 60, "description": "Max execution time in seconds", "maximum": 300, "minimum": 10, "type": "number" } }, "required": [ "targetId", "name", "steps" ], "type": "object" }, "name": "create_journey", "outputSchema": null }, { "description": "Schedule a maintenance window for a target. During maintenance, alerts and notifications are suppressed. Supports one-time, daily, and weekly recurring windows.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "description": { "description": "Optional description", "type": "string" }, "endsAt": { "description": "End time as ISO 8601 string, e.g. \"2026-04-05T04:00:00Z\"", "type": "string" }, "isRecurring": { "default": false, "description": "Whether this window repeats", "type": "boolean" }, "name": { "description": "Name for the window, e.g. \"Weekly deploy\"", "maxLength": 200, "minLength": 1, "type": "string" }, "recurrence": { "description": "Recurrence pattern (required if isRecurring is true)", "enum": [ "DAILY", "WEEKLY" ], "type": "string" }, "startsAt": { "description": "Start time as ISO 8601 string, e.g. \"2026-04-05T02:00:00Z\"", "type": "string" }, "targetId": { "description": "The target ID", "type": "string" } }, "required": [ "targetId", "name", "startsAt", "endsAt" ], "type": "object" }, "name": "create_maintenance_window", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "expiresAt": { "description": "Optional expiry as ISO 8601 string. Rule auto-expires after this time.", "type": "string" }, "fingerprintPattern": { "description": "Substring to match in finding fingerprints (required for FINGERPRINT scope)", "type": "string" }, "reason": { "description": "Reason for muting", "maxLength": 500, "type": "string" }, "scope": { "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.", "enum": [ "FINGERPRINT", "TEST_DEFINITION", "TEST_TARGET" ], "type": "string" }, "targetId": { "description": "Target ID to scope the rule to (required for TEST_TARGET, optional for others)", "type": "string" }, "testDefinitionId": { "description": "Test definition ID (required for TEST_DEFINITION and TEST_TARGET scopes)", "type": "string" } }, "required": [ "scope" ], "type": "object" }, "name": "create_muting_rule", "outputSchema": null }, { "description": "Create a notification alert rule. Defines which events at which severity levels trigger notifications on which channels. Supports quiet hours and per-target scoping.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "channelTypes": { "description": "Channels to notify", "items": { "enum": [ "IN_APP", "EMAIL", "SLACK", "WEBHOOK", "SMS", "WEB_PUSH" ], "type": "string" }, "minItems": 1, "type": "array" }, "enabled": { "default": true, "description": "Whether the rule is active", "type": "boolean" }, "eventTypes": { "description": "Events that trigger this rule", "items": { "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" ], "type": "string" }, "minItems": 1, "type": "array" }, "name": { "description": "Rule name", "maxLength": 100, "minLength": 1, "type": "string" }, "quietHoursEnd": { "description": "Quiet hours end (hour UTC)", "maximum": 23, "minimum": 0, "type": "number" }, "quietHoursStart": { "description": "Quiet hours start (hour UTC)", "maximum": 23, "minimum": 0, "type": "number" }, "severities": { "description": "Only trigger for these severities", "items": { "enum": [ "CRITICAL", "WARNING", "INFO" ], "type": "string" }, "type": "array" }, "targetId": { "description": "Scope to a specific target", "type": "string" } }, "required": [ "name", "eventTypes", "channelTypes" ], "type": "object" }, "name": "create_notification_rule", "outputSchema": null }, { "description": "Create a reusable step sequence that can be shared across multiple Journeys. Fragment names must be unique per team.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "description": { "description": "Fragment description", "maxLength": 2000, "type": "string" }, "name": { "description": "Fragment name (unique per team)", "maxLength": 200, "minLength": 1, "type": "string" }, "steps": { "description": "Ordered list of browser actions", "items": { "additionalProperties": false, "properties": { "action": { "enum": [ "navigate", "click", "type", "fill", "select", "assert", "wait", "screenshot", "scroll", "hover" ], "type": "string" }, "assertionOperator": { "enum": [ "element_visible", "element_hidden", "url_contains", "text_contains", "element_count" ], "type": "string" }, "label": { "description": "Step description", "maxLength": 200, "minLength": 1, "type": "string" }, "screenshot": { "default": false, "type": "boolean" }, "target": { "description": "CSS selector or URL", "type": "string" }, "value": { "description": "Value to type/fill or URL to navigate", "type": "string" }, "waitMs": { "maximum": 30000, "minimum": 0, "type": "number" } }, "required": [ "action", "label" ], "type": "object" }, "maxItems": 30, "minItems": 1, "type": "array" } }, "required": [ "name", "steps" ], "type": "object" }, "name": "create_page_fragment", "outputSchema": null }, { "description": "Create a new scheduled email report. Reports include run stats, open findings, composite scores, and per-target status.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "dayOfWeek": { "default": 1, "description": "Day of week for WEEKLY reports (0=Sunday, 1=Monday, ..., 6=Saturday)", "maximum": 6, "minimum": 0, "type": "number" }, "frequency": { "default": "WEEKLY", "description": "How often to send", "enum": [ "DAILY", "WEEKLY" ], "type": "string" }, "hourUtc": { "default": 8, "description": "Hour in UTC to send the report", "maximum": 23, "minimum": 0, "type": "number" }, "name": { "default": "Weekly Summary", "description": "Report name", "maxLength": 100, "minLength": 1, "type": "string" }, "recipients": { "default": "", "description": "Comma-separated email addresses. Empty = all team members.", "type": "string" } }, "type": "object" }, "name": "create_scheduled_report", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "environment": { "default": "PRODUCTION", "description": "Deployment environment", "enum": [ "PRODUCTION", "STAGING", "DEV" ], "type": "string" }, "name": { "description": "Display name for the target", "maxLength": 255, "minLength": 1, "type": "string" }, "tags": { "default": [], "description": "Optional tags for categorization", "items": { "type": "string" }, "type": "array" }, "type": { "description": "Target type: WEBSITE, API, or WEBSHOP. Use analyze_target to auto-detect.", "enum": [ "WEBSITE", "API", "WEBSHOP" ], "type": "string" }, "uptimeEnabled": { "default": true, "description": "Enable background uptime monitoring", "type": "boolean" }, "url": { "description": "URL to monitor, e.g. \"https://example.com\"", "format": "uri", "type": "string" }, "weight": { "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).", "enum": [ "REVENUE_PATH", "PUBLIC", "INTERNAL" ], "type": "string" } }, "required": [ "name", "url", "type" ], "type": "object" }, "name": "create_target", "outputSchema": null }, { "description": "Get daily time-series data for runs, findings, and average duration. Useful for identifying trends over time. Returns up to 90 days of data.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "days": { "default": 14, "description": "Number of days of history to return", "maximum": 90, "minimum": 1, "type": "number" }, "targetId": { "description": "Filter by target ID (omit for team-wide)", "type": "string" } }, "type": "object" }, "name": "daily_trends", "outputSchema": null }, { "description": "Permanently delete an automation rule.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "ruleId": { "description": "The automation rule ID to delete", "type": "string" } }, "required": [ "ruleId" ], "type": "object" }, "name": "delete_automation_rule", "outputSchema": null }, { "description": "Permanently delete a journey and all its steps.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "journeyId": { "description": "The journey ID to delete", "type": "string" } }, "required": [ "journeyId" ], "type": "object" }, "name": "delete_journey", "outputSchema": null }, { "description": "Remove a scheduled maintenance window.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "targetId": { "description": "The target ID (for access verification)", "type": "string" }, "windowId": { "description": "The maintenance window ID to delete", "type": "string" } }, "required": [ "windowId", "targetId" ], "type": "object" }, "name": "delete_maintenance_window", "outputSchema": null }, { "description": "Permanently delete a notification rule.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "ruleId": { "description": "The notification rule ID to delete", "type": "string" } }, "required": [ "ruleId" ], "type": "object" }, "name": "delete_notification_rule", "outputSchema": null }, { "description": "Permanently delete a page fragment.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "fragmentId": { "description": "The fragment ID to delete", "type": "string" } }, "required": [ "fragmentId" ], "type": "object" }, "name": "delete_page_fragment", "outputSchema": null }, { "description": "Permanently delete a scheduled report.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "reportId": { "description": "The scheduled report ID to delete", "type": "string" } }, "required": [ "reportId" ], "type": "object" }, "name": "delete_scheduled_report", "outputSchema": null }, { "description": "Permanently delete a secret from a target's vault.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "secretId": { "description": "The secret ID to delete", "type": "string" }, "targetId": { "description": "The target ID (for access verification)", "type": "string" } }, "required": [ "secretId", "targetId" ], "type": "object" }, "name": "delete_secret", "outputSchema": null }, { "description": "Permanently delete a target and all its associated data (runs, findings, incidents, artifacts). This cannot be undone.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "confirm": { "description": "Must be true to confirm deletion", "type": "boolean" }, "targetId": { "description": "The target ID to delete", "type": "string" } }, "required": [ "targetId", "confirm" ], "type": "object" }, "name": "delete_target", "outputSchema": null }, { "description": "Disable all test definitions globally. Optionally filter by category to only disable tests in that category. Requires admin scope.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "category": { "description": "Only disable tests in this category. Omit to disable all.", "enum": [ "SEO", "SECURITY", "PERFORMANCE", "MOBILE", "ACCESSIBILITY", "ECOMMERCE", "API_HEALTH" ], "type": "string" } }, "type": "object" }, "name": "disable_all_tests", "outputSchema": null }, { "description": "Enable all test definitions globally. Optionally filter by category to only enable tests in that category. Requires admin scope.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "category": { "description": "Only enable tests in this category. Omit to enable all.", "enum": [ "SEO", "SECURITY", "PERFORMANCE", "MOBILE", "ACCESSIBILITY", "ECOMMERCE", "API_HEALTH" ], "type": "string" } }, "type": "object" }, "name": "enable_all_tests", "outputSchema": null }, { "description": "Get full details of a specific automation rule.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "ruleId": { "description": "The automation rule ID", "type": "string" } }, "required": [ "ruleId" ], "type": "object" }, "name": "get_automation_rule", "outputSchema": null }, { "description": "Get full details of a specific finding, including evidence, AI analysis, and recommended fix.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "findingId": { "description": "The finding ID", "type": "string" } }, "required": [ "findingId" ], "type": "object" }, "name": "get_finding", "outputSchema": null }, { "description": "Get full details of a specific incident including linked findings, AI analysis, and deployment correlation.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "incidentId": { "description": "The incident ID", "type": "string" } }, "required": [ "incidentId" ], "type": "object" }, "name": "get_incident", "outputSchema": null }, { "description": "Get full details of a specific journey including all steps.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "journeyId": { "description": "The journey ID", "type": "string" } }, "required": [ "journeyId" ], "type": "object" }, "name": "get_journey", "outputSchema": null }, { "description": "Get details and results of a load test run.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "loadTestRunId": { "description": "The load test run ID", "type": "string" } }, "required": [ "loadTestRunId" ], "type": "object" }, "name": "get_load_test", "outputSchema": null }, { "description": "Get full details of a specific test run including metrics, score, summary, errors, and associated findings.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "runId": { "description": "The run ID", "type": "string" } }, "required": [ "runId" ], "type": "object" }, "name": "get_run", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "includePages": { "default": false, "description": "Include individual page data (can be large). Default: false.", "type": "boolean" }, "pageLimit": { "default": 50, "description": "Max pages to return when includePages is true", "maximum": 200, "minimum": 1, "type": "number" }, "pageStatus": { "description": "Filter pages by status", "enum": [ "HEALTHY", "BROKEN", "REDIRECT", "SLOW" ], "type": "string" }, "targetId": { "description": "The target ID", "type": "string" } }, "required": [ "targetId" ], "type": "object" }, "name": "get_site_map", "outputSchema": null }, { "description": "Get detailed information about a specific target including status, uptime, fingerprint, and composite scores.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "targetId": { "description": "The target ID to look up", "type": "string" } }, "required": [ "targetId" ], "type": "object" }, "name": "get_target", "outputSchema": null }, { "description": "Get composite scores (Security, SEO, Performance, Accessibility, AI-search readiness) for a target. Each score is 0-100 with a status rating.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "targetId": { "description": "The target ID", "type": "string" } }, "required": [ "targetId" ], "type": "object" }, "name": "get_target_scores", "outputSchema": null }, { "description": "Get the team's configuration including AI enrichment, uptime monitoring, severity escalation, run policies, notification coalescing, SEO, and Kloner Tasks integration settings.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": {}, "type": "object" }, "name": "get_team_settings", "outputSchema": null }, { "description": "Poll results for a guest_start_scan. Pass the scanId and guestSessionId from the start response. No API key required.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "guestSessionId": { "description": "Guest session id returned by guest_start_scan", "minLength": 1, "type": "string" }, "scanId": { "description": "Scan workflow id from guest_start_scan", "minLength": 1, "type": "string" } }, "required": [ "scanId" ], "type": "object" }, "name": "guest_get_scan", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "url": { "description": "Public http(s) URL to scan, e.g. https://example.com", "format": "uri", "type": "string" } }, "required": [ "url" ], "type": "object" }, "name": "guest_start_scan", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "items": { "description": "Array of targets to import", "items": { "additionalProperties": false, "properties": { "name": { "description": "Display name (defaults to hostname)", "type": "string" }, "type": { "default": "WEBSITE", "description": "Target type", "enum": [ "WEBSITE", "API", "WEBSHOP" ], "type": "string" }, "url": { "description": "URL to monitor", "format": "uri", "type": "string" } }, "required": [ "url" ], "type": "object" }, "maxItems": 100, "minItems": 1, "type": "array" } }, "required": [ "items" ], "type": "object" }, "name": "import_targets", "outputSchema": null }, { "description": "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).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "enabled": { "description": "Filter by enabled/disabled status", "type": "boolean" } }, "type": "object" }, "name": "list_automation_rules", "outputSchema": null }, { "description": "List findings (discovered issues) across your targets. Filter by status, severity, or target. Returns title, severity, status, test name, and AI enrichment if available.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "limit": { "default": 50, "description": "Max number of findings to return", "maximum": 100, "minimum": 1, "type": "number" }, "severity": { "description": "Filter by severity", "enum": [ "CRITICAL", "WARNING", "INFO" ], "type": "string" }, "status": { "description": "Filter by finding status (default: OPEN)", "enum": [ "OPEN", "MUTED", "RESOLVED" ], "type": "string" }, "targetId": { "description": "Filter by target ID", "type": "string" } }, "type": "object" }, "name": "list_findings", "outputSchema": null }, { "description": "List incidents (grouped operational issues) across your targets. Filter by status. Returns title, severity, status, findings count, and deployment correlation.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "limit": { "default": 50, "description": "Max number of incidents to return", "maximum": 100, "minimum": 1, "type": "number" }, "status": { "description": "Filter by incident status", "enum": [ "OPEN", "ACKNOWLEDGED", "RESOLVED" ], "type": "string" }, "targetId": { "description": "Filter by target ID", "type": "string" } }, "type": "object" }, "name": "list_incidents", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "targetId": { "description": "Filter by target ID. If omitted, lists all team journeys.", "type": "string" } }, "type": "object" }, "name": "list_journeys", "outputSchema": null }, { "description": "List all SEO keywords tracked for a target, including latest Google rank position. Max 50 per target.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "targetId": { "description": "The target ID", "type": "string" } }, "required": [ "targetId" ], "type": "object" }, "name": "list_keywords", "outputSchema": null }, { "description": "List recent load test runs for a target.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "limit": { "default": 10, "description": "Max results", "maximum": 50, "minimum": 1, "type": "number" }, "targetId": { "description": "The target ID", "type": "string" } }, "required": [ "targetId" ], "type": "object" }, "name": "list_load_tests", "outputSchema": null }, { "description": "List maintenance windows for a target. Shows scheduled and recurring maintenance periods that suppress alerts.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "targetId": { "description": "The target ID", "type": "string" } }, "required": [ "targetId" ], "type": "object" }, "name": "list_maintenance_windows", "outputSchema": null }, { "description": "List all notification channels (Email, Slack, Webhook, SMS, Web Push) configured for the team. Sensitive config values are redacted.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": {}, "type": "object" }, "name": "list_notification_channels", "outputSchema": null }, { "description": "List all notification alert rules for the team. Rules map event types + severity levels to notification channels.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": {}, "type": "object" }, "name": "list_notification_rules", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": {}, "type": "object" }, "name": "list_page_fragments", "outputSchema": null }, { "description": "List recent test runs. Filter by target, status, or test slug. Returns run status, score, summary, duration, and finding count.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "limit": { "default": 25, "description": "Max number of runs to return", "maximum": 100, "minimum": 1, "type": "number" }, "status": { "description": "Filter by run status", "enum": [ "QUEUED", "RUNNING", "PASSED", "WARNING", "FAILED", "CANCELED" ], "type": "string" }, "targetId": { "description": "Filter by target ID", "type": "string" }, "testSlug": { "description": "Filter by test definition slug (e.g. \"security-headers\")", "type": "string" } }, "type": "object" }, "name": "list_runs", "outputSchema": null }, { "description": "List all scheduled reports for the team. Reports are automatically generated and emailed on a daily or weekly basis.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": {}, "type": "object" }, "name": "list_scheduled_reports", "outputSchema": null }, { "description": "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).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "targetId": { "description": "The target ID", "type": "string" } }, "required": [ "targetId" ], "type": "object" }, "name": "list_secrets", "outputSchema": null }, { "description": "List all monitoring targets for your team. Returns name, URL, type, status, and uptime info for each target.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "limit": { "default": 50, "description": "Max number of targets to return", "maximum": 100, "minimum": 1, "type": "number" }, "status": { "description": "Filter by target status", "enum": [ "HEALTHY", "WARNING", "CRITICAL", "UNKNOWN" ], "type": "string" }, "type": { "description": "Filter by target type", "enum": [ "WEBSITE", "API", "WEBSHOP" ], "type": "string" } }, "type": "object" }, "name": "list_targets", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "category": { "description": "Filter by test category", "enum": [ "SEO", "SECURITY", "PERFORMANCE", "MOBILE", "ACCESSIBILITY", "ECOMMERCE", "API_HEALTH" ], "type": "string" }, "enabledOnly": { "default": true, "description": "Only show enabled tests. Default: true.", "type": "boolean" } }, "type": "object" }, "name": "list_tests", "outputSchema": null }, { "description": "Mute an open finding to suppress it from dashboards and alerts. Status changes from OPEN to MUTED.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "findingId": { "description": "The finding ID to mute", "type": "string" } }, "required": [ "findingId" ], "type": "object" }, "name": "mute_finding", "outputSchema": null }, { "description": "Force recompute all composite scores (Security, SEO, Performance, Accessibility) for a target. Useful after manual changes or when scores seem stale.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "targetId": { "description": "The target ID to recompute scores for", "type": "string" } }, "required": [ "targetId" ], "type": "object" }, "name": "recompute_scores", "outputSchema": null }, { "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "commitSha": { "description": "Git commit SHA", "type": "string" }, "deployedBy": { "description": "Who deployed (name, email, or system)", "type": "string" }, "description": { "description": "Deployment description or changelog", "type": "string" }, "environment": { "description": "Environment, e.g. \"production\", \"staging\"", "type": "string" }, "targetId": { "description": "The target ID", "type": "string" }, "version": { "description": "Version string, e.g. \"v2.4.1\"", "type": "string" } }, "required": [ "targetId" ], "type": "object" }, "name": "record_deployment", "outputSchema": null }, { "description": "Remove an SEO keyword from a target.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "keywordId": { "description": "The keyword ID to remove", "type": "string" }, "targetId": { "description": "The target ID (for access verification)", "type": "string" } }, "required": [ "keywordId", "targetId" ], "type": "object" }, "name": "remove_keyword", "outputSchema": null }, { "description": "Resolve an incident to mark it as handled. Changes status to RESOLVED and sets the closed timestamp.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "incidentId": { "description": "The incident ID to resolve", "type": "string" } }, "required": [ "incidentId" ], "type": "object" }, "name": "resolve_incident", "outputSchema": null }, { "description": "Update the value of an existing secret.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "newValue": { "description": "New secret value", "minLength": 1, "type": "string" }, "secretId": { "description": "The secret ID to rotate", "type": "string" }, "targetId": { "description": "The target ID (for access verification)", "type": "string" } }, "required": [ "secretId", "targetId", "newValue" ], "type": "object" }, "name": "rotate_secret", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "acknowledgeSharedOrigin": { "description": "Acknowledge blast radius if target shares a server with other monitored sites", "type": "boolean" }, "concurrency": { "default": 10, "description": "Number of concurrent connections", "maximum": 100, "minimum": 1, "type": "number" }, "duration": { "default": 30, "description": "Test duration in seconds", "maximum": 300, "minimum": 10, "type": "number" }, "httpMethod": { "description": "HTTP method", "enum": [ "GET", "POST", "PUT", "DELETE", "PATCH" ], "type": "string" }, "mode": { "default": "HTTP_FLOOD", "description": "Load test mode", "enum": [ "HTTP_FLOOD", "BROWSER_USERS", "COMBINED" ], "type": "string" }, "rampUp": { "description": "Ramp-up time in seconds", "maximum": 60, "minimum": 0, "type": "number" }, "targetId": { "description": "The target ID to load test", "type": "string" }, "targetUrl": { "description": "Override URL (defaults to target URL)", "format": "uri", "type": "string" } }, "required": [ "targetId" ], "type": "object" }, "name": "start_load_test", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "description": { "description": "Optional description", "maxLength": 500, "type": "string" }, "environment": { "default": "PRODUCTION", "description": "Environment scope", "enum": [ "PRODUCTION", "STAGING", "DEVELOPMENT" ], "type": "string" }, "key": { "description": "Secret key (e.g. LOGIN_EMAIL)", "maxLength": 100, "minLength": 1, "pattern": "^[a-zA-Z_][a-zA-Z0-9_]*$", "type": "string" }, "label": { "description": "Human-readable label", "maxLength": 200, "minLength": 1, "type": "string" }, "targetId": { "description": "The target ID", "type": "string" }, "value": { "description": "Secret value (will be encrypted)", "minLength": 1, "type": "string" } }, "required": [ "targetId", "key", "label", "value" ], "type": "object" }, "name": "store_secret", "outputSchema": null }, { "description": "Get a comprehensive system health report: BullMQ queue depths, active/stuck runs, user sessions, notification delivery stats, and recent error counts. Requires admin scope.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": {}, "type": "object" }, "name": "system_health", "outputSchema": null }, { "description": "Get statistics for a specific target: runs, pass rate, findings, duration. Supports lifetime, monthly, or weekly periods.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "period": { "description": "Period filter: \"lifetime\", \"2026-04\" (monthly), or \"2026-W14\" (weekly). Defaults to lifetime.", "type": "string" }, "targetId": { "description": "The target ID", "type": "string" } }, "required": [ "targetId" ], "type": "object" }, "name": "target_stats", "outputSchema": null }, { "description": "Get team-wide overview statistics: total runs, pass rate, open findings, open incidents, average duration. Supports lifetime, monthly, or weekly periods.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "period": { "description": "Period filter: \"lifetime\", \"2026-04\" (monthly), or \"2026-W14\" (weekly). Defaults to lifetime.", "type": "string" } }, "type": "object" }, "name": "team_stats", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "targetId": { "description": "The target ID to scan", "type": "string" } }, "required": [ "targetId" ], "type": "object" }, "name": "trigger_all_tests", "outputSchema": null }, { "description": "Execute a journey (custom browser test flow) against its target. The journey runs asynchronously — use get_run to check progress.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "journeyId": { "description": "The journey ID to trigger", "type": "string" } }, "required": [ "journeyId" ], "type": "object" }, "name": "trigger_journey", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "targetId": { "description": "The target ID to test", "type": "string" }, "testId": { "description": "Test definition ID (use this or testSlug)", "type": "string" }, "testSlug": { "description": "Test slug e.g. \"security-headers\" (use this or testId)", "type": "string" } }, "required": [ "targetId" ], "type": "object" }, "name": "trigger_test", "outputSchema": null }, { "description": "Update an existing automation rule. Any field not provided will remain unchanged.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "actions": { "description": "Updated actions", "items": { "additionalProperties": false, "properties": { "delayMs": { "maximum": 600000, "minimum": 0, "type": "integer" }, "note": { "maxLength": 1000, "type": "string" }, "severity": { "enum": [ "CRITICAL", "WARNING", "INFO" ], "type": "string" }, "type": { "enum": [ "escalate", "suppress", "rerun", "notify", "webhook", "add_note" ], "type": "string" }, "webhookUrl": { "format": "uri", "type": "string" } }, "required": [ "type" ], "type": "object" }, "minItems": 1, "type": "array" }, "conditions": { "additionalProperties": false, "description": "Updated conditions", "properties": { "minRecurrence": { "minimum": 1, "type": "integer" }, "severities": { "items": { "enum": [ "CRITICAL", "WARNING", "INFO" ], "type": "string" }, "type": "array" }, "targetIds": { "items": { "type": "string" }, "type": "array" }, "testSlugs": { "items": { "type": "string" }, "type": "array" } }, "type": "object" }, "isEnabled": { "description": "Enable or disable the rule", "type": "boolean" }, "name": { "description": "Updated rule name", "maxLength": 100, "minLength": 1, "type": "string" }, "priorityOrder": { "description": "Updated priority order", "type": "integer" }, "ruleId": { "description": "The automation rule ID to update", "type": "string" }, "targetId": { "description": "Updated target scope (null to remove target scoping)", "type": [ "string", "null" ] }, "trigger": { "description": "Updated trigger event", "enum": [ "TEST_FAILED", "TEST_RECOVERED", "INCIDENT_CREATED", "INCIDENT_RESOLVED", "TARGET_DOWN", "TARGET_RECOVERED" ], "type": "string" } }, "required": [ "ruleId" ], "type": "object" }, "name": "update_automation_rule", "outputSchema": null }, { "description": "Update a journey's name, settings, or steps. When steps are provided, all existing steps are replaced.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "description": { "anyOf": [ { "maxLength": 2000, "type": "string" }, { "type": "null" } ], "description": "Updated description" }, "isEnabled": { "description": "Enable or disable the journey", "type": "boolean" }, "journeyId": { "description": "The journey ID to update", "type": "string" }, "name": { "description": "Updated name", "maxLength": 200, "minLength": 1, "type": "string" }, "steps": { "description": "Replacement steps (replaces all existing steps)", "items": { "additionalProperties": false, "properties": { "action": { "enum": [ "navigate", "click", "type", "fill", "select", "assert", "wait", "screenshot", "scroll", "hover", "use_fragment" ], "type": "string" }, "assertionOperator": { "description": "Assertion type (for assert action)", "enum": [ "element_visible", "element_hidden", "url_contains", "text_contains", "element_count" ], "type": "string" }, "label": { "description": "Human-readable step description", "maxLength": 200, "minLength": 1, "type": "string" }, "screenshot": { "default": false, "description": "Capture screenshot after this step", "type": "boolean" }, "target": { "description": "CSS selector or URL target", "type": "string" }, "value": { "description": "Value to type/fill, URL to navigate to, or fragment ID for use_fragment", "type": "string" }, "waitMs": { "description": "Wait duration in ms (for wait action)", "maximum": 30000, "minimum": 0, "type": "number" } }, "required": [ "action", "label" ], "type": "object" }, "maxItems": 50, "minItems": 1, "type": "array" }, "timeoutSeconds": { "description": "Updated timeout", "maximum": 300, "minimum": 10, "type": "number" } }, "required": [ "journeyId" ], "type": "object" }, "name": "update_journey", "outputSchema": null }, { "description": "Update a notification rule. Only provided fields are changed.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "channelTypes": { "items": { "enum": [ "IN_APP", "EMAIL", "SLACK", "WEBHOOK", "SMS", "WEB_PUSH" ], "type": "string" }, "minItems": 1, "type": "array" }, "enabled": { "type": "boolean" }, "eventTypes": { "items": { "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" ], "type": "string" }, "minItems": 1, "type": "array" }, "name": { "maxLength": 100, "minLength": 1, "type": "string" }, "quietHoursEnd": { "anyOf": [ { "maximum": 23, "minimum": 0, "type": "number" }, { "type": "null" } ] }, "quietHoursStart": { "anyOf": [ { "maximum": 23, "minimum": 0, "type": "number" }, { "type": "null" } ] }, "ruleId": { "description": "The notification rule ID", "type": "string" }, "severities": { "items": { "enum": [ "CRITICAL", "WARNING", "INFO" ], "type": "string" }, "type": "array" } }, "required": [ "ruleId" ], "type": "object" }, "name": "update_notification_rule", "outputSchema": null }, { "description": "Update a page fragment. When steps are provided, all existing steps are replaced.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "description": { "anyOf": [ { "maxLength": 2000, "type": "string" }, { "type": "null" } ] }, "fragmentId": { "description": "The fragment ID", "type": "string" }, "name": { "description": "Updated name", "maxLength": 200, "minLength": 1, "type": "string" }, "steps": { "description": "Replacement steps", "items": { "additionalProperties": false, "properties": { "action": { "enum": [ "navigate", "click", "type", "fill", "select", "assert", "wait", "screenshot", "scroll", "hover" ], "type": "string" }, "assertionOperator": { "enum": [ "element_visible", "element_hidden", "url_contains", "text_contains", "element_count" ], "type": "string" }, "label": { "description": "Step description", "maxLength": 200, "minLength": 1, "type": "string" }, "screenshot": { "default": false, "type": "boolean" }, "target": { "description": "CSS selector or URL", "type": "string" }, "value": { "description": "Value to type/fill or URL to navigate", "type": "string" }, "waitMs": { "maximum": 30000, "minimum": 0, "type": "number" } }, "required": [ "action", "label" ], "type": "object" }, "maxItems": 30, "minItems": 1, "type": "array" } }, "required": [ "fragmentId" ], "type": "object" }, "name": "update_page_fragment", "outputSchema": null }, { "description": "Update an existing scheduled report. Any field not provided stays unchanged.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "dayOfWeek": { "description": "Updated day of week", "maximum": 6, "minimum": 0, "type": "number" }, "enabled": { "description": "Enable or disable the report", "type": "boolean" }, "frequency": { "description": "Updated frequency", "enum": [ "DAILY", "WEEKLY" ], "type": "string" }, "hourUtc": { "description": "Updated hour UTC", "maximum": 23, "minimum": 0, "type": "number" }, "name": { "description": "Updated name", "maxLength": 100, "minLength": 1, "type": "string" }, "recipients": { "description": "Updated comma-separated email list", "type": "string" }, "reportId": { "description": "The scheduled report ID to update", "type": "string" } }, "required": [ "reportId" ], "type": "object" }, "name": "update_scheduled_report", "outputSchema": null }, { "description": "Update a target's properties (name, URL, type, environment, business weight, tags, uptime toggle).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "environment": { "description": "New environment", "enum": [ "PRODUCTION", "STAGING", "DEV" ], "type": "string" }, "name": { "description": "New display name", "maxLength": 255, "minLength": 1, "type": "string" }, "tags": { "description": "New tags (replaces existing)", "items": { "type": "string" }, "type": "array" }, "targetId": { "description": "The target ID to update", "type": "string" }, "type": { "description": "New target type", "enum": [ "WEBSITE", "API", "WEBSHOP" ], "type": "string" }, "uptimeEnabled": { "description": "Toggle uptime monitoring", "type": "boolean" }, "uptimeKeyword": { "anyOf": [ { "anyOf": [ { "not": {} }, { "maxLength": 500, "type": "string" } ] }, { "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." }, "url": { "description": "New URL", "format": "uri", "type": "string" }, "weight": { "description": "New business weight: REVENUE_PATH, PUBLIC or INTERNAL. Changing this rescores the target's open findings so the consequence ranking updates immediately.", "enum": [ "REVENUE_PATH", "PUBLIC", "INTERNAL" ], "type": "string" } }, "required": [ "targetId" ], "type": "object" }, "name": "update_target", "outputSchema": null }, { "description": "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).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "aiAutoEnrich": { "description": "Auto-enrich new findings with AI", "type": "boolean" }, "aiCapAction": { "description": "Action when cap is reached", "enum": [ "disable", "warn" ], "type": "string" }, "aiEnabled": { "description": "Enable/disable AI finding enrichment", "type": "boolean" }, "aiModel": { "description": "Model id on the AI gateway for finding enrichment (e.g. mistral/mistral-small-2603, an EU route)", "type": "string" }, "aiMonthlyCapUsd": { "anyOf": [ { "maximum": 10000, "minimum": 0.01, "type": "number" }, { "type": "null" } ], "description": "Monthly AI spending cap in USD (null = unlimited)" }, "aiSourceReviewModel": { "description": "Model for AI source review plugin", "type": "string" }, "defaultRunTimeoutMs": { "description": "Default run timeout in ms", "maximum": 3600000, "minimum": 30000, "type": "number" }, "defaultScheduleMultiplier": { "description": "Schedule frequency multiplier (< 1 = more frequent)", "maximum": 10, "minimum": 0.1, "type": "number" }, "digestEnabled": { "description": "Enable notification alert coalescing", "type": "boolean" }, "digestWindowSeconds": { "description": "Digest window duration in seconds", "maximum": 86400, "minimum": 30, "type": "number" }, "escalateInfoAgeDays": { "description": "Finding age in days before INFO→WARNING", "maximum": 365, "minimum": 1, "type": "number" }, "escalateInfoRecurrence": { "description": "Finding recurrences before INFO→WARNING", "maximum": 100, "minimum": 1, "type": "number" }, "escalateWarningAgeDays": { "description": "Finding age in days before WARNING→CRITICAL", "maximum": 365, "minimum": 1, "type": "number" }, "escalateWarningRecurrence": { "description": "Finding recurrences before WARNING→CRITICAL", "maximum": 100, "minimum": 1, "type": "number" }, "maxConcurrentRunsPerTarget": { "description": "Max concurrent test runs per target", "maximum": 20, "minimum": 1, "type": "number" }, "maxDailyRunsPerTarget": { "description": "Max test runs per target per day (0=unlimited). Prevents overwhelming hosted sites with limited request budgets.", "maximum": 1000, "minimum": 0, "type": "number" }, "seoRankCheckEnabled": { "description": "Enable Google rank tracking", "type": "boolean" }, "testsPaused": { "description": "Kill switch — pauses ALL scheduled and manual test runs", "type": "boolean" }, "uptimeDegradedThresholdMs": { "description": "Response time threshold for DEGRADED status", "maximum": 15000, "minimum": 500, "type": "number" }, "uptimeFailThreshold": { "description": "Consecutive failures before DOWN", "maximum": 10, "minimum": 1, "type": "number" }, "uptimePingTimeoutMs": { "description": "Uptime ping timeout in ms", "maximum": 30000, "minimum": 1000, "type": "number" } }, "type": "object" }, "name": "update_team_settings", "outputSchema": null }, { "description": "Enable or disable a test definition globally, or update its schedule/timeout. Requires admin scope.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "defaultSchedule": { "description": "Cron schedule (e.g. \"0 */6 * * *\")", "type": "string" }, "enabled": { "description": "Enable or disable the test globally", "type": "boolean" }, "slug": { "description": "Test plugin slug (e.g. \"http-protocol-check\")", "type": "string" }, "timeout": { "description": "Timeout in milliseconds", "type": "number" } }, "required": [ "slug" ], "type": "object" }, "name": "update_test", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:fd6cf175d081a5fe3752017439ca81b98d484bdf39e6bbfc841ded03fcbbc2d3 | sha256sum