SitePulsar AEO audits: fetch FIND/READ/USE agent-readiness scores for any website.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Fast synchronous AEO / agent-readiness read of a single URL: robots and bot access, structured data (schema), and content structure. Returns immediate signals without running a full audit. Use this to triage a page or sanity-check before deciding whether the heavier run_audit is worth a credit.
Absolute URL to audit.
Fast synchronous AEO / agent-readiness read of a single URL: robots and bot access, structured data (schema), and content structure. Returns immediate signals without running a full audit. Use this to triage a page or sanity-check before deciding whether the heavier run_audit is worth a credit.
| Argument | Type | Description |
|---|---|---|
| url* | string | Absolute URL to audit. |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "Absolute URL to audit."
}
},
"additionalProperties": false
}Compare AEO posture across multiple URLs (e.g. a brand versus its competitors) on the same FIND/READ/USE pillar scale. Async: returns an audit_id to poll with get_audit. Spends credits only for freshly-audited URLs; recent audits are reused uncharged.
| Argument | Type | Description |
|---|---|---|
| urls* | array | Absolute URLs to compare. |
{
"type": "object",
"required": [
"urls"
],
"properties": {
"urls": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 2,
"description": "Absolute URLs to compare."
}
},
"additionalProperties": false
}Fetch an audit's status and, when complete, a compact decision-ready SUMMARY: AEO score (overall + FIND/READ/USE), a short summary, the weakest pillar, headline takeaways, and the top fixes. Lead with this; call get_audit_detail only when you need the full per-section breakdown.
| Argument | Type | Description |
|---|---|---|
| audit_id* | string | The audit_id returned by run_audit / compare_aeo (poll until status is completed). |
{
"type": "object",
"required": [
"audit_id"
],
"properties": {
"audit_id": {
"type": "string",
"description": "The audit_id returned by run_audit / compare_aeo (poll until status is completed)."
}
},
"additionalProperties": false
}Full structured per-section breakdown of a completed audit, on demand (only call after get_audit when you need depth): per-dimension FIND/READ/USE sub-scores, reputation across AI engines, competitor cluster (named for paid tiers), crawl/schema/robots findings, agentic-readiness + USE functional probes, and rendered-DOM analysis (paid). Typed, sanitized, size-capped (see truncated/dropped_sections). Composite *_score fields listed in experimental_fields may change methodology — do not hardcode thresholds. Also surfaces author/E-E-A-T, content freshness, images, hreflang, per-page per-bot access, Schema.org Action microformats, OpenAPI sub-metrics, Google Intelligence, product readability, site maturity, and a methodology block — each tagged with an availability state in the `availability` map (present | not_detected | not_run_free_tier | phase_c_disabled | probe_failed | truncated | not_measured_legacy). Wave C adds deterministic signals: homepage content quality (named quotes, stats-with-source, answer-shape) under crawl.content_signals; per-page video + per-locale schema in page_signals; OpenAPI per-operation coverage %, OAuth scopes, and MCP tool annotations in agentic_detail.use_probes; and self-disclosed trust claims (certifications, SLA/uptime, AI-content disclosure, verifiable-claims) under agentic_detail.trust_claims — each labeled "disclosed"/"mentioned" (never "verified") with an evidence URL and extraction-confidence. All carry an availability state in the `availability` map.
| Argument | Type | Description |
|---|---|---|
| audit_id* | string | The audit_id returned by run_audit / compare_aeo (poll until status is completed). |
{
"type": "object",
"required": [
"audit_id"
],
"properties": {
"audit_id": {
"type": "string",
"description": "The audit_id returned by run_audit / compare_aeo (poll until status is completed)."
}
},
"additionalProperties": false
}One call that returns a completed audit's SUMMARY, full per-section DETAIL, and deduplicated prioritized FIXES together — so you don't have to chain get_audit → get_audit_detail → get_fixes. Use `expand` to trim the payload ('summary' | 'detail' | 'fixes' | 'all'; default 'all'). Same ownership, tier gating, and sanitization as those tools. For an in-progress audit it returns the status so you can keep polling. The detail layer includes Wave-B surfaced sections (author/E-E-A-T, freshness, images, hreflang, per-bot access, Action microformats, OpenAPI sub-metrics, Google Intelligence, product readability, site maturity, methodology) and Wave-C deterministic signals (content quality, video/locale, USE sub-metrics, trust claims) each with an availability state.
| Argument | Type | Description |
|---|---|---|
| expand | string | Which sections to include; default 'all'. |
| audit_id* | string | The audit_id returned by run_audit / compare_aeo (poll until status is completed). |
{
"type": "object",
"required": [
"audit_id"
],
"properties": {
"expand": {
"enum": [
"summary",
"detail",
"fixes",
"all"
],
"type": "string",
"description": "Which sections to include; default 'all'."
},
"audit_id": {
"type": "string",
"description": "The audit_id returned by run_audit / compare_aeo (poll until status is completed)."
}
},
"additionalProperties": false
}Return the prioritized, pillar-tagged (FIND / READ / USE) action plan for a completed audit, deduplicated across sources, with machine-actionable implementation steps included on fixes where available. Use this when you want the to-do list to act on (or hand to a coding agent), rather than the scores or section detail.
| Argument | Type | Description |
|---|---|---|
| audit_id* | string | The audit_id returned by run_audit / compare_aeo (poll until status is completed). |
{
"type": "object",
"required": [
"audit_id"
],
"properties": {
"audit_id": {
"type": "string",
"description": "The audit_id returned by run_audit / compare_aeo (poll until status is completed)."
}
},
"additionalProperties": false
}Checks selected registries (official MCP registry, PyPI, GitHub) for packages/servers tied to a domain or brand. A discovery-surface check (can agents find your published tooling?), not a visibility check. Use when you want to know whether a brand has discoverable agent/developer artifacts listed where agents look for them. Result: { state, score, tier, hits[], tool_schema_version }.
| Argument | Type | Description |
|---|---|---|
| url* | string | Absolute https URL of the target (any public domain). |
| brand | string | Optional brand/company name; inferred from the domain when absent. |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "Absolute https URL of the target (any public domain)."
},
"brand": {
"type": "string",
"description": "Optional brand/company name; inferred from the domain when absent."
}
},
"additionalProperties": false
}Discovers a site's advertised MCP endpoint (mcp.json / .well-known) and inspects its *declared* OAuth/transport posture (advertised, not guaranteed-working — it does not run a full live handshake). Use when checking whether a site exposes a connectable MCP server and what it claims to support. Result: { handshake_ok, declared_endpoint, declared_tool_names[], score, tool_schema_version }.
| Argument | Type | Description |
|---|---|---|
| url* | string | Absolute https URL of the target (any public domain). |
| brand | string | Optional brand/company name; inferred from the domain when absent. |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "Absolute https URL of the target (any public domain)."
},
"brand": {
"type": "string",
"description": "Optional brand/company name; inferred from the domain when absent."
}
},
"additionalProperties": false
}Inspects /.well-known/ucp to report whether AI shopping agents can transact with the site (presence + advertised capabilities only — never a live purchase). Use when evaluating an e-commerce or merchant site for agentic-commerce readiness. Result: { has_ucp_profile, capabilities[], score, tool_schema_version }.
| Argument | Type | Description |
|---|---|---|
| url* | string | Absolute https URL of the target (any public domain). |
| brand | string | Optional brand/company name; inferred from the domain when absent. |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "Absolute https URL of the target (any public domain)."
},
"brand": {
"type": "string",
"description": "Optional brand/company name; inferred from the domain when absent."
}
},
"additionalProperties": false
}Run a full AEO audit of a URL covering FIND, READ, and USE. Async: returns an audit_id to poll with get_audit. Accepts an optional target_keyword. Spends one audit credit per fresh run; a same-URL re-run within 24h reuses the cached audit, uncharged.
| Argument | Type | Description |
|---|---|---|
| url* | string | Absolute URL to audit. |
| target_keyword | string | Optional keyword to evaluate against; inferred when absent. |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "Absolute URL to audit."
},
"target_keyword": {
"type": "string",
"description": "Optional keyword to evaluate against; inferred when absent."
}
},
"additionalProperties": false
}Deterministically scores one product page (schema, price, availability, image) 0–100 for shopping-agent readability — no LLM, fully repeatable. Use when you want a precise, single-page readability score for a specific product URL rather than a whole-site audit. Available on Pro+ plans. Result: { result: { readability_score, ... }, tool_schema_version }.
| Argument | Type | Description |
|---|---|---|
| url* | string | Absolute https URL of the target (any public domain). |
| brand | string | Optional brand/company name; inferred from the domain when absent. |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "Absolute https URL of the target (any public domain)."
},
"brand": {
"type": "string",
"description": "Optional brand/company name; inferred from the domain when absent."
}
},
"additionalProperties": false
}Live AI-visibility scan for a brand: crawl + reputation sampled across AI engines, returning where *that* brand is mentioned (any public brand, not just your own). Use when you want to know whether and how a named brand already surfaces in AI answers — complementary to search_companies, which finds who agents recommend for a category. Pro+ (LLM cost). Result: { reputation[], tool_schema_version }.
| Argument | Type | Description |
|---|---|---|
| url* | string | Absolute https URL of the target (any public domain). |
| brand | string | Optional brand/company name; inferred from the domain when absent. |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "Absolute https URL of the target (any public domain)."
},
"brand": {
"type": "string",
"description": "Optional brand/company name; inferred from the domain when absent."
}
},
"additionalProperties": false
}Samples the major AI engines for which companies they name for a query (e.g. "best CRM for startups"); returns a consensus shortlist (≤5). Use when you want to know who agents *recommend* for a category — not where a specific brand is mentioned (use scan_visibility for that). Free, no URL needed. Result: { companies[], tool_schema_version }.
| Argument | Type | Description |
|---|---|---|
| query* | string | Natural-language search query (3–200 chars). |
{
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"description": "Natural-language search query (3–200 chars)."
}
},
"additionalProperties": false
}