此 MCP 可以做什么
Runs continuous website, API, and webshop tests covering security, SEO, performance, accessibility, browser journeys, and incident automation.
工具
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['incidentId'], 'properties': {'incidentId': {'type': 'string', 'description': 'The incident ID to acknowledge'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'targetId': {'type': 'string', 'description': 'Filter by target ID'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['targetId', 'keyword'], 'properties': {'keyword': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'The keyword to track'}, 'targetId': {'type': 'string', 'description': 'The target ID'}, '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/*)'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['url'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': 'URL to analyze, e.g. "https://example.com"'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['loadTestRunId'], 'properties': {'loadTestRunId': {'type': 'string', 'description': 'The load test run ID to cancel'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name', 'trigger', 'actions'], 'properties': {'name': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Rule name'}, 'actions': {'type': 'array', 'items': {'type': 'object', 'required': ['type'], 'properties': {'note': {'type': 'string', 'maxLength': 1000, 'description': 'Note text (for add_note action)'}, 'type': {'enum': ['escalate', 'suppress', 'rerun', 'notify', 'webhook', 'add_note'], 'type': 'string', 'description': 'Action type'}, 'delayMs': {'type': 'integer', 'maximum': 600000, 'minimum': 0, 'description': 'Delay in ms before executing (for rerun action)'}, 'severity': {'enum': ['CRITICAL', 'WARNING', 'INFO'], 'type': 'string', 'description': 'Target severity (for escalate action)'}, 'webhookUrl': {'type': 'string', 'format': 'uri', 'description': 'Webhook URL (for webhook action)'}}, 'additionalProperties': False}, 'minItems': 1, 'description': 'Actions to execute when triggered'}, 'trigger': {'enum': ['TEST_FAILED', 'TEST_RECOVERED', 'INCIDENT_CREATED', 'INCIDENT_RESOLVED', 'TARGET_DOWN', 'TARGET_RECOVERED'], 'type': 'string', 'description': 'Event that triggers the rule'}, 'targetId': {'type': 'string', 'description': 'Optional target ID to scope rule to a specific target'}, 'conditions': {'type': 'object', 'properties': {'targetIds': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Only trigger for these target IDs'}, 'testSlugs': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Only trigger for these test slugs'}, 'severities': {'type': 'array', 'items': {'enum': ['CRITICAL', 'WARNING', 'INFO'], 'type': 'string'}, 'description': 'Only trigger for these severity levels'}, 'minRecurrence': {'type': 'integer', 'minimum': 1, 'description': 'Minimum finding recurrence count to trigger'}}, 'description': 'Optional conditions that must be met', 'additionalProperties': False}, 'priorityOrder': {'type': 'integer', 'default': 0, 'description': 'Priority order (lower = evaluated first)'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['targetId', 'name', 'steps'], 'properties': {'name': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Journey name'}, 'steps': {'type': 'array', 'items': {'type': 'object', 'required': ['action', 'label'], 'properties': {'label': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Human-readable step description'}, 'value': {'type': 'string', 'description': 'Value to type/fill, URL to navigate to, or fragment ID for use_fragment'}, 'action': {'enum': ['navigate', 'click', 'type', 'fill', 'select', 'assert', 'wait', 'screenshot', 'scroll', 'hover', 'use_fragment'], 'type': 'string'}, 'target': {'type': 'string', 'description': 'CSS selector or URL target'}, 'waitMs': {'type': 'number', 'maximum': 30000, 'minimum': 0, 'description': 'Wait duration in ms (for wait action)'}, 'screenshot': {'type': 'boolean', 'default': False, 'description': 'Capture screenshot after this step'}, 'assertionOperator': {'enum': ['element_visible', 'element_hidden', 'url_contains', 'text_contains', 'element_count'], 'type': 'string', 'description': 'Assertion type (for assert action)'}}, 'additionalProperties': False}, 'maxItems': 50, 'minItems': 1, 'description': 'Ordered list of browser actions'}, 'platform': {'type': 'string', 'maxLength': 50, 'description': 'Platform tag (e.g. "shopify", "woocommerce")'}, 'targetId': {'type': 'string', 'description': 'Target ID to create the journey for'}, 'description': {'type': 'string', 'maxLength': 2000, 'description': 'Journey description'}, 'timeoutSeconds': {'type': 'number', 'default': 60, 'maximum': 300, 'minimum': 10, 'description': 'Max execution time in seconds'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['targetId', 'name', 'startsAt', 'endsAt'], 'properties': {'name': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Name for the window, e.g. "Weekly deploy"'}, 'endsAt': {'type': 'string', 'description': 'End time as ISO 8601 string, e.g. "2026-04-05T04:00:00Z"'}, 'startsAt': {'type': 'string', 'description': 'Start time as ISO 8601 string, e.g. "2026-04-05T02:00:00Z"'}, 'targetId': {'type': 'string', 'description': 'The target ID'}, 'recurrence': {'enum': ['DAILY', 'WEEKLY'], 'type': 'string', 'description': 'Recurrence pattern (required if isRecurring is true)'}, 'description': {'type': 'string', 'description': 'Optional description'}, 'isRecurring': {'type': 'boolean', 'default': False, 'description': 'Whether this window repeats'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['scope'], 'properties': {'scope': {'enum': ['FINGERPRINT', 'TEST_DEFINITION', 'TEST_TARGET'], 'type': 'string', '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.'}, 'reason': {'type': 'string', 'maxLength': 500, 'description': 'Reason for muting'}, 'targetId': {'type': 'string', 'description': 'Target ID to scope the rule to (required for TEST_TARGET, optional for others)'}, 'expiresAt': {'type': 'string', 'description': 'Optional expiry as ISO 8601 string. Rule auto-expires after this time.'}, 'testDefinitionId': {'type': 'string', 'description': 'Test definition ID (required for TEST_DEFINITION and TEST_TARGET scopes)'}, 'fingerprintPattern': {'type': 'string', 'description': 'Substring to match in finding fingerprints (required for FINGERPRINT scope)'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name', 'eventTypes', 'channelTypes'], 'properties': {'name': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Rule name'}, 'enabled': {'type': 'boolean', 'default': True, 'description': 'Whether the rule is active'}, 'targetId': {'type': 'string', 'description': 'Scope to a specific target'}, 'eventTypes': {'type': 'array', '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, 'description': 'Events that trigger this rule'}, 'severities': {'type': 'array', 'items': {'enum': ['CRITICAL', 'WARNING', 'INFO'], 'type': 'string'}, 'description': 'Only trigger for these severities'}, 'channelTypes': {'type': 'array', 'items': {'enum': ['IN_APP', 'EMAIL', 'SLACK', 'WEBHOOK', 'SMS', 'WEB_PUSH'], 'type': 'string'}, 'minItems': 1, 'description': 'Channels to notify'}, 'quietHoursEnd': {'type': 'number', 'maximum': 23, 'minimum': 0, 'description': 'Quiet hours end (hour UTC)'}, 'quietHoursStart': {'type': 'number', 'maximum': 23, 'minimum': 0, 'description': 'Quiet hours start (hour UTC)'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name', 'steps'], 'properties': {'name': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Fragment name (unique per team)'}, 'steps': {'type': 'array', 'items': {'type': 'object', 'required': ['action', 'label'], 'properties': {'label': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Step description'}, 'value': {'type': 'string', 'description': 'Value to type/fill or URL to navigate'}, 'action': {'enum': ['navigate', 'click', 'type', 'fill', 'select', 'assert', 'wait', 'screenshot', 'scroll', 'hover'], 'type': 'string'}, 'target': {'type': 'string', 'description': 'CSS selector or URL'}, 'waitMs': {'type': 'number', 'maximum': 30000, 'minimum': 0}, 'screenshot': {'type': 'boolean', 'default': False}, 'assertionOperator': {'enum': ['element_visible', 'element_hidden', 'url_contains', 'text_contains', 'element_count'], 'type': 'string'}}, 'additionalProperties': False}, 'maxItems': 30, 'minItems': 1, 'description': 'Ordered list of browser actions'}, 'description': {'type': 'string', 'maxLength': 2000, 'description': 'Fragment description'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'name': {'type': 'string', 'default': 'Weekly Summary', 'maxLength': 100, 'minLength': 1, 'description': 'Report name'}, 'hourUtc': {'type': 'number', 'default': 8, 'maximum': 23, 'minimum': 0, 'description': 'Hour in UTC to send the report'}, 'dayOfWeek': {'type': 'number', 'default': 1, 'maximum': 6, 'minimum': 0, 'description': 'Day of week for WEEKLY reports (0=Sunday, 1=Monday, ..., 6=Saturday)'}, 'frequency': {'enum': ['DAILY', 'WEEKLY'], 'type': 'string', 'default': 'WEEKLY', 'description': 'How often to send'}, 'recipients': {'type': 'string', 'default': '', 'description': 'Comma-separated email addresses. Empty = all team members.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name', 'url', 'type'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': 'URL to monitor, e.g. "https://example.com"'}, 'name': {'type': 'string', 'maxLength': 255, 'minLength': 1, 'description': 'Display name for the target'}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'default': [], 'description': 'Optional tags for categorization'}, 'type': {'enum': ['WEBSITE', 'API', 'WEBSHOP'], 'type': 'string', 'description': 'Target type: WEBSITE, API, or WEBSHOP. Use analyze_target to auto-detect.'}, 'weight': {'enum': ['REVENUE_PATH', 'PUBLIC', 'INTERNAL'], 'type': 'string', '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).'}, 'environment': {'enum': ['PRODUCTION', 'STAGING', 'DEV'], 'type': 'string', 'default': 'PRODUCTION', 'description': 'Deployment environment'}, 'uptimeEnabled': {'type': 'boolean', 'default': True, 'description': 'Enable background uptime monitoring'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'days': {'type': 'number', 'default': 14, 'maximum': 90, 'minimum': 1, 'description': 'Number of days of history to return'}, 'targetId': {'type': 'string', 'description': 'Filter by target ID (omit for team-wide)'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ruleId'], 'properties': {'ruleId': {'type': 'string', 'description': 'The automation rule ID to delete'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['journeyId'], 'properties': {'journeyId': {'type': 'string', 'description': 'The journey ID to delete'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['windowId', 'targetId'], 'properties': {'targetId': {'type': 'string', 'description': 'The target ID (for access verification)'}, 'windowId': {'type': 'string', 'description': 'The maintenance window ID to delete'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ruleId'], 'properties': {'ruleId': {'type': 'string', 'description': 'The notification rule ID to delete'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['fragmentId'], 'properties': {'fragmentId': {'type': 'string', 'description': 'The fragment ID to delete'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['reportId'], 'properties': {'reportId': {'type': 'string', 'description': 'The scheduled report ID to delete'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['secretId', 'targetId'], 'properties': {'secretId': {'type': 'string', 'description': 'The secret ID to delete'}, 'targetId': {'type': 'string', 'description': 'The target ID (for access verification)'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['targetId', 'confirm'], 'properties': {'confirm': {'type': 'boolean', 'description': 'Must be true to confirm deletion'}, 'targetId': {'type': 'string', 'description': 'The target ID to delete'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'category': {'enum': ['SEO', 'SECURITY', 'PERFORMANCE', 'MOBILE', 'ACCESSIBILITY', 'ECOMMERCE', 'API_HEALTH'], 'type': 'string', 'description': 'Only disable tests in this category. Omit to disable all.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'category': {'enum': ['SEO', 'SECURITY', 'PERFORMANCE', 'MOBILE', 'ACCESSIBILITY', 'ECOMMERCE', 'API_HEALTH'], 'type': 'string', 'description': 'Only enable tests in this category. Omit to enable all.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ruleId'], 'properties': {'ruleId': {'type': 'string', 'description': 'The automation rule ID'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['findingId'], 'properties': {'findingId': {'type': 'string', 'description': 'The finding ID'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['incidentId'], 'properties': {'incidentId': {'type': 'string', 'description': 'The incident ID'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['journeyId'], 'properties': {'journeyId': {'type': 'string', 'description': 'The journey ID'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['loadTestRunId'], 'properties': {'loadTestRunId': {'type': 'string', 'description': 'The load test run ID'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['runId'], 'properties': {'runId': {'type': 'string', 'description': 'The run ID'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['targetId'], 'properties': {'targetId': {'type': 'string', 'description': 'The target ID'}, 'pageLimit': {'type': 'number', 'default': 50, 'maximum': 200, 'minimum': 1, 'description': 'Max pages to return when includePages is true'}, 'pageStatus': {'enum': ['HEALTHY', 'BROKEN', 'REDIRECT', 'SLOW'], 'type': 'string', 'description': 'Filter pages by status'}, 'includePages': {'type': 'boolean', 'default': False, 'description': 'Include individual page data (can be large). Default: false.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['targetId'], 'properties': {'targetId': {'type': 'string', 'description': 'The target ID to look up'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['targetId'], 'properties': {'targetId': {'type': 'string', 'description': 'The target ID'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['scanId'], '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'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['url'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': 'Public http(s) URL to scan, e.g. https://example.com'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['items'], 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': 'URL to monitor'}, 'name': {'type': 'string', 'description': 'Display name (defaults to hostname)'}, 'type': {'enum': ['WEBSITE', 'API', 'WEBSHOP'], 'type': 'string', 'default': 'WEBSITE', 'description': 'Target type'}}, 'additionalProperties': False}, 'maxItems': 100, 'minItems': 1, 'description': 'Array of targets to import'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'enabled': {'type': 'boolean', 'description': 'Filter by enabled/disabled status'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'number', 'default': 50, 'maximum': 100, 'minimum': 1, 'description': 'Max number of findings to return'}, 'status': {'enum': ['OPEN', 'MUTED', 'RESOLVED'], 'type': 'string', 'description': 'Filter by finding status (default: OPEN)'}, 'severity': {'enum': ['CRITICAL', 'WARNING', 'INFO'], 'type': 'string', 'description': 'Filter by severity'}, 'targetId': {'type': 'string', 'description': 'Filter by target ID'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'number', 'default': 50, 'maximum': 100, 'minimum': 1, 'description': 'Max number of incidents to return'}, 'status': {'enum': ['OPEN', 'ACKNOWLEDGED', 'RESOLVED'], 'type': 'string', 'description': 'Filter by incident status'}, 'targetId': {'type': 'string', 'description': 'Filter by target ID'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'targetId': {'type': 'string', 'description': 'Filter by target ID. If omitted, lists all team journeys.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['targetId'], 'properties': {'targetId': {'type': 'string', 'description': 'The target ID'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['targetId'], 'properties': {'limit': {'type': 'number', 'default': 10, 'maximum': 50, 'minimum': 1, 'description': 'Max results'}, 'targetId': {'type': 'string', 'description': 'The target ID'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['targetId'], 'properties': {'targetId': {'type': 'string', 'description': 'The target ID'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'number', 'default': 25, 'maximum': 100, 'minimum': 1, 'description': 'Max number of runs to return'}, 'status': {'enum': ['QUEUED', 'RUNNING', 'PASSED', 'WARNING', 'FAILED', 'CANCELED'], 'type': 'string', 'description': 'Filter by run status'}, 'targetId': {'type': 'string', 'description': 'Filter by target ID'}, 'testSlug': {'type': 'string', 'description': 'Filter by test definition slug (e.g. "security-headers")'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['targetId'], 'properties': {'targetId': {'type': 'string', 'description': 'The target ID'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'type': {'enum': ['WEBSITE', 'API', 'WEBSHOP'], 'type': 'string', 'description': 'Filter by target type'}, 'limit': {'type': 'number', 'default': 50, 'maximum': 100, 'minimum': 1, 'description': 'Max number of targets to return'}, 'status': {'enum': ['HEALTHY', 'WARNING', 'CRITICAL', 'UNKNOWN'], 'type': 'string', 'description': 'Filter by target status'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'category': {'enum': ['SEO', 'SECURITY', 'PERFORMANCE', 'MOBILE', 'ACCESSIBILITY', 'ECOMMERCE', 'API_HEALTH'], 'type': 'string', 'description': 'Filter by test category'}, 'enabledOnly': {'type': 'boolean', 'default': True, 'description': 'Only show enabled tests. Default: true.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['findingId'], 'properties': {'findingId': {'type': 'string', 'description': 'The finding ID to mute'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['targetId'], 'properties': {'targetId': {'type': 'string', 'description': 'The target ID to recompute scores for'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['targetId'], 'properties': {'version': {'type': 'string', 'description': 'Version string, e.g. "v2.4.1"'}, 'targetId': {'type': 'string', 'description': 'The target ID'}, 'commitSha': {'type': 'string', 'description': 'Git commit SHA'}, 'deployedBy': {'type': 'string', 'description': 'Who deployed (name, email, or system)'}, 'description': {'type': 'string', 'description': 'Deployment description or changelog'}, 'environment': {'type': 'string', 'description': 'Environment, e.g. "production", "staging"'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['keywordId', 'targetId'], 'properties': {'targetId': {'type': 'string', 'description': 'The target ID (for access verification)'}, 'keywordId': {'type': 'string', 'description': 'The keyword ID to remove'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['incidentId'], 'properties': {'incidentId': {'type': 'string', 'description': 'The incident ID to resolve'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['secretId', 'targetId', 'newValue'], 'properties': {'newValue': {'type': 'string', 'minLength': 1, 'description': 'New secret value'}, 'secretId': {'type': 'string', 'description': 'The secret ID to rotate'}, 'targetId': {'type': 'string', 'description': 'The target ID (for access verification)'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['targetId'], 'properties': {'mode': {'enum': ['HTTP_FLOOD', 'BROWSER_USERS', 'COMBINED'], 'type': 'string', 'default': 'HTTP_FLOOD', 'description': 'Load test mode'}, 'rampUp': {'type': 'number', 'maximum': 60, 'minimum': 0, 'description': 'Ramp-up time in seconds'}, 'duration': {'type': 'number', 'default': 30, 'maximum': 300, 'minimum': 10, 'description': 'Test duration in seconds'}, 'targetId': {'type': 'string', 'description': 'The target ID to load test'}, 'targetUrl': {'type': 'string', 'format': 'uri', 'description': 'Override URL (defaults to target URL)'}, 'httpMethod': {'enum': ['GET', 'POST', 'PUT', 'DELETE', 'PATCH'], 'type': 'string', 'description': 'HTTP method'}, 'concurrency': {'type': 'number', 'default': 10, 'maximum': 100, 'minimum': 1, 'description': 'Number of concurrent connections'}, 'acknowledgeSharedOrigin': {'type': 'boolean', 'description': 'Acknowledge blast radius if target shares a server with other monitored sites'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['targetId', 'key', 'label', 'value'], 'properties': {'key': {'type': 'string', 'pattern': '^[a-zA-Z_][a-zA-Z0-9_]*$', 'maxLength': 100, 'minLength': 1, 'description': 'Secret key (e.g. LOGIN_EMAIL)'}, 'label': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Human-readable label'}, 'value': {'type': 'string', 'minLength': 1, 'description': 'Secret value (will be encrypted)'}, 'targetId': {'type': 'string', 'description': 'The target ID'}, 'description': {'type': 'string', 'maxLength': 500, 'description': 'Optional description'}, 'environment': {'enum': ['PRODUCTION', 'STAGING', 'DEVELOPMENT'], 'type': 'string', 'default': 'PRODUCTION', 'description': 'Environment scope'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['targetId'], 'properties': {'period': {'type': 'string', 'description': 'Period filter: "lifetime", "2026-04" (monthly), or "2026-W14" (weekly). Defaults to lifetime.'}, 'targetId': {'type': 'string', 'description': 'The target ID'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'period': {'type': 'string', 'description': 'Period filter: "lifetime", "2026-04" (monthly), or "2026-W14" (weekly). Defaults to lifetime.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['targetId'], 'properties': {'targetId': {'type': 'string', 'description': 'The target ID to scan'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['journeyId'], 'properties': {'journeyId': {'type': 'string', 'description': 'The journey ID to trigger'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['targetId'], 'properties': {'testId': {'type': 'string', 'description': 'Test definition ID (use this or testSlug)'}, 'targetId': {'type': 'string', 'description': 'The target ID to test'}, 'testSlug': {'type': 'string', 'description': 'Test slug e.g. "security-headers" (use this or testId)'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ruleId'], 'properties': {'name': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Updated rule name'}, 'ruleId': {'type': 'string', 'description': 'The automation rule ID to update'}, 'actions': {'type': 'array', 'items': {'type': 'object', 'required': ['type'], 'properties': {'note': {'type': 'string', 'maxLength': 1000}, 'type': {'enum': ['escalate', 'suppress', 'rerun', 'notify', 'webhook', 'add_note'], 'type': 'string'}, 'delayMs': {'type': 'integer', 'maximum': 600000, 'minimum': 0}, 'severity': {'enum': ['CRITICAL', 'WARNING', 'INFO'], 'type': 'string'}, 'webhookUrl': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}, 'minItems': 1, 'description': 'Updated actions'}, 'trigger': {'enum': ['TEST_FAILED', 'TEST_RECOVERED', 'INCIDENT_CREATED', 'INCIDENT_RESOLVED', 'TARGET_DOWN', 'TARGET_RECOVERED'], 'type': 'string', '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': {'targetIds': {'type': 'array', 'items': {'type': 'string'}}, 'testSlugs': {'type': 'array', 'items': {'type': 'string'}}, 'severities': {'type': 'array', 'items': {'enum': ['CRITICAL', 'WARNING', 'INFO'], 'type': 'string'}}, 'minRecurrence': {'type': 'integer', 'minimum': 1}}, 'description': 'Updated conditions', 'additionalProperties': False}, 'priorityOrder': {'type': 'integer', 'description': 'Updated priority order'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['journeyId'], 'properties': {'name': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Updated name'}, 'steps': {'type': 'array', 'items': {'type': 'object', 'required': ['action', 'label'], 'properties': {'label': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Human-readable step description'}, 'value': {'type': 'string', 'description': 'Value to type/fill, URL to navigate to, or fragment ID for use_fragment'}, 'action': {'enum': ['navigate', 'click', 'type', 'fill', 'select', 'assert', 'wait', 'screenshot', 'scroll', 'hover', 'use_fragment'], 'type': 'string'}, 'target': {'type': 'string', 'description': 'CSS selector or URL target'}, 'waitMs': {'type': 'number', 'maximum': 30000, 'minimum': 0, 'description': 'Wait duration in ms (for wait action)'}, 'screenshot': {'type': 'boolean', 'default': False, 'description': 'Capture screenshot after this step'}, 'assertionOperator': {'enum': ['element_visible', 'element_hidden', 'url_contains', 'text_contains', 'element_count'], 'type': 'string', 'description': 'Assertion type (for assert action)'}}, 'additionalProperties': False}, 'maxItems': 50, 'minItems': 1, 'description': 'Replacement steps (replaces all existing steps)'}, 'isEnabled': {'type': 'boolean', 'description': 'Enable or disable the journey'}, 'journeyId': {'type': 'string', 'description': 'The journey ID to update'}, 'description': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'description': 'Updated description'}, 'timeoutSeconds': {'type': 'number', 'maximum': 300, 'minimum': 10, 'description': 'Updated timeout'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ruleId'], 'properties': {'name': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'ruleId': {'type': 'string', 'description': 'The notification rule ID'}, 'enabled': {'type': 'boolean'}, 'eventTypes': {'type': 'array', '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}, 'severities': {'type': 'array', 'items': {'enum': ['CRITICAL', 'WARNING', 'INFO'], 'type': 'string'}}, 'channelTypes': {'type': 'array', 'items': {'enum': ['IN_APP', 'EMAIL', 'SLACK', 'WEBHOOK', 'SMS', 'WEB_PUSH'], 'type': 'string'}, 'minItems': 1}, 'quietHoursEnd': {'anyOf': [{'type': 'number', 'maximum': 23, 'minimum': 0}, {'type': 'null'}]}, 'quietHoursStart': {'anyOf': [{'type': 'number', 'maximum': 23, 'minimum': 0}, {'type': 'null'}]}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['fragmentId'], 'properties': {'name': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Updated name'}, 'steps': {'type': 'array', 'items': {'type': 'object', 'required': ['action', 'label'], 'properties': {'label': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Step description'}, 'value': {'type': 'string', 'description': 'Value to type/fill or URL to navigate'}, 'action': {'enum': ['navigate', 'click', 'type', 'fill', 'select', 'assert', 'wait', 'screenshot', 'scroll', 'hover'], 'type': 'string'}, 'target': {'type': 'string', 'description': 'CSS selector or URL'}, 'waitMs': {'type': 'number', 'maximum': 30000, 'minimum': 0}, 'screenshot': {'type': 'boolean', 'default': False}, 'assertionOperator': {'enum': ['element_visible', 'element_hidden', 'url_contains', 'text_contains', 'element_count'], 'type': 'string'}}, 'additionalProperties': False}, 'maxItems': 30, 'minItems': 1, 'description': 'Replacement steps'}, 'fragmentId': {'type': 'string', 'description': 'The fragment ID'}, 'description': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}]}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['reportId'], 'properties': {'name': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Updated name'}, 'enabled': {'type': 'boolean', 'description': 'Enable or disable the report'}, 'hourUtc': {'type': 'number', 'maximum': 23, 'minimum': 0, 'description': 'Updated hour UTC'}, 'reportId': {'type': 'string', 'description': 'The scheduled report ID to update'}, 'dayOfWeek': {'type': 'number', 'maximum': 6, 'minimum': 0, 'description': 'Updated day of week'}, 'frequency': {'enum': ['DAILY', 'WEEKLY'], 'type': 'string', 'description': 'Updated frequency'}, 'recipients': {'type': 'string', 'description': 'Updated comma-separated email list'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['targetId'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': 'New URL'}, 'name': {'type': 'string', 'maxLength': 255, 'minLength': 1, 'description': 'New display name'}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'New tags (replaces existing)'}, 'type': {'enum': ['WEBSITE', 'API', 'WEBSHOP'], 'type': 'string', 'description': 'New target type'}, 'weight': {'enum': ['REVENUE_PATH', 'PUBLIC', 'INTERNAL'], 'type': 'string', 'description': "New business weight: REVENUE_PATH, PUBLIC or INTERNAL. Changing this rescores the target's open findings so the consequence ranking updates immediately."}, 'targetId': {'type': 'string', 'description': 'The target ID to update'}, 'environment': {'enum': ['PRODUCTION', 'STAGING', 'DEV'], 'type': 'string', 'description': 'New environment'}, '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.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'aiModel': {'type': 'string', 'description': 'OpenAI model for finding enrichment (e.g. gpt-4o-mini)'}, 'aiEnabled': {'type': 'boolean', 'description': 'Enable/disable AI finding enrichment'}, 'aiCapAction': {'enum': ['disable', 'warn'], 'type': 'string', 'description': 'Action when cap is reached'}, 'testsPaused': {'type': 'boolean', 'description': 'Kill switch â\x80\x94 pauses ALL scheduled and manual test runs'}, 'aiAutoEnrich': {'type': 'boolean', 'description': 'Auto-enrich new findings with AI'}, 'digestEnabled': {'type': 'boolean', 'description': 'Enable notification alert coalescing'}, 'aiMonthlyCapUsd': {'anyOf': [{'type': 'number', 'maximum': 10000, 'minimum': 0.01}, {'type': 'null'}], 'description': 'Monthly AI spending cap in USD (null = unlimited)'}, 'aiSourceReviewModel': {'type': 'string', 'description': 'Model for AI source review plugin'}, 'defaultRunTimeoutMs': {'type': 'number', 'maximum': 3600000, 'minimum': 30000, 'description': 'Default run timeout in ms'}, 'digestWindowSeconds': {'type': 'number', 'maximum': 86400, 'minimum': 30, 'description': 'Digest window duration in seconds'}, 'escalateInfoAgeDays': {'type': 'number', 'maximum': 365, 'minimum': 1, 'description': 'Finding age in days before INFOâ\x86\x92WARNING'}, 'seoRankCheckEnabled': {'type': 'boolean', 'description': 'Enable Google rank tracking'}, 'uptimeFailThreshold': {'type': 'number', 'maximum': 10, 'minimum': 1, 'description': 'Consecutive failures before DOWN'}, 'uptimePingTimeoutMs': {'type': 'number', 'maximum': 30000, 'minimum': 1000, 'description': 'Uptime ping timeout in ms'}, 'maxDailyRunsPerTarget': {'type': 'number', 'maximum': 1000, 'minimum': 0, 'description': 'Max test runs per target per day (0=unlimited). Prevents overwhelming hosted sites with limited request budgets.'}, 'escalateInfoRecurrence': {'type': 'number', 'maximum': 100, 'minimum': 1, 'description': 'Finding recurrences before INFOâ\x86\x92WARNING'}, 'escalateWarningAgeDays': {'type': 'number', 'maximum': 365, 'minimum': 1, 'description': 'Finding age in days before WARNINGâ\x86\x92CRITICAL'}, 'defaultScheduleMultiplier': {'type': 'number', 'maximum': 10, 'minimum': 0.1, 'description': 'Schedule frequency multiplier (< 1 = more frequent)'}, 'escalateWarningRecurrence': {'type': 'number', 'maximum': 100, 'minimum': 1, 'description': 'Finding recurrences before WARNINGâ\x86\x92CRITICAL'}, 'uptimeDegradedThresholdMs': {'type': 'number', 'maximum': 15000, 'minimum': 500, 'description': 'Response time threshold for DEGRADED status'}, 'maxConcurrentRunsPerTarget': {'type': 'number', 'maximum': 20, 'minimum': 1, 'description': 'Max concurrent test runs per target'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': 'Test plugin slug (e.g. "http-protocol-check")'}, 'enabled': {'type': 'boolean', 'description': 'Enable or disable the test globally'}, 'timeout': {'type': 'number', 'description': 'Timeout in milliseconds'}, 'defaultSchedule': {'type': 'string', 'description': 'Cron schedule (e.g. "0 */6 * * *")'}}, 'additionalProperties': False}
近期工具变更
类似的 MCP 服务器
mcp-toolbelt
Runs website and infrastructure checks covering DNS, SSL, security headers, ports, vulnerabilities, performance, SEO, email deliv…
seo-web-analysis-mcp-server
Crawls websites and analyzes SEO content, technology stacks, DNS records, SSL certificates, and domain registration data.
hyperion
Acts as a paid MCP tool marketplace and utility gateway with server discovery, HTTP and JavaScript tools, research, data conversi…
Vee3
Manages Clerk authentication infrastructure, including users, organizations, domains, sessions, tokens, OAuth, SSO, machines, per…
IA-QA — 130+ QA & Dev Tools for AI Agents
Provides deterministic QA, evaluation, testing, code analysis, prompt and RAG checks, model comparison, and web security diagnost…
HubVibe: Pay-per-Call Tools for AI Agents: Web Search, Email Verify, KYC, Stocks, Crypto, News, Data
Offers paid utilities for web audits, HTTP fetching and extraction, BigQuery analysis, LLM processing, code execution, blockchain…
developer-tools
Provides general-purpose developer utilities for encoding, hashing, encryption, JSON, HTML, CSS, networking, and related data tra…
Qiniso
Provides deterministic formatting, parsing, holiday and tax lookups, address handling, and checksum or structure validation for i…