Skip to main content
Glama

Lordevo Shop (x402 website checks)

Business-site risk signals (evidence + risk level, AI-assisted) ($0.01/call)

site_verdict
Read-onlyIdempotent

$0.01 per call (x402, USDC on Base; not covered by the free trial). [SEO, security and site verdicts] Risk signals for a business website (trust/2): risk level low_observed_risk / elevated / high / unknown with a 0-100 RISK score, confidence and signals[] with evidence, from public data: HTTPS, domain age (RDAP), MX/SPF/DMARC, contact details, address, company registration text, policies, social links, parked/for-sale and scam-phrase detection, plus Lordevo's own local model (no cloud AI, basis: inferred). Never certifies a site as legit or safe; registrations are detected, not verified. ~3-20 s. Method and measured error rates: https://shop.lordevo.com/docs/trust-methodology

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "url": "<url>"
    },
    "name": "site_verdict"
  }
}

Input Schema

NameRequiredDescriptionDefault
urlYesPublic http(s) URL or bare domain, e.g. https://example.com

Output Schema

NameRequiredDescriptionDefault
aiNo
urlNo
riskNo
toolNo
cacheNo
_trialNoPresent when the call was a free trial call.
domainNo
schemaNo
reasonsNo
signalsNo
summaryNo
verdictNoDeprecated alias of risk.level, removed after 2027-01-31
coverageNo
evidenceNo
observedNo
providerNo
price_usdNo
business_typeNo
methodology_urlNo
not_a_guaranteeNo
not_a_guarantee_textNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "anyOf": [
      +    {
      +      "required": [
      +        "tool",
      +        "url",
      +        "summary",
      +        "schema",
      +        "risk",
      +        "signals",
      +        "coverage",
      +        "not_a_guarantee"
      +      ]
      +    },
      +    {
      +      "properties": {
      +        "accepts": {
      +          "type": "array"
      +        },
      +        "error": {
      +          "type": "string"
      +        },
      +        "resource": {
      +          "type": "object"
      +        },
      +        "x402Version": {
      +          "type": "integer"
      +        }
      +      },
      +      "required": [
      +        "x402Version",
      +        "accepts"
      +      ]
      +    },
      +    {
      +      "properties": {
      +        "charged": {
      +          "type": "boolean"
      +        },
      +        "error": {
      +          "type": "string"
      +        },
      +        "message": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "error"
      +      ]
      +    }
      +  ],
      +  "properties": {
      +    "_trial": {
      +      "description": "Present when the call was a free trial call.",
      +      "type": "object"
      +    },
      +    "ai": {
      +      "type": "object"
      +    },
      +    "business_type": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "cache": {
      +      "type": "object"
      +    },
      +    "coverage": {
      +      "properties": {
      +        "blocklist_checked": {
      +          "type": "boolean"
      +        },
      +        "checked": {
      +          "type": "array"
      +        },
      +        "failed": {
      +          "type": "array"
      +        },
      +        "not_checked": {
      +          "type": "array"
      +        },
      +        "point_in_time": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "not_checked",
      +        "blocklist_checked"
      +      ],
      +      "type": "object"
      +    },
      +    "domain": {
      +      "type": "string"
      +    },
      +    "evidence": {
      +      "type": "object"
      +    },
      +    "methodology_url": {
      +      "type": "string"
      +    },
      +    "not_a_guarantee": {
      +      "const": true,
      +      "type": "boolean"
      +    },
      +    "not_a_guarantee_text": {
      +      "type": "string"
      +    },
      +    "observed": {
      +      "type": "object"
      +    },
      +    "price_usd": {
      +      "type": "number"
      +    },
      +    "provider": {
      +      "type": "string"
      +    },
      +    "reasons": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "risk": {
      +      "properties": {
      +        "calibration": {},
      +        "confidence": {
      +          "enum": [
      +            "low",
      +            "medium",
      +            "high"
      +          ],
      +          "type": "string"
      +        },
      +        "level": {
      +          "enum": [
      +            "low_observed_risk",
      +            "elevated",
      +            "high",
      +            "unknown"
      +          ],
      +          "type": "string"
      +        },
      +        "observed_bad_rate": {
      +          "type": [
      +            "object",
      +            "null"
      +          ]
      +        },
      +        "score": {
      +          "maximum": 100,
      +          "minimum": 0,
      +          "type": "integer"
      +        },
      +        "thresholds": {
      +          "type": "object"
      +        }
      +      },
      +      "required": [
      +        "level",
      +        "score",
      +        "confidence"
      +      ],
      +      "type": "object"
      +    },
      +    "schema": {
      +      "const": "trust/2",
      +      "type": "string"
      +    },
      +    "signals": {
      +      "items": {
      +        "properties": {
      +          "basis": {
      +            "enum": [
      +              "observed",
      +              "inferred"
      +            ],
      +            "type": "string"
      +          },
      +          "direction": {
      +            "enum": [
      +              "raises",
      +              "lowers"
      +            ],
      +            "type": "string"
      +          },
      +          "evidence": {
      +            "items": {
      +              "properties": {
      +                "header": {
      +                  "type": "string"
      +                },
      +                "kind": {
      +                  "type": "string"
      +                },
      +                "observed_at": {
      +                  "type": "string"
      +                },
      +                "record": {},
      +                "snippet": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "url": {
      +                  "type": "string"
      +                },
      +                "value": {}
      +              },
      +              "required": [
      +                "kind"
      +              ],
      +              "type": "object"
      +            },
      +            "minItems": 1,
      +            "type": "array"
      +          },
      +          "id": {
      +            "type": "string"
      +          },
      +          "severity": {
      +            "type": "string"
      +          },
      +          "title": {
      +            "type": "string"
      +          },
      +          "value": {},
      +          "weight": {
      +            "type": "number"
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "direction",
      +          "weight",
      +          "basis",
      +          "evidence"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "summary": {
      +      "type": "string"
      +    },
      +    "tool": {
      +      "type": "string"
      +    },
      +    "url": {
      +      "type": "string"
      +    },
      +    "verdict": {
      +      "deprecated": true,
      +      "description": "Deprecated alias of risk.level, removed after 2027-01-31",
      +      "enum": [
      +        "low_observed_risk",
      +        "elevated",
      +        "high",
      +        "unknown"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  2. First observed

TDQS

A4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the read-only, open-world annotations, it discloses the exact price, x402/USDC payment requirement, free-trial exclusion, public-data sources, approximate 3-20 second latency, and use of a local rather than cloud AI model. It also states important evidentiary limits—registrations are detected rather than verified—and links to methodology and measured error rates.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Most of the content is useful, but pricing precedes the actual purpose and the outputs, evidence sources, and model details are crowded into one dense sentence. Repeating the title's price and extensively enumerating outputs despite an output schema further reduce economy and scannability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter assessment tool, it provides unusually complete operational and interpretive context: cost, evidence, uncertainty, privacy, latency, and limitations, while the output schema can carry detailed return structure. Its main remaining gap is the absence of explicit routing guidance versus related trust and site-analysis tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The sole url parameter already has a complete schema description covering public HTTP(S) URLs and bare domains. The description adds business-website scope but no meaningful URL syntax, validation, or preprocessing details beyond that schema, so the high-coverage baseline applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies a holistic business-website risk assessment, listing its risk levels, score, confidence, evidence signals, and public-data inputs. However, it does not explicitly distinguish the tool from closely related siblings such as url_trust, site_check, or verdict_card, and the cryptic "trust/2" label does not supply that differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The business-website context and the warning that it "never certifies a site as legit or safe" give useful guidance about appropriate use and interpretation. It still lacks explicit selection criteria or alternatives for agents deciding among the several trust, security, and site-report siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources