Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

ai.sitepulsar/mcp

REMOTE · MCP.SITEPULSAR.AI · SCANNED AUG 3

SitePulsar AEO audits: fetch FIND/READ/USE agent-readiness scores for any website.

+10 this week 83 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →

Endpoint Security97
Transport & Reachability100
Schema Quality & AI Usability74
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 1849 tokens (~142/item across 13 items; 13 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
  • Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

remote · mcp.sitepulsar.ai

# add to Claude Code
claude mcp add --transport http ai-sitepulsar-mcp https://mcp.sitepulsar.ai/mcp
# ~/.codex/config.toml
[mcp_servers.ai-sitepulsar-mcp]
url = "https://mcp.sitepulsar.ai/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "ai-sitepulsar-mcp": {
      "type": "remote",
      "url": "https://mcp.sitepulsar.ai/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add ai-sitepulsar-mcp --url https://mcp.sitepulsar.ai/mcp --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  ai-sitepulsar-mcp:
    url: "https://mcp.sitepulsar.ai/mcp"
// mcp.json
{
  "mcpServers": {
    "ai-sitepulsar-mcp": {
      "type": "http",
      "url": "https://mcp.sitepulsar.ai/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 3 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

  • 1 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

  • 31 Jul 26 +6
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 29 Jul 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

  • 28 Jul 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

  • 27 Jul 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 26 Jul 26 73

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Probed https://mcp.sitepulsar.ai/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=mcp.sitepulsar.ai CN=YR1,O=Let's Encrypt,C=US 9 Jun 2026 7 Sept 2026 RSA 2048 SHA256-RSA 599db8c273fbe49cb151f09ce503ecc79ee
SANs: mcp.sitepulsar.ai
CN=YR1,O=Let's Encrypt,C=US (CA) CN=Root YR,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 RSA 2048 SHA256-RSA a20253f15f2691c05dc1ce13b9bcca4e
CN=Root YR,O=ISRG,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 RSA 4096 SHA256-RSA f24b6d17f9d9ad7cb1c9fea78782699f
DNSSEC insecure

Validation of mcp.sitepulsar.ai. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
ai. present 3799 8 Verified
sitepulsar.ai. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication Enforced and verified

The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.

Result Enforced and verified
Enforced On tool calls
HTTP status 200

WWW-Authenticate challenge Bearer resource_metadata="https://mcp.sitepulsar.ai/.well-known/oauth-protected-resource"

Bearer resource_metadata="https://mcp.sitepulsar.ai/.well-known/oauth-protected-resource"
Header Value
strict-transport-security max-age=63072000

Protected resource metadata

Document https://mcp.sitepulsar.ai/.well-known/oauth-protected-resource
Retrieved Yes
Resource https://mcp.sitepulsar.ai
Authorisation server https://caring-joy-62.authkit.app
Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://mcp.sitepulsar.ai/mcp Verified 200
http (plaintext) http://mcp.sitepulsar.ai/mcp HTTPS enforced 308 https://mcp.sitepulsar.ai/mcp
MCP tools — 13 exposed · ~1,771 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
check_agent_readiness ~81

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.

NameTypeReqDescription
urlstringyesAbsolute URL to audit.
NameTypeReqDescription
aeo_estimateobjectyes
cachedbooleanWhether this estimate was served from cache.
categoriesobject|nullPer-category static check items ({id,label,passed}); page-controlled value/tip fields are stripped.
find_lowbooleanTrue when FIND discovery signals are weak (≤25).
is_estimatebooleanyesAlways true — this is a heuristic estimate, not a full LLM-scored audit.
suggested_next_callsarrayAdvisory next-tool-call pointers (suggested_next_calls). Score-neutral agent UX.
urlstringyesThe validated URL that was checked.

No examples provided.

compare_aeo ~80

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.

NameTypeReqDescription
urlsarrayyesAbsolute URLs to compare.
NameTypeReqDescription
audit_idstringyesThe first child audit id (poll each child with get_audit).
child_audit_idsarrayyesAll child audit ids, in input order.
eta_msnumberEstimated time to completion in ms (0 when all cached).
reused_audit_idsarrayChild ids served from cache (not charged).
statusstringyes'complete' if all reused, else 'queued'.
suggested_next_callsarrayAdvisory next-tool-call pointers (suggested_next_calls). Score-neutral agent UX.

No examples provided.

get_audit ~100

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.

NameTypeReqDescription
audit_idstringyesThe audit_id returned by run_audit / compare_aeo (poll until status is completed).
NameTypeReqDescription
aeo_scoreobject
audit_idstringyesThe audit id.
headline_takeawaysarrayUp to 3 headline takeaways.
schema_versionnumberSummary contract version.
statusstringyesAudit status (e.g. queued/running/complete/failed).
suggested_next_callsarrayAdvisory next-tool-call pointers (suggested_next_calls). Score-neutral agent UX.
summarystringShort natural-language summary (capped at a word boundary).
summary_truncatedbooleanTrue when the summary was clipped to the cap (ends with an ellipsis).
top_fixesarrayTop 3 prioritized fixes (lean shape).
weakest_pillarstring|nullFIND | READ | USE | null (no clear weakest).

No examples provided.

get_audit_detail ~359

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.

NameTypeReqDescription
audit_idstringyesThe audit_id returned by run_audit / compare_aeo (poll until status is completed).
NameTypeReqDescription
agent_discoveryobject|nullOff-site FIND distribution sub-score (state/tier/score/headline).
agent_identityobject|nullREAD-pillar verifiable agent identity (DID/VC).
agentic_detailobject|nullAgentic readiness: structured_data, trust, mcp_readiness, agent_card, use_probes, trust_claims.
ap2_readinessobject|nullUSE-pillar AP2 mandate readiness.
audit_idstringyesThe audit id.
availabilityobjectPer-section availability state map (present | not_detected | not_run_free_tier | ...).
competitorsobject|nullCompetitor cluster (named on paid tiers; coarse bucket otherwise).
crawlobject|nullCrawl/schema/robots/semantic-HTML findings + content_signals.
deep_signalsobject|nullPer-bot access + schema Action microformats (paid).
dimension_scoresobject|nullPer-pillar (find/read/use) sub-dimension score maps.
dropped_sectionsarrayNames of sections shed for size.
experimental_fieldsarrayComposite *_score paths whose methodology may change without a schema bump.
find_comparablenumber|nullCross-run-stable FIND from legacy-5 sub-scores.
google_intelligenceobject|nullKnowledge graph + places + review platforms (paid).
methodologyobjectScoring version, pillar weights, and methodology notes.
page_signalsobject|nullPer-page rollups: author/E-E-A-T, freshness, images, hreflang, video, locale schema.
pillar_scoresobjectyes
product_readabilityobject|nullProduct-page readability score + coverage + top issues.
rendered_domobject|nullRendered-DOM analysis (paid tier only).
reputationobject|nullAI-engine reputation rollup (providers_queried, mentioned_count, per_provider[]).
schema_versionnumberyesDetail contract version.
site_maturitystring|nullearly_stage | growing | established | null.
statusstringyesAudit status.
tool_description_qualityobjectLLM-judged MCP tool-description quality (OMITTED unless state 'judged').
truncatedbooleanTrue if any sections were shed to fit the byte cap.
ucp_readinessobject|nullUSE-pillar UCP agentic-commerce profile readiness.
urlstringAudited URL.
webmcp_readinessobject|nullUSE-pillar declarative WebMCP tool readiness.

No examples provided.

get_audit_full ~227

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.

NameTypeReqDescription
audit_idstringyesThe audit_id returned by run_audit / compare_aeo (poll until status is completed).
expandstringWhich sections to include; default 'all'.
NameTypeReqDescription
audit_idstringyesThe audit id.
detailobjectFull per-section detail (present unless trimmed by expand).
expandstringWhich sections were included ('summary' | 'detail' | 'fixes' | 'all').
fixesarrayCanonical fix list (present unless trimmed by expand).
schema_versionnumberCombined-envelope contract version.
statusstringAudit status (present when still polling).
suggested_next_callsarrayAdvisory next-tool-call pointers (suggested_next_calls). Score-neutral agent UX.
summaryobjectLean summary (present unless trimmed by expand).

No examples provided.

get_fixes ~104

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.

NameTypeReqDescription
audit_idstringyesThe audit_id returned by run_audit / compare_aeo (poll until status is completed).
NameTypeReqDescription
audit_idstringyesThe audit id.
fixesarrayyesCanonical (deduped + impact-sorted) fix list.

No examples provided.

probe_agent_discovery ~128

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 }.

NameTypeReqDescription
brandstringOptional brand/company name; inferred from the domain when absent.
urlstringyesAbsolute https URL of the target (any public domain).
NameTypeReqDescription
attributed_identifierstring|nullOwned registry identifier, if found.
hitsarrayUp to 6 matching discovery-surface hits.
scorenumberyesDiscovery sub-score 0–100.
statestringyesProbe state (present | not_detected | probe_failed).
tierstringyesDiscovery tier (registered | code_proxy_mcp | none).
tool_schema_versionnumberyesResult-shape version.

No examples provided.

probe_mcp_functional ~130

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 }.

NameTypeReqDescription
brandstringOptional brand/company name; inferred from the domain when absent.
urlstringyesAbsolute https URL of the target (any public domain).
NameTypeReqDescription
attempted_endpointstring|nullEndpoint URL the probe attempted.
declared_endpointstring|nullEndpoint URL declared in the manifest.
declared_tool_namesarrayyesManifest-declared tool names (≤20, validated).
handshake_okbooleanyesWhether a live handshake completed.
reachability_statestringyespresent | not_detected | probe_failed.
scorenumberyesMCP functional posture score 0–100.
tool_schema_versionnumberyesResult-shape version.
tools_listednumberyesCount of tools the endpoint listed (≥0).

No examples provided.

probe_ucp_readiness ~109

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 }.

NameTypeReqDescription
brandstringOptional brand/company name; inferred from the domain when absent.
urlstringyesAbsolute https URL of the target (any public domain).
NameTypeReqDescription
capabilitiesarrayDeclared UCP capability ids (≤30).
has_ucp_profilebooleanyesWhether a UCP commerce profile was found.
reachabilityobjectyesReachability of the UCP profile ({ state, ... }).
scorenumberyesKnown-capability coverage indicator 0–100.
tool_schema_versionnumberyesResult-shape version.

No examples provided.

run_audit ~102

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.

NameTypeReqDescription
target_keywordstringOptional keyword to evaluate against; inferred when absent.
urlstringyesAbsolute URL to audit.
NameTypeReqDescription
audit_idstringyesThe audit id to poll with get_audit.
cachedbooleanWhether an existing recent audit was reused (uncharged).
eta_msnumberEstimated time to completion in ms (0 when cached).
served_from_cachebooleanPresent + true on a cache hit.
statusstringyes'queued' for a fresh run, 'complete' for a cache hit.
suggested_next_callsarrayAdvisory next-tool-call pointers (suggested_next_calls). Score-neutral agent UX.

No examples provided.

scan_product_page ~122

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 }.

NameTypeReqDescription
brandstringOptional brand/company name; inferred from the domain when absent.
urlstringyesAbsolute https URL of the target (any public domain).
NameTypeReqDescription
resultobjectyes
tool_schema_versionnumberyesResult-shape version.

No examples provided.

scan_visibility ~128

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 }.

NameTypeReqDescription
brandstringOptional brand/company name; inferred from the domain when absent.
urlstringyesAbsolute https URL of the target (any public domain).
NameTypeReqDescription
reputationarrayyesPer-engine reputation entries (≤10) for the brand.
tool_schema_versionnumberyesResult-shape version.

No examples provided.

search_companies ~101

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 }.

NameTypeReqDescription
querystringyesNatural-language search query (3–200 chars).
NameTypeReqDescription
companiesarrayyesConsensus shortlist (≤5) of companies AI engines name for the query.
tool_schema_versionnumberyesResult-shape version.

No examples provided.