ai. sitepulsar/ mcp
by sitepulsar.ai · remote · no sign-in to list tools · v1.0.1 · published by ai.sitepulsar
SitePulsar AEO audits: fetch FIND/READ/USE agent-readiness scores for any website.
13 tools: 7 change things and 6 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things7Claude Code: ask: see these tools
- Only reads6Claude Code: allow: see these tools
2 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http sitepulsar https://mcp.sitepulsar.ai/mcpFindings
Matches of fixed checks, with the text they matched.
The description refers to "mcp.json".
What this check looks forMatched text
description: "...overs a site's advertised MCP endpoint (mcp.json / .well-known) and inspects its *declar..."
- Warncompare_aeo
The server marks "compare_aeo" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "compare_aeo" says "compare": a word for reading.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
13 tools
Changes things 7Claude Code: ask
check_agent_readinessFast synchronous AEO / agent-readiness read of a single URL: robots and bot access, structured data (schema), and content structure.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote 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.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: true
compare_aeoCompare AEO posture across multiple URLs (e.g.1 finding
Why it is in this group
- The name "compare_aeo" says "compare": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
Findings
- Warn
The server marks "compare_aeo" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "compare_aeo" says "compare": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
probe_agent_discoveryChecks selected registries (official MCP registry, PyPI, GitHub) for packages/servers tied to a domain or brand.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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 }.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: true
probe_mcp_functionalDiscovers 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…1 finding
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- High
The description refers to "mcp.json".
What this check looks forMatched text
description: "...overs a site's advertised MCP endpoint (mcp.json / .well-known) and inspects its *declar..."
Description, as the server wrote it 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 }.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: true
run_auditRun a full AEO audit of a URL covering FIND, READ, and USE.No findings
Why it is in this group
- The name "run_audit" says "run": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
scan_product_pageDeterministically scores one product page (schema, price, availability, image) 0–100 for shopping-agent readability — no LLM, fully repeatable.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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 }.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: true
scan_visibilityLive 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).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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 }.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: true
Only reads 6Claude Code: allow
get_auditFetch 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 …No findings
Why it is in this group
- The name "get_audit" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: true
get_audit_detailFull 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 …No findings
Why it is in this group
- The name "get_audit_detail" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: true
get_audit_fullOne 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 → …No findings
Why it is in this group
- The name "get_audit_full" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: true
get_fixesReturn the prioritized, pillar-tagged (FIND / READ / USE) action plan for a completed audit, deduplicated across sources, with machine-actionable implementation steps included on f…No findings
Why it is in this group
- The name "get_fixes" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: true
probe_ucp_readinessInspects /.well-known/ucp to report whether AI shopping agents can transact with the site (presence + advertised capabilities only — never a live purchase).No findings
Why it is in this group
- The description's first verb is "inspect": a word for reading.
Description, as the server wrote it 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 }.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: true
search_companiesSamples the major AI engines for which companies they name for a query (e.g.No findings
Why it is in this group
- The name "search_companies" says "search": a word for reading.
Description, as the server wrote it 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 }.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.0.1. Values in angle brackets are yours to fill in.
claude mcp add --transport http sitepulsar https://mcp.sitepulsar.ai/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__sitepulsar__get_audit",
"mcp__sitepulsar__get_audit_detail",
"mcp__sitepulsar__get_fixes",
"mcp__sitepulsar__get_audit_full",
"mcp__sitepulsar__search_companies",
"mcp__sitepulsar__probe_ucp_readiness"
],
"ask": [
"mcp__sitepulsar__check_agent_readiness",
"mcp__sitepulsar__run_audit",
"mcp__sitepulsar__compare_aeo",
"mcp__sitepulsar__probe_agent_discovery",
"mcp__sitepulsar__probe_mcp_functional",
"mcp__sitepulsar__scan_product_page",
"mcp__sitepulsar__scan_visibility"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as sitepulsar. Review it before you use it.