Skip to main content
Glama

Server Details

Audit any website for AI visibility: graded report, findings with fixes, AI crawler access check.

Ownership verified
Status
Healthy
Uptime
7.0% over 42 days
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.6/5.0

Scored across 5 tools

Disambiguation4/5

audit_site, get_audit, and list_audits form a clear async run/poll/list pattern, and usage is distinct. crawler_check overlaps conceptually with part of audit_site (AI crawler access), but its description clarifies it's a fast, non-audit subset check, keeping confusion limited.

Naming Consistency3/5

audit_site, get_audit, and list_audits follow a verb_noun pattern, but crawler_check inverts to noun_verb and usage is a bare noun. Readable and semi-predictable, but not a single consistent convention.

Tool Count5/5

Five tools is well-scoped for an audit service: one to run, one to poll, one to list, one quick check, and one account/usage tool. Each earns its place with no redundancy.

Completeness4/5

The async lifecycle (run, poll/retrieve, list) plus a lightweight pre-check and usage accounting covers the core domain well. Minor gaps like deleting or comparing historical audits exist but aren't blocking.

Available Tools

5 tools
audit_siteAudit a website for AI visibilityAInspect

Runs SeeGeo's full audit of a domain — crawler access for 16 AI bots, technical basics, structured data, content extractability, off-site presence, entity clarity — and returns the grade (A–F), category scores and the findings with fixes. Takes 20–40 seconds; waits by default. If the wait runs out the result says so — call get_audit with the id. Re-auditing the same domain within ten minutes returns the earlier result.

ParametersJSON Schema
NameRequiredDescriptionDefault
waitNoWait for the audit to finish (default). If false, returns the id to poll with get_audit.
domainYesA public hostname or URL, e.g. example.com or https://www.example.com/pricing (the host is used).
timeoutSecondsNoHow long to wait before returning the in-progress audit (default 50, inside most clients' 60-second tool timeout; raise it if your client allows longer calls). If it runs out, call get_audit with the returned id.

TDQS

A4.7/5.0
Behavior5/5

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

Goes well beyond the annotations by disclosing latency (20–40s), default waiting behavior, the id-passing fallback when the wait expires, and the ten-minute result-caching rule — all operationally important facts an agent must know before invoking. The caching note is consistent with idempotentHint=false (a returned cached result is still not a guaranteed side-effect-free repeat) and contradicts nothing.

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 tight sentences, front-loaded with what the audit covers and returns, then timing and the polling fallback. Every clause carries distinct information; no filler.

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 no output schema, the description carries the return contract and does so adequately: grade, category scores, findings with fixes, plus the partial-result path via get_audit. Nothing an agent needs to call this tool correctly appears missing.

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 description coverage is 100%, so the baseline is 3; the description adds meaning by clarifying that waiting is the default and that timeout expiry produces an id to pass to get_audit, which mirrors and reinforces the wait/timeoutSeconds semantics rather than merely restating them.

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 ('runs SeeGeo's full audit of a domain') and enumerates the audited dimensions (crawler access for 16 AI bots, structured data, content extractability, etc.), then names the return artifact (grade A–F, category scores, findings with fixes). This clearly distinguishes it from crawler_check, get_audit, and list_audits.

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?

Explicitly routes the agent to get_audit when the wait times out and discloses the 10-minute re-audit cache behavior that selects against redundant calls. It does not explicitly contrast itself with crawler_check, so the alternative-selection guidance is strong but not exhaustive.

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

crawler_checkWhich AI crawlers can read this domain?A
Read-only
Inspect

Reads robots.txt for each AI crawler (GPTBot, ClaudeBot, PerplexityBot, Google-Extended…) and fetches the homepage as GPTBot, OAI-SearchBot, ClaudeBot and PerplexityBot to see whether a bot wall blocks them. A few seconds; does not count as an audit.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesA public hostname or URL, e.g. example.com or https://www.example.com/pricing (the host is used).

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint, openWorldHint), and the description adds real behavioral detail: the exact crawlers checked, that it fetches the homepage impersonating four specific bots, and the runtime ('a few seconds'). It still doesn't say what happens on unreachable hosts or errors, so it falls short of 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.

Conciseness5/5

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

Two tight sentences, front-loaded with what is inspected and what is fetched, ending with the scoping caveat. Every clause earns its place with no filler.

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 single-parameter, read-only probe with no output schema, the description conveys the outcome it produces ('whether a bot wall blocks them') and the cost of calling it. The precise shape of the returned result is left unspecified, which is the only notable gap.

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 'domain' parameter is fully documented in the schema, including that only the host is used. The description adds no parsing or format guidance beyond that, so the baseline 3 is appropriate.

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 concrete verbs (reads robots.txt, fetches the homepage as named user agents) and the exact resource (AI crawler access for a domain). The closing 'does not count as an audit' implicitly separates it from the sibling audit_site, so an agent can tell the two apart.

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?

Explains the scenario clearly: a quick per-crawler access check that is explicitly not an audit, which tells the agent when to prefer this over audit_site. It stops short of naming the alternative tool or stating a hard when-not condition, so it is clear context without full routing guidance.

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

get_auditRead an audit by idA
Read-only
Inspect

Returns an audit's status while it runs, or its grade, category scores and findings when done. Set includeReport to get the full report object with evidence.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe audit id from audit_site or list_audits.
maxFindingsNo
includeReportNoInclude the full report JSON (large) in structuredContent.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered, but the description adds meaningful behavior: the returned payload differs depending on whether the audit is still running or finished, and includeReport pulls a large report into structuredContent. It stops short of disclosing failure modes (e.g., unknown id) or polling expectations.

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 filler, and the primary return contract is front-loaded before the optional-report hint. Every clause earns its place.

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?

With no output schema and a mutation-free read tool, the description carries the return-value burden well by describing both the in-progress and completed response shapes. The gap is maxFindings, whose paging/truncation semantics are explained nowhere.

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 67%: id and includeReport carry schema descriptions, while maxFindings is undocumented in both schema and description. The description reinforces includeReport's effect ('full report object with evidence'), which is slightly beyond the schema's wording, but adds nothing for maxFindings or id.

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 specific verb and resource ('Returns an audit's status... or its grade, category scores and findings') and describes the output shape by run state, which clearly separates it from write tools like audit_site. It does not explicitly name a sibling such as list_audits, so differentiation is implicit via 'by id' rather than stated.

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?

The only usage guidance is conditional and parameter-scoped: 'Set includeReport to get the full report object with evidence.' There is no statement of when to prefer this over list_audits or audit_site, and no prerequisite or rate/auth context, so usage is implied rather than explicit.

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

list_auditsList recent auditsB
Read-only
Inspect

The account's most recent audits with domain, status, grade and id.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds the useful disclosure of what fields are returned (domain, status, grade, id), but says nothing about ordering guarantees beyond 'most recent', the default count of 10, or that results are capped.

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?

One short, front-loaded sentence with no filler, which is appropriate for a simple list tool. It is efficient, though it spends its words on return fields while omitting the only parameter.

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

Completeness3/5

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

With no output schema, naming the returned fields is genuinely helpful. However, for a tool whose sole parameter controls result count and whose default and maximum are invisible in the schema, the description leaves the agent unable to reason about result volume.

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

Parameters2/5

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

The single limit parameter has 0% schema description coverage, so the description carries the full burden and it fails: limit, its default of 10, and its 1-100 range are never mentioned. 'Most recent' only loosely implies the recency ordering that limit interacts with.

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 names the specific resource (the account's audits) and its scope (most recent), and lists the fields returned, so an agent knows what it gets. The listing verb is only implied by the tool name/title rather than stated, but the resource is unambiguous.

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

Usage Guidelines2/5

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

There is no guidance on when to use this versus get_audit or audit_site, despite get_audit being an obvious near-sibling for fetching a single audit. Nothing indicates that this is the browse/list entry point and get_audit is the fetch-by-id path.

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

usagePlan and API usageA
Read-only
Inspect

The key's plan, API audits used this month and the monthly allowance.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered by structured data. The description adds useful content context by enumerating the returned fields (plan, audits used, allowance), but says nothing about auth requirements, rate limits, or freshness of the usage counters.

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?

A single compact sentence with zero filler, and the most important content (the key's plan and usage) is front-loaded. Nothing could be removed without losing information.

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 parameterless, read-only lookup with no output schema, the description adequately enumerates the returned fields so the agent knows what to expect. It stops short of noting whether usage is live or cached, which is a minor omission given the tool's simplicity.

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, which is the baseline-4 case; there is nothing for the description to disambiguate. The schema coverage is 100% and empty, so no compensating text is required.

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 names the specific resource and its contents — the key's plan, API audits used this month, and the monthly allowance — so an agent knows exactly what data comes back. It is a noun phrase rather than a verb+resource, and it does not explicitly differentiate itself from audit-oriented siblings like list_audits or get_audit, but the scope is unambiguous.

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

Usage Guidelines2/5

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

There is no statement of when to call this tool versus the audit siblings, nor any prerequisite or trigger condition. An agent must infer from the name alone that this is a quota/plan lookup rather than an audit listing.

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. 5 tool updates
    • First observedaudit_site
    • First observedcrawler_check
    • First observedget_audit
    • First observedlist_audits
    • First observedusage

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Evaluates any website's AI visibility with 15 checks across crawlability, structure, content, and connectivity, and provides actionable fixes.
    1 npm
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Runs AI visibility (GEO/AEO) audits on websites, checking AI crawler access, schema markup, llms.txt, and content signals, with optional full PDF report.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources