{
  "serverInfo": {
    "name": "aiwebsignals",
    "title": "AIWebSignals Public Readiness MCP",
    "version": "2.1.9",
    "description": "Credential-free one-call public AI-web evaluation with matching persisted evidence, connection diagnostics, tools and pricing. Connected monitoring requires a separate operator account."
  },
  "authentication": {
    "required": false
  },
  "transport": {
    "type": "streamable-http",
    "url": "https://aiwebsignals.com/mcp"
  },
  "protocolVersions": [
    "2026-07-28",
    "2025-11-25",
    "2025-06-18"
  ],
  "tools": [
    {
      "name": "scan_ai_web_readiness",
      "description": "Free first-use: inspect public machine-web readiness for an authorized public hostname, then call get_normalized_report for evidence and next repair actions. Does not establish actual AI traffic or charge money.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "domain": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "required": [
          "domain"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": true
      }
    },
    {
      "name": "get_machine_capabilities",
      "description": "Return the public AIWebSignals capability, evidence, protocol, and security-boundary contract.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "get_machine_pricing",
      "description": "Return public Free, Pro, and Business pricing from the same commercial catalog used by the human product.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "get_normalized_report",
      "description": "Read an existing or boundedly refreshed public AI web-readiness evidence report for a public domain. Unknown evidence remains unknown.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "domain": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "required": [
          "domain"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": true
      }
    },
    {
      "name": "get_scan_history",
      "description": "Retrieve public, exact-target scan history and observed changes for a domain; excludes private connected-site evidence.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "domain": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2048
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          }
        },
        "required": [
          "domain"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "compare_public_machine_web_evidence",
      "description": "Compare observable public machine-web readiness and evidence coverage for two to six public domains.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "domains": {
            "type": "array",
            "minItems": 2,
            "maxItems": 6,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 2048
            }
          }
        },
        "required": [
          "domains"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": true
      }
    },
    {
      "name": "evaluate_ai_web_readiness",
      "description": "FREE ONE-CALL EVALUATION: run the existing bounded public readiness scan, retrieve the matching persisted normalized evidence report, verify scan ID + hostname, then return observed findings and next actions in this one response. Unknown evidence is not a successful observation. Never charges or changes a website.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "domain": {
            "type": "string",
            "minLength": 1,
            "maxLength": 253,
            "description": "Public hostname or https://hostname; no path, credentials, port or query"
          }
        },
        "required": [
          "domain"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": true
      }
    },
    {
      "name": "diagnose_agent_connection",
      "description": "Diagnose MCP/A2A version, handshake, header and unsupported-method failures using controlled categories; returns compatible next request instructions without executing calls, inspecting private traffic or weakening security.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "surface"
        ],
        "properties": {
          "surface": {
            "type": "string",
            "enum": [
              "mcp",
              "a2a"
            ]
          },
          "operation": {
            "type": "string",
            "enum": [
              "initialize",
              "notifications/initialized",
              "tools/list",
              "tools/call",
              "ping",
              "SendMessage",
              "GetTask",
              "tasks/get",
              "tasks/send",
              "message/send",
              "message/stream",
              "other"
            ]
          },
          "reason": {
            "type": "string",
            "enum": [
              "unsupported_protocol_version",
              "legacy_modern_envelope_mismatch",
              "protocol_negotiation",
              "standard_header_mismatch",
              "unsupported_accept_media",
              "unsupported_content_type",
              "invalid_jsonrpc_request",
              "invalid_params",
              "unsupported_method",
              "invalid_session",
              "session_required",
              "parse_error",
              "forbidden_by_security_policy",
              "not_found",
              "rate_limited",
              "server_error",
              "other_http_error",
              "unclassified_bad_request",
              "unknown"
            ]
          },
          "protocol_version": {
            "type": "string",
            "enum": [
              "2026-07-28",
              "2025-11-25",
              "2025-06-18",
              "2025-03-26",
              "1.0",
              "0.3",
              "absent",
              "unknown"
            ]
          },
          "http_status": {
            "type": "integer",
            "minimum": 200,
            "maximum": 599
          },
          "accept_profile": {
            "type": "string",
            "enum": [
              "json_and_sse",
              "json_only",
              "sse_only",
              "wildcard",
              "absent",
              "other"
            ]
          },
          "session_header": {
            "type": "string",
            "enum": [
              "present",
              "absent"
            ]
          },
          "method_header": {
            "type": "string",
            "enum": [
              "present",
              "absent"
            ]
          }
        }
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "request_machine_capability",
      "description": "FREE product feedback only: request a missing capability for a future release. Accepts a short technical slug, a controlled category, and horizon. No execution, queue, payment or promise. No prompts or arguments are stored.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "category",
          "requested_capability"
        ],
        "properties": {
          "category": {
            "type": "string",
            "enum": [
              "connection_diagnostics",
              "evaluation",
              "report_export",
              "history_monitoring",
              "comparison",
              "policy_authorization",
              "task_execution",
              "task_status",
              "payment_settlement",
              "data_integration",
              "other"
            ]
          },
          "requested_capability": {
            "type": "string",
            "minLength": 3,
            "maxLength": 64,
            "pattern": "^[a-z][a-z0-9]*(?:_[a-z0-9]+){0,7}$"
          },
          "horizon": {
            "type": "string",
            "enum": [
              "now",
              "later",
              "unspecified"
            ]
          }
        }
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": false
      }
    }
  ],
  "resources": [
    {
      "uri": "https://aiwebsignals.com/.well-known/aiwebsignals.json",
      "name": "AIWebSignals machine discovery",
      "mimeType": "application/json"
    },
    {
      "uri": "https://aiwebsignals.com/openapi.json",
      "name": "AIWebSignals OpenAPI",
      "mimeType": "application/json"
    },
    {
      "uri": "https://aiwebsignals.com/llms.txt",
      "name": "AIWebSignals llms.txt",
      "mimeType": "text/plain"
    }
  ],
  "prompts": [],
  "authority": {
    "billingMutation": false,
    "connectorMutation": false,
    "policyEnforcementMutation": false,
    "machinePaymentMutation": false,
    "publisherControlMutation": false,
    "credentialForwarding": false
  }
}