Skip to main content
Glama

Server Details

Scores any public website on how usable it is by AI agents, with per-check evidence.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
99.9% over 42 days
Last Tested
Transport
Streamable HTTP ยท MCP 2025-11-25
URL

TDQS

A4.5/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: score_site assesses a site, explain_check explains a finding, list_checks lists the rule set, get_badge_embed generates badge HTML, and watch_site sets up monitoring. Descriptions explicitly disambiguate common confusions (e.g., 'list_checks' vs 'explain_check' by referencing score_site). No two tools overlap in function.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern: explain_check, get_badge_embed, list_checks, score_site, watch_site. The pattern is predictable and readable.

Tool Count5/5

Five tools are well-scoped for an agent readiness scoring service, covering assessment, explanation, listing, badge embedding, and monitoring. Each tool earns its place without redundancy.

Completeness5/5

The tool surface covers the full lifecycle: scoring a site, understanding checks, listing the rule set, sharing results via badge, and ongoing monitoring. No obvious gaps for the domain.

Available Tools

5 tools
explain_checkExplain one checkA
Read-onlyIdempotent
Inspect

Use this when the user asks what a specific Agent Readiness finding means, why it matters to AI agents or how to fix it, usually after score_site. Explains one check: what it asks, why an agent cares, how it is weighted and how to fix it, with a code snippet where one exists. Answers from the rule set only and fetches nothing.

ParametersJSON Schema
NameRequiredDescriptionDefault
checkIdYesCheck identifier, for example content-without-javascript

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
fixYes
whyYes
docsNo
titleYes
pillarNo
pointsYes
snippetNo
questionYes
conditionalYes

TDQS

A4.4/5.0
Behavior4/5

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

The annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely useful behavioral context beyond them: 'Answers from the rule set only and fetches nothing', which tells the agent the answer is static and deterministic rather than live data. It does not cover failure modes such as an unknown checkId, which keeps it from a 5.

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

Conciseness4/5

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

Two sentences with the trigger condition front-loaded and the return contents enumerated compactly. The only slack is the parenthetical-style clause 'usually after score_site', which is useful but slightly lengthens the opener.

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?

An output schema exists, so return values need no explanation in prose. Between description and schema the agent knows when to call it, what to pass, what it returns, and that the answer is rule-set-derived rather than fetched. Nothing material 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 checkId parameter already carries a concrete example ('content-without-javascript'). The description adds no further syntax, format, or lookup hints beyond what the schema provides, so the baseline 3 applies.

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 specific verb and resource ('Explains one check') and enumerates the exact content returned: what it asks, why an agent cares, weighting, and fix guidance. It is clearly distinct from list_checks (many checks) and score_site (a full run), so an agent can route without opening the schema.

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

Usage Guidelines5/5

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

Gives explicit triggering conditions ('when the user asks what a specific Agent Readiness finding means, why it matters... or how to fix it') and even names the preceding sibling call ('usually after score_site'). This is when-to-use guidance with sibling context, not just implied usage.

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

get_badge_embedGet the badge embedA
Read-onlyIdempotent
Inspect

Use this when the user wants to show a site's Agent Readiness badge on that site. Scores the site if needed, then returns the HTML snippet for sites at grade C or better (bronze, silver or gold), or the reason and the first fixes when the site is not eligible. Returns HTML to paste; it installs nothing and runs no script.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesPublic http(s) address, for example example.com

Output Schema

ParametersJSON Schema
NameRequiredDescription
hostYes
htmlNo
noteNo
tierNo
gradeYes
scoreYes
reasonNo
watchItNo
eligibleYes
fixFirstNo
badgePageNo
reportUrlNo

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive/openWorld, but the description adds real behavioral context: it may score the site first, it gates output on grade C or better, and on ineligibility returns the reason plus first fixes. The explicit 'installs nothing and runs no script' guards against a wrong mutation assumption.

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

Conciseness5/5

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

Three short sentences, front-loaded with the trigger and the eligibility rule, with no filler. The final side-effect disclaimer is brief and earns its place.

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?

Output schema exists so return values need not be spelled out, yet the description still covers the eligibility condition, the ineligible-path response, and the no-side-effect guarantee. Nothing an agent needs to invoke this correctly 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?

Single 'url' parameter with 100% schema description coverage, so the schema already carries the semantics ('Public http(s) address'). The description adds nothing parameter-specific; baseline 3 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?

States a precise verb and resource ('returns the HTML snippet' for the Agent Readiness badge) and scopes it to a site, which is clearly distinct from list_checks/score_site/watch_site. It does not explicitly name a sibling to contrast against, so it falls just short of a 5.

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?

Gives an explicit trigger: 'Use this when the user wants to show a site's Agent Readiness badge on that site.' No when-not conditions or named alternatives (e.g. when to call score_site first instead), so it lacks the routing detail of a 5.

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

list_checksList the rule setA
Read-onlyIdempotent
Inspect

Use this when the user asks what the Agent Readiness Score measures or how it is calculated, rather than how one site performs. Lists every check in the rule set with its pillar, weight and question. Fetches nothing.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
pillarsYes

TDQS

A4.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety and locality profile is fully covered. 'Fetches nothing' adds a small amount of reinforcing context about cost/latency but largely restates openWorldHint=false.

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

Conciseness5/5

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

Two sentences, zero waste: the usage trigger leads, the content listing follows, and the 'Fetches nothing' caveat closes. Nothing could be cut without losing routing information.

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?

With zero parameters and an output schema present, the description only needs to establish purpose, trigger and content shape โ€” all of which it does. No behavioral ambiguity remains for an agent to resolve.

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

Parameters4/5

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

The tool takes zero parameters and the schema is fully documented, so there is nothing for the description to disambiguate. Baseline 4 applies for a no-parameter tool.

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 specific verb and resource ('Lists every check in the rule set') and enumerates the returned fields (pillar, weight, question). It also implicitly separates itself from score_site by clarifying it is about the rule set, not site performance.

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

Usage Guidelines5/5

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

Gives an explicit trigger ('when the user asks what the Agent Readiness Score measures or how it is calculated') plus an explicit exclusion ('rather than how one site performs'), routing the agent to score_site for per-site results.

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

score_siteScore a site for agent readinessA
Read-onlyIdempotent
Inspect

Use this when the user asks whether a website is ready for AI agents, agent-ready, AI-agent friendly or WebMCP-ready, or what to fix so agents can use it. Scores one public website out of 100 for agent readiness and returns a grade, the fitness and adoption sub-scores, the five highest-value fixes, the scan time and whether the result came from cache. Reads one public page plus standard discovery files (robots.txt, /.well-known endpoints, sitemaps, llms.txt) and up to ten same-origin script bundles; it never logs in, submits forms or changes the site. Results are cached for about an hour.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesPublic http(s) address, for example example.com

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYes
axesYes
hostYes
gradeYes
scoreYes
cachedYesTrue when this request reused a report already in the server cache.
pillarsYes
excludedYes
fixFirstYes
fetchedAtYesISO 8601
reportUrlYes
methodologyYes

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already declare readOnly, idempotent, non-destructive and open-world, and the description adds substantive context beyond them: it reads the page plus robots.txt, /.well-known endpoints, sitemaps and llms.txt and up to ten same-origin bundles, explicitly never logs in, submits forms or mutates the site, and notes roughly one-hour caching. That is exactly the kind of scope and side-effect disclosure annotations cannot convey.

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

Conciseness5/5

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

Front-loaded with the trigger condition, then the output, then the access behavior and caching. Four sentences, each earning its place, with no filler or repetition of the title.

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 single-input scoring tool with an output schema and full annotation coverage, the description supplies the access footprint, mutation guarantees and cache semantics an agent needs to set expectations. Return values are additionally summarized rather than left opaque, so nothing material 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?

There is a single parameter and the schema documents it fully (100% coverage, with an example). The description only implies 'one public website' and adds no syntax or format detail beyond the schema, so the baseline 3 is appropriate for a schema that already carries the parameter semantics.

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 specific verb+resource ('Scores one public website out of 100 for agent readiness') with the exact deliverable (grade, sub-scores, top five fixes, scan time, cache flag). It is easily distinguished from siblings like explain_check, list_checks and watch_site because it describes a one-shot scoring action rather than an explanation, listing, or monitoring subscription.

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?

Provides explicit trigger phrasing ('Use this when the user asks whether a website is ready for AI agents... or what to fix'), which covers the main invocation context well. It does not, however, tell the agent when to prefer watch_site (ongoing monitoring) or explain_check (explaining a specific finding) over a fresh score, so the routing against siblings is incomplete.

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

watch_siteWatch a site's scoreAInspect

Use this only when the user explicitly asks to be emailed when a site's Agent Readiness Score changes. Sends a confirmation email for monitoring that site. Use only when the user explicitly asks to receive a confirmation email for monitoring at the supplied address. Set sendConfirmationEmail to true only then. Monitoring starts only after the recipient opens the link and confirms on the page; this call itself sends one email.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesPublic http(s) address or bare host, for example example.com
emailYesAddress that will receive the confirmation and the alerts
sendConfirmationEmailYesTrue only after the user explicitly requests a monitoring confirmation email.

Output Schema

ParametersJSON Schema
NameRequiredDescription
hostYes
emailYes
statusYes
messageYes

TDQS

A4.4/5.0
Behavior5/5

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

Annotations only say readOnlyHint=false and not idempotent; the description goes much further, disclosing that a confirmation email is sent, that monitoring does not begin until the recipient opens the link and confirms on the page, and that this call itself sends exactly one email. That is exactly the side-effect context an agent needs for a non-read-only, open-world tool.

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?

The core guidance is front-loaded, but the two 'use this only when' sentences are near-duplicates of each other, repeating the explicit-user-request condition twice. Roughly a third of the text is redundant, which dilutes rather than clarifies.

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?

With an output schema present and annotations covering the safety profile, the description supplies the remaining missing piece: the two-step confirmation flow and the fact that monitoring is not active after this call. Nothing an agent needs to invoke it correctly is absent.

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

Parameters4/5

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

Schema coverage is 100%, so parameters are already documented; the description still adds value by tying sendConfirmationEmail=true to a specific user request rather than merely restating the const constraint. It reinforces the semantics but does not add format or range detail beyond the schema.

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 states a specific verb and resource ('Watch a site's score', email when the Agent Readiness Score changes) and explains the mechanism (confirmation email, monitoring starts after link confirmation). It distinguishes itself from scoring/listing siblings implicitly through the monitoring framing, though it never names an alternative tool.

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

Usage Guidelines5/5

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

Explicit gating is provided: use only when the user explicitly asks to be emailed on score changes, and only when they ask for a confirmation email at the supplied address. The condition for setting sendConfirmationEmail to true is stated outright, leaving nothing to inference.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updates
    • Changedscore_site2 fields changed
      • addedOutput schema / properties / cached
        Added value: +{
        +  "description": "True when this request reused a report already in the server cache.",
        +  "type": "boolean"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "host",
        -  "url",
        -  "score",
        -  "grade",
        -  "fetchedAt",
        -  "axes",
        -  "pillars",
        -  "fixFirst",
        -  "excluded",
        -  "reportUrl",
        -  "methodology"
        -]New value: +[
        +  "host",
        +  "url",
        +  "score",
        +  "grade",
        +  "fetchedAt",
        +  "cached",
        +  "axes",
        +  "pillars",
        +  "fixFirst",
        +  "excluded",
        +  "reportUrl",
        +  "methodology"
        +]
    • Changedwatch_site2 fields changed
      • addedInput schema / properties / sendConfirmationEmail
        Added value: +{
        +  "const": true,
        +  "description": "True only after the user explicitly requests a monitoring confirmation email.",
        +  "type": "boolean"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "url",
        -  "email"
        -]New value: +[
        +  "url",
        +  "email",
        +  "sendConfirmationEmail"
        +]
  2. 1 tool update
    • Removedget_agent_stats
  3. 1 tool update
    • Changedget_agent_stats3 fields changed
      • addedOutput schema / properties / agents / items / properties / bursts
        Added value: +{
        +  "type": "integer"
        +}
      • addedOutput schema / properties / agents / items / properties / unverified
        Added value: +{
        +  "description": "Lines claiming this agent from outside its vendor's published ranges; not counted",
        +  "type": "integer"
        +}
      • addedOutput schema / properties / agents / items / properties / verifiable
        Added value: +{
        +  "type": "boolean"
        +}
  4. 1 tool update
    • Changedget_agent_stats2 fields changed
      • addedOutput schema / properties / bursts
        Added value: +{
        +  "description": "Recent fetch bursts: one agent fetching several pages within seconds, the footprint of a query fan-out",
        +  "items": {
        +    "properties": {
        +      "agent": {
        +        "type": "string"
        +      },
        +      "at": {
        +        "type": "string"
        +      },
        +      "ms": {
        +        "type": "integer"
        +      },
        +      "paths": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      }
        +    },
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / fetchesFromLogSince
        Added value: +{
        +  "description": "When set, fetch counts come from the site's server log from this date on",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
  5. 1 tool update
    • Addedget_agent_stats
  6. 5 tool updates
    • First observedexplain_check
    • First observedget_badge_embed
    • First observedlist_checks
    • First observedscore_site
    • First observedwatch_site

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Scans a website to score its compatibility and safety for AI agents, and exposes an audit tool via the Model Context Protocol.
    226 npm
    1
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Scans websites to evaluate agent-readiness and produce an ASO Score Report across 34 signals, helping improve discoverability, trust, and interoperability for AI agents.
    5
    440 npm
    1
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Check whether a website is visible to AI search engines (ChatGPT, Perplexity, Claude, Google AI Overviews). Returns a 0-100 readiness score, a grade, and a specific fix for each gap. Dependency-free, no API keys.
    2
    1 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources