Skip to main content
Glama

Lordevo Shop (x402 website checks)

Site check: URL risk signals + AI readiness + security headers (recommended start) ($0.02/call)

site_check
Read-onlyIdempotent

$0.02 per call (x402, USDC on Base; not covered by the free trial). [SEO, security and site verdicts] One call answers two questions agents ask about a website: what risk signals does it show before you click or pay (url-trust, trust/2: TLS, redirects, domain age via RDAP, lookalike/punycode, scam/parked signals, x402 challenge validity, each with evidence, a risk level low_observed_risk / elevated / high / unknown and measured error rates; never a "safe" claim) and is it ready for AI agents and search (agent-readiness score 0-100), plus a security-headers summary. Returns overall risk level and scores, top fixes and the three full sub-results. Method and 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_check"
  }
}

Input Schema

NameRequiredDescriptionDefault
urlYesWebsite to check: a public http(s) URL or bare domain, e.g. https://example.com

Output Schema

NameRequiredDescriptionDefault
urlNo
toolNo
cacheNo
trustNo
_trialNoPresent when the call was a free trial call.
domainNo
schemaNo
overallNo
summaryNo
providerNo
price_usdNo
top_fixesNo
next_stepsNo
agent_readinessNo
methodology_urlNo
not_a_guaranteeNo
security_headersNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / url / description
      Previous value: -"Public http(s) URL or bare domain, e.g. https://example.com"New value: +"Website to check: a public http(s) URL or bare domain, e.g. https://example.com"
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "anyOf": [
      +    {
      +      "required": [
      +        "tool",
      +        "url",
      +        "overall",
      +        "summary",
      +        "schema",
      +        "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"
      +    },
      +    "agent_readiness": {
      +      "type": "object"
      +    },
      +    "cache": {
      +      "type": "object"
      +    },
      +    "domain": {
      +      "type": "string"
      +    },
      +    "methodology_url": {
      +      "type": "string"
      +    },
      +    "next_steps": {
      +      "type": "array"
      +    },
      +    "not_a_guarantee": {
      +      "const": true,
      +      "type": "boolean"
      +    },
      +    "overall": {
      +      "properties": {
      +        "ai_readiness_grade": {
      +          "type": "string"
      +        },
      +        "ai_readiness_score": {
      +          "type": "integer"
      +        },
      +        "risk_confidence": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "risk_level": {
      +          "enum": [
      +            "low_observed_risk",
      +            "elevated",
      +            "high",
      +            "unknown"
      +          ],
      +          "type": "string"
      +        },
      +        "risk_score": {
      +          "maximum": 100,
      +          "minimum": 0,
      +          "type": [
      +            "integer",
      +            "null"
      +          ]
      +        },
      +        "security_grade": {
      +          "type": "string"
      +        },
      +        "security_score": {
      +          "type": "integer"
      +        },
      +        "trust_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"
      +    },
      +    "price_usd": {
      +      "type": "number"
      +    },
      +    "provider": {
      +      "type": "string"
      +    },
      +    "schema": {
      +      "const": "trust/2",
      +      "type": "string"
      +    },
      +    "security_headers": {
      +      "type": "object"
      +    },
      +    "summary": {
      +      "type": "string"
      +    },
      +    "tool": {
      +      "type": "string"
      +    },
      +    "top_fixes": {
      +      "items": {
      +        "properties": {
      +          "fix": {
      +            "type": "string"
      +          },
      +          "id": {
      +            "type": "string"
      +          },
      +          "severity": {
      +            "enum": [
      +              "critical",
      +              "high",
      +              "medium",
      +              "low",
      +              "info"
      +            ],
      +            "type": "string"
      +          },
      +          "title": {
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "trust": {
      +      "type": "object"
      +    },
      +    "url": {
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  3. Added

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, open-world, so the description adds real context beyond them: pricing ($0.02/call, x402 USDC on Base, excluded from free trial), an explicit 'never a "safe" claim' disclaimer, the enumerated risk levels and measured error rates, and a methodology link. The only gap is that it does not state latency or rate-limit behavior for a paid external fetch.

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?

Front-loading the price is defensible for a paid per-call tool, but the body is one long run-on sentence with nested parentheticals and semicolon-chained clauses ('...each with evidence, a risk level ... and measured error rates; never a "safe" claim...'). Every clause carries information, but the structure makes it slower to parse than a short bulleted summary would.

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

Completeness5/5

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

For a paid aggregate tool with an output schema, the description covers what is checked, what the verdict vocabulary means, what comes back ('overall risk level and scores, top fixes and the three full sub-results'), and where methodology lives. Little an agent needs before calling is missing.

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?

Schema coverage is 100% and the single 'url' parameter is already documented with an example format, so the description adds no syntax or constraint detail beyond the schema. Baseline 3 applies when the schema does all the parameter work.

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

Purpose5/5

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

States a concrete composite purpose: one call answering 'what risk signals does it show before you click or pay' and 'is it ready for AI agents and search', enumerating the sub-checks (TLS, redirects, RDAP domain age, lookalike/punycode, x402 challenge, agent-readiness score). An agent can tell this is the aggregate sibling that bundles url_trust + security_headers + agent_readiness without opening any schema.

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

Usage Guidelines3/5

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

Implies usage ('before you click or pay') and the title calls it the 'recommended start', but the description body never names alternatives such as url_trust, security_headers, or agent_readiness, and gives no when-not guidance. An agent must infer that the narrower siblings exist for single-aspect checks.

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