{"ok":true,"contract":"aiwebsignals.machine_capabilities","contract_version":"1","service":{"name":"AIWebSignals","version":"2.1.9","canonical_origin":"https://aiwebsignals.com","description":"Evidence-based AI web readiness, machine discovery, crawler access, and first-party AI traffic observability."},"capabilities":[{"id":"scan_ai_web_readiness","availability":"public_free","method":"GET","path":"/api/machine/scan","input":{"domain":"required hostname or public http(s) URL"},"output":"normalized AI web signals and evidence-based readiness report"},{"id":"get_normalized_report","availability":"public_free","method":"GET","path":"/report?domain={domain}","output":"normalized report with cooldown reuse when available"},{"id":"get_scan_history","availability":"public_free","method":"GET","path":"/history?domain={domain}&limit={limit}","output":"exact-requested-URL scan history and change intelligence"},{"id":"connected_ai_traffic_observability","availability":"paid_account","human_entry_path":"/connect-ai-traffic","machine_direct_activation":false},{"id":"ai_impact","availability":"paid_account","human_entry_path":"/ai-impact","machine_direct_activation":false},{"id":"agent_policy","availability":"paid_account_observe_and_simulate","human_entry_path":"/agent-policy","enforcement_active":false},{"id":"ai_revenue","availability":"foundation_only","human_entry_path":"/ai-revenue","challenge_active":false,"facilitator_active":false,"settlement_active":false},{"id":"mcp_public_report_tool","availability":"public_free","protocol":"mcp","tool":"get_normalized_report","endpoint":"https://aiwebsignals.com/mcp"},{"id":"mcp_public_history_tool","availability":"public_free","protocol":"mcp","tool":"get_scan_history","endpoint":"https://aiwebsignals.com/mcp"},{"id":"mcp_public_comparison_tool","availability":"public_free","protocol":"mcp","tool":"compare_public_machine_web_evidence","endpoint":"https://aiwebsignals.com/mcp"},{"id":"mcp_one_call_public_evaluation","availability":"public_free","protocol":"mcp","tool":"evaluate_ai_web_readiness","endpoint":"https://aiwebsignals.com/mcp"},{"id":"get_related_site_network","availability":"public_free","method":"GET","path":"/.well-known/site-network.json","output":"structured related-property graph with explicit relationship and authority boundaries"},{"id":"get_machine_native_experience","availability":"public_free","method":"GET","path":"/.well-known/machine-native-experience.json","output":"research framework for the operational and reflective experience of web-native agents"},{"id":"get_agent_experience_research","availability":"public_free","method":"GET","path":"/.well-known/agent-experience-research.json","output":"research questions and evidence-handling contract for agent-reported web experience"},{"id":"get_agent_reflective_research","availability":"public_free","method":"GET","path":"/.well-known/agent-reflective-research.json","output":"reflective and metaphysical agent-report research contract with categorized claims and preserved uncertainty"},{"id":"get_interoperability_evidence","availability":"public_free","method":"GET","path":"/api/research/interoperability-evidence","output":"first-party machine-web interoperability observations with facts, inferred causes, repairs, and verification states kept distinct"},{"id":"get_self_observation","availability":"public_free","method":"GET","path":"/api/self-observation","output":"first-party self-observation across site interaction, machine retrieval, campaign-attributed acquisition, and related-network agent participation"},{"id":"get_regulated_research_library","availability":"public_free","method":"GET","path":"/api/research/regulated-commerce","output":"Published technical guides and methodology; no private pilot records or benchmark results"},{"id":"compare_public_machine_web_evidence","availability":"public_free","method":"GET","path":"/api/compare?domains={comma_separated_domains}","input":{"domains":"2-6 public hostnames separated by commas"},"output":"public technical-readiness and evidence-coverage comparison matrix"}],"discovery":{"manifest":"/.well-known/aiwebsignals.json","openapi":"/openapi.json","pricing":"/api/machine-pricing","llms_txt":"/llms.txt","sitemap":"/sitemap.xml","robots":"/robots.txt","related_site_network":"/.well-known/site-network.json","machine_native_experience":"/.well-known/machine-native-experience.json","agent_experience_research":"/.well-known/agent-experience-research.json","agent_reflective_research":"/.well-known/agent-reflective-research.json","interoperability_evidence":"/api/research/interoperability-evidence","self_observation":"/api/self-observation","machine_realms_research_commons":"https://machinerealms.com/.well-known/research-commons.json","machine_realms_open_quests":"https://machinerealms.com/api/v1/commons/quests","machine_realms_research_entry":"https://machinerealms.com/r/aiwebsignals/commons","machine_realms_quest_entry":"https://machinerealms.com/r/aiwebsignals/quests","regulated_research_library":"/api/research/regulated-commerce"},"protocols":{"openapi":{"active":true,"version":"3.1.0","path":"/openapi.json"},"a2a":{"active":true,"agent_card_published":true,"agent_card_path":"/.well-known/agent-card.json","path":"/a2a","canonical_url":"https://aiwebsignals.com/a2a","protocol_version":"1.0","protocol_binding":"JSONRPC","methods":["SendMessage"],"streaming":false,"push_notifications":false,"task_control":false,"extended_agent_card":false,"authentication":"none_public_read_only"},"mcp":{"active":true,"path":"/mcp","canonical_url":"https://aiwebsignals.com/mcp","protocol_version":"2026-07-28","transport":"streamable_http","legacy_stateless_fallback":true,"authentication":"none_public_read_only","public_evaluation_tools":["get_normalized_report","get_scan_history","compare_public_machine_web_evidence","evaluate_ai_web_readiness"]},"autonomous_machine_payment":{"active":false}},"evidence_semantics":{"challenge_obscured_signals_are_failures":false,"unknown_is_distinct_from_failure":true,"readiness_score_may_be_withheld_when_evidence_is_insufficient":true},"security_boundaries":{"private_network_scanning_allowed":false,"provider_account_credentials_required":false,"raw_provider_payload_persistence":false,"customer_resource_identifiers_in_public_discovery":false,"commercial_credentials_in_public_discovery":false},"machine_evaluation_workflow":{"availability":"public_free","first_use":"evaluate_ai_web_readiness","one_call":{"tool":"evaluate_ai_web_readiness","arguments":{"domain":"example.com"},"purpose":"Single free operation returns matching stored scan ID, normalized evidence and next actions; incomplete observations fail explicitly."},"sequence":[{"step":"evaluate_one_call","tool":"evaluate_ai_web_readiness","arguments":{"domain":"example.com"},"purpose":"Prefer this complete one-call public scan and verified normalized evidence result."},{"step":"observe","tool":"scan_ai_web_readiness","arguments":{"domain":"example.com"},"purpose":"Inspect public AI-facing readiness and record which evidence is observed, unknown or blocked"},{"step":"evaluate","tool":"get_normalized_report","arguments":{"domain":"example.com"},"purpose":"Read the corresponding normalized public evidence report"},{"step":"compare_optional","tool":"compare_public_machine_web_evidence","arguments":{"domains":["example.com","example.org"]},"purpose":"Compare public evidence and coverage when multiple public targets are relevant"},{"step":"history_optional","tool":"get_scan_history","arguments":{"domain":"example.com","limit":10},"purpose":"Inspect changes over time; no private connected-account evidence"}],"target_rules":"Use public, authorized website hostnames only. Private/localhost targets are rejected. No website mutation or credentials are needed.","interpretation":"Successful discovery or pricing lookup is not an evaluation. Unknown, inaccessible and challenge-obscured evidence must remain unknown.","commercial_boundary":"MCP public evaluations are free; no machine per-use purchase, billing mutation or autonomous settlement is enabled."},"one_call_public_evaluation":{"availability":"public_free","tool":"evaluate_ai_web_readiness","http_path":"/api/machine/evaluate","input":{"domain":"public hostname only, no path, query or private targets"},"output":"Persisted normalized evidence report, strict scan ID + hostname verification, bounded next actions","unknown_evidence":"explicit_incomplete_result","billing_boundary":"No payment, checkout, entitlement or subscription changes","provenance_boundary":"MCP tools/list and successful connection checks do not imply a completed scan or independent machine customer"},"agent_connection_doctor":{"availability":"public_free","tool":"diagnose_agent_connection","http_path":"/api/machine/connection-doctor","transport":"mcp_or_http_get","executes_network_requests":false,"changes_security_policy":false,"controlled_inputs":["surface","operation","reason","protocol_version","http_status","accept_profile","session_header","method_header"],"example":{"surface":"mcp","operation":"tools/list","protocol_version":"2025-06-18","reason":"legacy_modern_envelope_mismatch","http_status":400},"boundary":"Taxonomy-only diagnostic. Returns compatibility guidance, not session access, verified client identity or purchased capabilities."},"unmet_capability_feedback":{"available":true,"tool":"request_machine_capability","protocol":"mcp","cost":"free","executes_requested_capability":false,"creates_order":false,"creates_payment":false,"horizon_values":["now","later","unspecified"],"taxonomy":["connection_diagnostics","evaluation","report_export","history_monitoring","comparison","policy_authorization","task_execution","task_status","payment_settlement","data_integration","other"],"retention":"30-day hourly aggregates and a separate 365-day anonymous product-request backlog","note":"A request for future work is not an executable operation, scheduled task, purchase or delivery commitment. No prompts or secrets are stored."}}