validoria-mcp
Qué hace este MCP
Runs continuous website, API, and webshop tests covering security, SEO, performance, accessibility, browser journeys, and incident automation.
Herramientas
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['incidentId'], 'properties': {'incidentId': {'type': 'string', 'description': 'The incident ID to acknowledge'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'targetId': {'type': 'string', 'description': 'Filter by target ID'}}, 'additionalProperties': False}
Esquema de entrada
{'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}
Esquema de entrada
{'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}
Esquema de entrada
{'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}
Esquema de entrada
{'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}
Esquema de entrada
{'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}
Esquema de entrada
{'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}
Esquema de entrada
{'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}
Esquema de entrada
{'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}
Esquema de entrada
{'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}
Esquema de entrada
{'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}
Esquema de entrada
{'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}
Esquema de entrada
{'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}
Esquema de entrada
{'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}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['journeyId'], 'properties': {'journeyId': {'type': 'string', 'description': 'The journey ID to delete'}}, 'additionalProperties': False}
Esquema de entrada
{'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}
Esquema de entrada
{'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}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['fragmentId'], 'properties': {'fragmentId': {'type': 'string', 'description': 'The fragment ID to delete'}}, 'additionalProperties': False}
Esquema de entrada
{'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}
Esquema de entrada
{'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}
Esquema de entrada
{'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}
Esquema de entrada
{'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}
Esquema de entrada
{'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}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ruleId'], 'properties': {'ruleId': {'type': 'string', 'description': 'The automation rule ID'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['findingId'], 'properties': {'findingId': {'type': 'string', 'description': 'The finding ID'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['incidentId'], 'properties': {'incidentId': {'type': 'string', 'description': 'The incident ID'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['journeyId'], 'properties': {'journeyId': {'type': 'string', 'description': 'The journey ID'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['loadTestRunId'], 'properties': {'loadTestRunId': {'type': 'string', 'description': 'The load test run ID'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['runId'], 'properties': {'runId': {'type': 'string', 'description': 'The run ID'}}, 'additionalProperties': False}
Esquema de entrada
{'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}
Esquema de entrada
{'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}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['targetId'], 'properties': {'targetId': {'type': 'string', 'description': 'The target ID'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Esquema de entrada
{'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}
Esquema de entrada
{'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}
Esquema de entrada
{'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}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'enabled': {'type': 'boolean', 'description': 'Filter by enabled/disabled status'}}, 'additionalProperties': False}
Esquema de entrada
{'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}
Esquema de entrada
{'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}
Esquema de entrada
{'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}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['targetId'], 'properties': {'targetId': {'type': 'string', 'description': 'The target ID'}}, 'additionalProperties': False}
Esquema de entrada
{'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}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['targetId'], 'properties': {'targetId': {'type': 'string', 'description': 'The target ID'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Esquema de entrada
{'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}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['targetId'], 'properties': {'targetId': {'type': 'string', 'description': 'The target ID'}}, 'additionalProperties': False}
Esquema de entrada
{'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}
Esquema de entrada
{'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}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['findingId'], 'properties': {'findingId': {'type': 'string', 'description': 'The finding ID to mute'}}, 'additionalProperties': False}
Esquema de entrada
{'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}
Esquema de entrada
{'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}
Esquema de entrada
{'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}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['incidentId'], 'properties': {'incidentId': {'type': 'string', 'description': 'The incident ID to resolve'}}, 'additionalProperties': False}
Esquema de entrada
{'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}
Esquema de entrada
{'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}
Esquema de entrada
{'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}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Esquema de entrada
{'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}
Esquema de entrada
{'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}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['targetId'], 'properties': {'targetId': {'type': 'string', 'description': 'The target ID to scan'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['journeyId'], 'properties': {'journeyId': {'type': 'string', 'description': 'The journey ID to trigger'}}, 'additionalProperties': False}
Esquema de entrada
{'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}
Esquema de entrada
{'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}
Esquema de entrada
{'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}
Esquema de entrada
{'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}
Esquema de entrada
{'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}
Esquema de entrada
{'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}
Esquema de entrada
{'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}
Esquema de entrada
{'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}
Esquema de entrada
{'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}
Cambios recientes en herramientas
Servidores MCP similares
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…