AgentReady Woo
Qué hace este MCP
Audits WooCommerce storefronts for shopping-agent readiness and runs owner-authorized release verification gates.
Herramientas
Esquema de entrada
{'type': 'object', 'required': ['run_id'], 'properties': {'run_id': {'type': 'string', 'maxLength': 100, 'minLength': 8, 'description': 'Release Gate run identifier returned by start_woo_release_verification. It must belong to the authenticated account; never substitute a store URL, credential, or customer value.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'oneOf': [{'type': 'object', 'required': ['packet', 'delivery', 'billable_eligibility', 'settlement'], 'properties': {'packet': {'oneOf': [{'type': 'object', 'required': ['schema_version', 'run_id', 'state', 'checks', 'protocol_bundles', 'coverage', 'unknowns', 'observed_at', 'digest'], 'properties': {'state': {'enum': ['ACCEPTED', 'REJECTED', 'PARTIAL', 'BLOCKED', 'UNMEASURED', 'INFRA_ERROR', 'CANCELED'], 'type': 'string'}, 'checks': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'family', 'state', 'evidence'], 'properties': {'id': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'state': {'enum': ['PASS', 'FAIL', 'BLOCKED', 'NOT_APPLICABLE', 'UNMEASURED'], 'type': 'string'}, 'family': {'enum': ['woo', 'robots', 'jsonld', 'mcp', 'ucp', 'acp'], 'type': 'string'}, 'evidence': {'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'safe': {'type': 'boolean'}, 'count': {'type': 'number'}, 'search': {'type': 'boolean'}, 'status': {'type': 'number'}, 'allowed': {'type': 'boolean'}, 'training': {'type': 'boolean'}, 'authorized': {'type': 'boolean'}, 'mime_valid': {'type': 'boolean'}, 'page_count': {'type': 'number'}, 'tool_count': {'type': 'number'}, 'user_fetch': {'type': 'boolean'}, 'offer_pages': {'type': 'number'}, 'api_declared': {'type': 'boolean'}, 'sample_count': {'type': 'number'}, 'source_count': {'type': 'number'}, 'feed_declared': {'type': 'boolean'}, 'product_pages': {'type': 'number'}, 'sampled_pages': {'type': 'number'}, 'reviewed_tools': {'type': 'number'}, 'catalogue_total': {'type': ['number', 'null']}, 'version_matches': {'type': 'boolean'}, 'capability_count': {'type': 'number'}, 'protocol_version': {'type': 'string'}, 'sampled_identifiers': {'type': 'number'}, 'conflicting_identifiers': {'type': 'number'}}, 'additionalProperties': False}, 'reasonCode': {'enum': ['TARGET_INVALID', 'TARGET_PRIVATE', 'TARGET_REDIRECT_UNSAFE', 'TARGET_DNS_REBIND', 'TARGET_TIMEOUT', 'TARGET_BYTES_EXCEEDED', 'TARGET_RATE_LIMITED', 'ROBOTS_BLOCKED', 'WOO_API_UNAVAILABLE', 'WOO_SAMPLE_EMPTY', 'JSONLD_PRODUCT_MISSING', 'JSONLD_OFFER_MISSING', 'DISCOVERY_UNDECLARED', 'PROTOCOL_VERSION_UNSUPPORTED', 'PROTOCOL_SCHEMA_INVALID', 'MCP_INITIALIZE_FAILED', 'MCP_TOOLS_LIST_FAILED', 'MCP_TOOL_ANNOTATION_UNSAFE', 'MCP_TOOL_CALL_FAILED', 'UCP_PROFILE_INVALID', 'ACP_PROFILE_INVALID', 'CROSS_SURFACE_CONFLICT', 'OWNERSHIP_REQUIRED', 'OWNERSHIP_EXPIRED', 'ACTIVE_FLOW_FORBIDDEN', 'EVIDENCE_INVALID', 'INFRA_PERSISTENCE_FAILED', 'UNMEASURED_SOURCE', 'CONNECTION_UNVERIFIABLE', 'INVALID_MIME', 'INVALID_JSON', 'PAGINATION_DRIFT', 'CANCELED_BY_CALLER'], 'type': 'string'}}, 'additionalProperties': False}}, 'digest': {'type': 'string', 'pattern': '^[a-f0-9]{64}$'}, 'run_id': {'type': 'string', 'pattern': '^[A-Za-z0-9_-]{8,100}$'}, 'coverage': {'type': 'object', 'required': ['requested_families', 'completed_families', 'sample_size', 'catalogue_total'], 'properties': {'sample_size': {'type': 'integer', 'minimum': 0}, 'catalogue_total': {'type': ['integer', 'null'], 'minimum': 0}, 'completed_families': {'type': 'array', 'items': {'enum': ['woo', 'robots', 'jsonld', 'mcp', 'ucp', 'acp'], 'type': 'string'}}, 'requested_families': {'type': 'array', 'items': {'enum': ['woo', 'robots', 'jsonld', 'mcp', 'ucp', 'acp'], 'type': 'string'}}}, 'additionalProperties': False}, 'unknowns': {'type': 'array', 'items': {'enum': ['TARGET_INVALID', 'TARGET_PRIVATE', 'TARGET_REDIRECT_UNSAFE', 'TARGET_DNS_REBIND', 'TARGET_TIMEOUT', 'TARGET_BYTES_EXCEEDED', 'TARGET_RATE_LIMITED', 'ROBOTS_BLOCKED', 'WOO_API_UNAVAILABLE', 'WOO_SAMPLE_EMPTY', 'JSONLD_PRODUCT_MISSING', 'JSONLD_OFFER_MISSING', 'DISCOVERY_UNDECLARED', 'PROTOCOL_VERSION_UNSUPPORTED', 'PROTOCOL_SCHEMA_INVALID', 'MCP_INITIALIZE_FAILED', 'MCP_TOOLS_LIST_FAILED', 'MCP_TOOL_ANNOTATION_UNSAFE', 'MCP_TOOL_CALL_FAILED', 'UCP_PROFILE_INVALID', 'ACP_PROFILE_INVALID', 'CROSS_SURFACE_CONFLICT', 'OWNERSHIP_REQUIRED', 'OWNERSHIP_EXPIRED', 'ACTIVE_FLOW_FORBIDDEN', 'EVIDENCE_INVALID', 'INFRA_PERSISTENCE_FAILED', 'UNMEASURED_SOURCE', 'CONNECTION_UNVERIFIABLE', 'INVALID_MIME', 'INVALID_JSON', 'PAGINATION_DRIFT', 'CANCELED_BY_CALLER'], 'type': 'string'}}, 'observed_at': {'type': 'string', 'format': 'date-time'}, 'schema_version': {'const': '2026-09-06'}, 'protocol_bundles': {'type': 'array', 'items': {'type': 'object', 'required': ['family', 'release', 'sourceSha256', 'vectorSha256', 'builtAt'], 'properties': {'family': {'enum': ['mcp', 'ucp', 'acp'], 'type': 'string'}, 'builtAt': {'type': 'string', 'format': 'date-time'}, 'release': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'sourceSha256': {'type': 'string', 'pattern': '^[a-f0-9]{64}$'}, 'vectorSha256': {'type': 'string', 'pattern': '^[a-f0-9]{64}$'}}, 'additionalProperties': False}}}, 'additionalProperties': False}, {'type': 'null'}]}, 'delivery': {'enum': ['FIRST', 'REPLAY'], 'type': 'string'}, 'settlement': {'const': 'disabled'}, 'billable_eligibility': {'enum': ['ELIGIBLE_ON_FIRST_DELIVERY', 'NOT_BILLABLE'], 'type': 'string'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['code'], 'properties': {'code': {'enum': ['AUTH_REQUIRED', 'STORE_NOT_FOUND', 'OWNERSHIP_REQUIRED', 'WORKFLOW_UNAVAILABLE', 'WORKFLOW_DISPATCH_FAILED', 'INVALID_INPUT', 'RUN_NOT_FOUND', 'RESULT_NOT_READY', 'EVIDENCE_REQUIRED'], 'type': 'string'}, 'state': {'enum': ['BLOCKED', 'UNMEASURED'], 'type': 'string'}, 'settlement': {'const': 'disabled'}}, 'additionalProperties': False}]}
Esquema de entrada
{'type': 'object', 'required': ['run_id'], 'properties': {'run_id': {'type': 'string', 'maxLength': 100, 'minLength': 8, 'description': 'Release Gate run identifier returned by start_woo_release_verification. It must belong to the authenticated account; never substitute a store URL, credential, or customer value.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'oneOf': [{'type': 'object', 'required': ['run_id', 'state', 'terminal_state', 'evidence_digest'], 'properties': {'state': {'enum': ['QUEUED', 'RUNNING', 'RETRYING', 'TERMINAL', 'CANCELED'], 'type': 'string'}, 'run_id': {'type': 'string', 'maxLength': 100, 'minLength': 8}, 'terminal_state': {'type': ['string', 'null']}, 'evidence_digest': {'type': ['string', 'null']}}, 'additionalProperties': False}, {'type': 'object', 'required': ['code'], 'properties': {'code': {'enum': ['AUTH_REQUIRED', 'STORE_NOT_FOUND', 'OWNERSHIP_REQUIRED', 'WORKFLOW_UNAVAILABLE', 'WORKFLOW_DISPATCH_FAILED', 'INVALID_INPUT', 'RUN_NOT_FOUND', 'RESULT_NOT_READY', 'EVIDENCE_REQUIRED'], 'type': 'string'}, 'state': {'enum': ['BLOCKED', 'UNMEASURED'], 'type': 'string'}, 'settlement': {'const': 'disabled'}}, 'additionalProperties': False}]}
Esquema de entrada
{'type': 'object', 'required': ['store_origin'], 'properties': {'store_origin': {'type': 'string', 'maxLength': 2048, 'minLength': 8, 'description': 'Public HTTPS origin of the WooCommerce store, with no path, query, credentials, private host, or customer data; for example https://shop.example.com.'}, 'requested_families': {'type': 'array', 'items': {'enum': ['woo', 'robots', 'jsonld', 'mcp', 'ucp', 'acp'], 'type': 'string'}, 'maxItems': 6, 'minItems': 1, 'description': 'Public protocol families to inspect. Omit to check all supported families; use only woo, robots, jsonld, mcp, ucp, or acp.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['kind', 'state', 'store_origin', 'requested_families', 'sample_seed', 'sample_size', 'catalogue_total', 'checks', 'protocol_bundles', 'observed_at', 'unknowns'], 'properties': {'kind': {'const': 'preflight'}, 'state': {'enum': ['ACCEPTED', 'REJECTED', 'PARTIAL', 'BLOCKED', 'UNMEASURED'], 'type': 'string'}, 'checks': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'family', 'state', 'evidence'], 'properties': {'id': {'type': 'string'}, 'state': {'enum': ['PASS', 'FAIL', 'BLOCKED', 'NOT_APPLICABLE', 'UNMEASURED'], 'type': 'string'}, 'family': {'enum': ['woo', 'robots', 'jsonld', 'mcp', 'ucp', 'acp'], 'type': 'string'}, 'evidence': {'type': 'object'}, 'reasonCode': {'enum': ['TARGET_INVALID', 'TARGET_PRIVATE', 'TARGET_REDIRECT_UNSAFE', 'TARGET_DNS_REBIND', 'TARGET_TIMEOUT', 'TARGET_BYTES_EXCEEDED', 'TARGET_RATE_LIMITED', 'ROBOTS_BLOCKED', 'WOO_API_UNAVAILABLE', 'WOO_SAMPLE_EMPTY', 'JSONLD_PRODUCT_MISSING', 'JSONLD_OFFER_MISSING', 'DISCOVERY_UNDECLARED', 'PROTOCOL_VERSION_UNSUPPORTED', 'PROTOCOL_SCHEMA_INVALID', 'MCP_INITIALIZE_FAILED', 'MCP_TOOLS_LIST_FAILED', 'MCP_TOOL_ANNOTATION_UNSAFE', 'MCP_TOOL_CALL_FAILED', 'UCP_PROFILE_INVALID', 'ACP_PROFILE_INVALID', 'CROSS_SURFACE_CONFLICT', 'OWNERSHIP_REQUIRED', 'OWNERSHIP_EXPIRED', 'ACTIVE_FLOW_FORBIDDEN', 'EVIDENCE_INVALID', 'INFRA_PERSISTENCE_FAILED', 'UNMEASURED_SOURCE', 'CONNECTION_UNVERIFIABLE', 'INVALID_MIME', 'INVALID_JSON', 'PAGINATION_DRIFT', 'CANCELED_BY_CALLER'], 'type': 'string'}}, 'additionalProperties': False}}, 'unknowns': {'type': 'array', 'items': {'enum': ['TARGET_INVALID', 'TARGET_PRIVATE', 'TARGET_REDIRECT_UNSAFE', 'TARGET_DNS_REBIND', 'TARGET_TIMEOUT', 'TARGET_BYTES_EXCEEDED', 'TARGET_RATE_LIMITED', 'ROBOTS_BLOCKED', 'WOO_API_UNAVAILABLE', 'WOO_SAMPLE_EMPTY', 'JSONLD_PRODUCT_MISSING', 'JSONLD_OFFER_MISSING', 'DISCOVERY_UNDECLARED', 'PROTOCOL_VERSION_UNSUPPORTED', 'PROTOCOL_SCHEMA_INVALID', 'MCP_INITIALIZE_FAILED', 'MCP_TOOLS_LIST_FAILED', 'MCP_TOOL_ANNOTATION_UNSAFE', 'MCP_TOOL_CALL_FAILED', 'UCP_PROFILE_INVALID', 'ACP_PROFILE_INVALID', 'CROSS_SURFACE_CONFLICT', 'OWNERSHIP_REQUIRED', 'OWNERSHIP_EXPIRED', 'ACTIVE_FLOW_FORBIDDEN', 'EVIDENCE_INVALID', 'INFRA_PERSISTENCE_FAILED', 'UNMEASURED_SOURCE', 'CONNECTION_UNVERIFIABLE', 'INVALID_MIME', 'INVALID_JSON', 'PAGINATION_DRIFT', 'CANCELED_BY_CALLER'], 'type': 'string'}}, 'observed_at': {'type': 'string', 'format': 'date-time'}, 'sample_seed': {'type': 'string'}, 'sample_size': {'type': 'integer', 'minimum': 0}, 'store_origin': {'type': 'string', 'format': 'uri'}, 'catalogue_total': {'type': ['integer', 'null'], 'minimum': 0}, 'protocol_bundles': {'type': 'array', 'items': {'type': 'object'}}, 'requested_families': {'type': 'array', 'items': {'enum': ['woo', 'robots', 'jsonld', 'mcp', 'ucp', 'acp'], 'type': 'string'}}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'oneOf': [{'not': {'required': ['demo']}, 'required': ['store_url']}, {'not': {'required': ['store_url']}, 'required': ['demo']}], 'properties': {'demo': {'type': 'boolean', 'const': True, 'description': 'Run a deterministic synthetic demonstration instead of scanning a live store.'}, 'store_url': {'type': 'string', 'format': 'uri', 'maxLength': 200, 'description': 'Public HTTPS origin of the WooCommerce storefront, for example https://shop.example.com'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['state', 'score', 'grade', 'unreadable', 'checks', 'product_count_sampled', 'recommendations', 'scanned_at', 'billable', 'evidence_status'], 'properties': {'grade': {'type': ['string', 'null']}, 'score': {'type': ['number', 'null'], 'maximum': 100, 'minimum': 0}, 'state': {'enum': ['SCORED', 'UNREADABLE'], 'type': 'string', 'description': 'UNREADABLE is an abstention, not a verdict about the store.'}, 'checks': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'label', 'ok', 'weight'], 'properties': {'id': {'type': 'string'}, 'ok': {'type': 'boolean'}, 'label': {'type': 'string'}, 'weight': {'type': 'number'}}, 'additionalProperties': False}}, 'billable': {'const': False}, 'scanned_at': {'type': 'integer'}, 'unreadable': {'type': ['object', 'null'], 'required': ['reason', 'detail'], 'properties': {'detail': {'type': 'string'}, 'reason': {'type': 'string'}}, 'description': 'Why nothing could be read. Null when the scan produced a score.', 'additionalProperties': False}, 'evidence_status': {'enum': ['LIVE_PUBLIC_SCAN', 'SYNTHETIC_DEMO'], 'type': 'string'}, 'recommendations': {'type': 'array', 'items': {'type': 'string'}}, 'product_count_sampled': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['store_id', 'mode', 'requested_families', 'idempotency_key'], 'properties': {'mode': {'type': 'string', 'const': 'owned-safe-active', 'description': 'Required safety mode. The only accepted value is owned-safe-active, which requires verified store ownership before the run starts.'}, 'store_id': {'type': 'string', 'maxLength': 100, 'minLength': 8, 'description': 'AgentReady store identifier owned by the authenticated account. Use the stored identifier, never a store URL, secret, or customer value.'}, 'baseline_run_id': {'type': 'string', 'maxLength': 100, 'minLength': 8, 'description': 'Optional prior Release Gate run identifier from the same owned store to use as the comparison baseline; omit when no valid baseline exists.'}, 'idempotency_key': {'type': 'string', 'maxLength': 200, 'minLength': 16, 'description': 'Caller-generated retry key for this exact start request. Reuse it only when retrying the same operation; do not place credentials or customer data in it.'}, 'requested_families': {'type': 'array', 'items': {'enum': ['woo', 'robots', 'jsonld', 'mcp', 'ucp', 'acp'], 'type': 'string'}, 'maxItems': 6, 'minItems': 1, 'description': 'One or more protocol families the owner authorizes this Release Gate run to verify: woo, robots, jsonld, mcp, ucp, or acp.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'oneOf': [{'type': 'object', 'required': ['run_id', 'state', 'settlement'], 'properties': {'state': {'enum': ['QUEUED', 'RUNNING', 'RETRYING', 'TERMINAL', 'CANCELED'], 'type': 'string'}, 'run_id': {'type': 'string', 'maxLength': 100, 'minLength': 8}, 'settlement': {'const': 'disabled'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['code', 'state', 'settlement'], 'properties': {'code': {'const': 'EVIDENCE_REQUIRED'}, 'state': {'enum': ['BLOCKED', 'UNMEASURED'], 'type': 'string'}, 'settlement': {'const': 'disabled'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['code'], 'properties': {'code': {'enum': ['AUTH_REQUIRED', 'STORE_NOT_FOUND', 'OWNERSHIP_REQUIRED', 'WORKFLOW_UNAVAILABLE', 'WORKFLOW_DISPATCH_FAILED', 'INVALID_INPUT', 'RUN_NOT_FOUND', 'RESULT_NOT_READY', 'EVIDENCE_REQUIRED'], 'type': 'string'}}, 'additionalProperties': False}]}
Cambios recientes en herramientas
Servidores MCP similares
Agent Utilities Hosted
Provides bounded utilities for validating schemas and APIs, processing JSON and HTML, auditing agent configurations, and analyzin…
PassFast
Creates, manages, signs, shares, downloads, and generates Apple Wallet and Google Wallet passes and templates.
Gtin
Validates EAN, UPC, and other GTIN barcodes and computes or repairs their check digits.
Scopeweb
Suggests, scores, audits, searches, and checks domain names, provides pricing information, and manages website drafts without com…
mcp
Searches repositories to build from and supports listing, selling, purchasing, and tracking sales of GitHub repositories.
steamwebapi
Documents and executes read-only Steam and third-party game-market API endpoints, including product, inventory, pricing, and mark…
ProjectThunder
Supports B2B commerce and ERP research through platform scans, integration guidance, migration planning, case studies, and ERP pa…
yetty
Uploads, manages, edits, and runs hosted websites with CMS authoring, SEO and menu content, storefront templates, authentication,…