MCP HeartbeatTHE MCP OBSERVATORY
Public workspace

Explore

Evidence for your next connection.

Independent measurements of remote MCP servers. Every observation has a timestamp.

Read-only probes

MCP server · Browser & web scraping

Agent Ready Website Audit

SEO and AI search audit for any website: technical SEO, schema, AI crawler access and llms.txt.

Checks passed
13 / 22

1 failed · 8 not measured

Median response
1199 ms

Median of successful probes over 7 days

30-day uptime
Not measured

Share of countable probes over 30 days, including daily rollups. Auth challenges are excluded.

Discovered tools
12

Tool definitions returned by this server

Independent monitoring

Health & checks

Status history

Outdated check

Last connection measurement is over 24 hours old. Current availability is unknown.

Last checked
Check summary by test group
Test areaPassedFailedUnmeasured
ConnectionCan a client connect and discover tools?
500
Reliability & speedDoes it respond consistently and quickly?
004
Access & authenticationWhat is required to use this server?
102
Tool qualityAre the tool definitions usable by an agent?
400
Publisher identityCan the publisher be traced to its source?
312

Unmeasured means there is not enough evidence to decide. How these checks work

Inspect individual checks 22 recorded

Core

  • Pass
    Reachable

    Latest probe returned HTTP 200 in 1199 ms.

  • Pass
    Valid handshake

    protocolVersion 2025-11-25, serverInfo.name agent-ready-by-workpods.

  • Pass
    Lists tools

    tools/list returned 12 tools.

  • Pass
    Current protocol

    Negotiated 2025-11-25. The bar is 2025-06-18 or newer.

  • Pass
    HTTPS

    The endpoint URL is https.

Performance

  • Not measured
    Fast (p50)

    Median latency 1199 ms over 1 samples in 7 days. The bar is 1000 ms. Need at least 5 samples.

  • Not measured
    Consistent (p95)

    95th percentile 1199 ms over 1 samples in 7 days. The bar is 3000 ms. Need at least 20 samples.

  • Not measured
    Reliable (uptime)

    1 of 1 attempts returned a tool list in 30 days (100%). The bar is 99%. Need at least 30 samples.

  • Not measured
    Stable tool list

    Fewer than two successful probes in 30 days, so tool-list stability is not measured.

Access

  • Pass
    Open access

    tools/list succeeded with no credential, and the record declares none.

  • Not measured
    Standard auth

    Auth is not required, so the OAuth metadata check does not apply.

  • Not measured
    Free tier cited

    No publisher quote has been checked.

Tools

  • Pass
    Tools described

    Every tool description is at least 20 characters.

  • Pass
    Valid input schemas

    Every inputSchema is a JSON Schema object.

  • Pass
    Parameters documented

    32 of 32 parameters have a description (100%). The bar is 80%.

  • Pass
    Safety hints

    Every tool sets readOnlyHint or destructiveHint.

Publisher

  • Pass
    Verified namespace

    Listed in the Official MCP Registry.

  • Pass
    Website matches publisher

    The website host matches the reverse-domain namespace.

  • Fail
    Source repo linked

    No repository URL is on file.

  • Not measured
    Repo owner matches

    This namespace is not an io.github login, so the owner comparison does not apply.

  • Pass
    Recently updated

    Updated 2026-11-07T00:30:48.560591Z, within 180 days.

  • Not measured
    Open-source licence

    No GitHub repository to ask about a licence.

Start using Agent Ready Website Audit

Connect to this server

Choose your client, copy the configuration, then enable the server in your client’s MCP settings.

Run this command in your terminal, then restart Claude Code.

Claude Code

claude mcp add --transport http agent-ready-website-audit https://mcp.workpods.ai/mcp

Capabilities

Tools 12

check_agent_readiness

Checks whether AI agents can use a page and its site: labelled forms and buttons, declared WebMCP tools, a Markdown version (content negotiation or a Link header), the agent files and MCP server cards under /.well-known, and whether the domain has an MCP server listed in the official MCP Registry. Use it when the person asks whether agents can complete tasks on the site or find its MCP server. result has checks (the agent checks with status and summary), webMcpTools, markdownVersion, agentFiles and mcpRegistry (listings by name, website or endpoint; null when the registry could not be read, an empty list when nothing is listed). Registry lookups are cached 6 hours. These are deterministic checks of public pages fetched by Agent Ready Website Audit, with no AI model and no account. They do not cover rankings, keyword volumes, backlinks or how AI answers mention the brand. Returns JSON: summary (one sentence), reportUrl (a shareable report page for the person, kept 30 days; null for tools that keep none) and result (the details below). Errors come back as one plain sentence. Recorded: the checked domain and path (never the query string), the tool, which checks failed and the app name; never an IP address or page text.

Discovered
check_ai_crawler_access

Checks whether AI crawlers such as GPTBot, ClaudeBot and PerplexityBot may read one page, from robots.txt, the robots meta tags (including ones naming the crawler), the X-Robots-Tag header and the HTTP status. Use it when the person asks whether ChatGPT, Claude, Perplexity or Google can see a page, or whether blocked crawlers explain why the site is missing from AI answers. result.bots lists each crawler with verdict: readable, readable_not_for_index (it may fetch the page but is asked not to index it), blocked_by_robots_txt or page_unavailable, plus robotsTxtAllows and the pageDirectives found. Firewalls that block crawlers by user agent or IP are not visible from here. These are deterministic checks of public pages fetched by Agent Ready Website Audit, with no AI model and no account. They do not cover rankings, keyword volumes, backlinks or how AI answers mention the brand. Returns JSON: summary (one sentence), reportUrl (a shareable report page for the person, kept 30 days; null for tools that keep none) and result (the details below). Errors come back as one plain sentence. Recorded: the checked domain and path (never the query string), the tool, which checks failed and the app name; never an IP address or page text.

Discovered
check_local_seo_details

Local SEO check of a business's website: whether the page states the business name, address and phone the person gives (NAP consistency), and whether it has LocalBusiness schema, click-to-call links and an embedded Google map. Use it for local SEO questions about a shop, clinic, restaurant or office's website. result has name, address and phone, each with status match, mismatch, not_found or profile_missing (no value given) and what the site states, localSchema (types and missing fields; null when there is none), telLinks and embeddedMap. It does not read the Google Business Profile itself. These are deterministic checks of public pages fetched by Agent Ready Website Audit, with no AI model and no account. They do not cover rankings, keyword volumes, backlinks or how AI answers mention the brand. Returns JSON: summary (one sentence), reportUrl (a shareable report page for the person, kept 30 days; null for tools that keep none) and result (the details below). Errors come back as one plain sentence. Recorded: the checked domain and path (never the query string), the tool, which checks failed and the app name; never an IP address or page text.

Discovered
check_robots_sitemap_llms_txt

Checks a site's robots.txt, sitemaps and llms.txt: robots.txt with the verdict for each AI crawler (GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-User, PerplexityBot, Google-Extended and more), Content-Signal lines, the sitemaps, llms.txt, the agent files under /.well-known (AI catalog, MCP server cards, A2A agent card) and whether the home page has a Markdown version. Use it to see whether AI crawlers may read the site, whether its sitemap and llms.txt are in place, and what it offers agents. Only the origin of the URL is used. result has robotsTxt (url, status, contentSignals), aiCrawlers (token, operator, role, allowed), sitemaps (URL count, a sample, files), agentFiles (each with outcome ok, not_found, blocked or failed), markdownVersion and findings. A status of null means the site gave no answer. Cached for 1 hour. These are deterministic checks of public pages fetched by Agent Ready Website Audit, with no AI model and no account. They do not cover rankings, keyword volumes, backlinks or how AI answers mention the brand. Returns JSON: summary (one sentence), reportUrl (a shareable report page for the person, kept 30 days; null for tools that keep none) and result (the details below). Errors come back as one plain sentence. Recorded: the checked domain and path (never the query string), the tool, which checks failed and the app name; never an IP address or page text.

Discovered
compare_with_competitor_page

Runs the seo_audit_page checks on the person's page and a competitor's page that targets the same search or task, and lists the checks where they differ. Use it when the person asks why a competitor ranks or shows up in AI answers and they do not. result has mine and theirs (status, scores, problem count, word count, headings, schema types) and differences (check id with each side's status and summary). These are deterministic checks of public pages fetched by Agent Ready Website Audit, with no AI model and no account. They do not cover rankings, keyword volumes, backlinks or how AI answers mention the brand. Returns JSON: summary (one sentence), reportUrl (a shareable report page for the person, kept 30 days; null for tools that keep none) and result (the details below). Errors come back as one plain sentence. Recorded: the checked domain and path (never the query string), the tool, which checks failed and the app name; never an IP address or page text.

Discovered
draft_llms_txt

Drafts a starter llms.txt (llmstxt.org) for a site from its home page and sitemap: an H1 with the site name, its description as the summary, and links to its main pages grouped by section, titled from the pages where they were fetched. Use it when the site has no llms.txt or a broken one. result has llmsTxt (the file text), saveAs (where it goes), links, sitemapUrls and existingLlmsTxt (the outcome of the current one). The person should edit it before publishing. Returns JSON: summary (one sentence), reportUrl (a shareable report page for the person, kept 30 days; null for tools that keep none) and result (the details below). Errors come back as one plain sentence. Recorded: the checked domain and path (never the query string), the tool, which checks failed and the app name; never an IP address or page text.

Discovered
draft_robots_txt_for_ai_crawlers

Drafts robots.txt groups for the AI crawlers Agent Ready tracks, and a Content-Signal line, from what the site owner wants: crawlers that index for AI search, crawlers that fetch a page because a user asked, and crawlers that collect training data, each allowed or blocked, with per-crawler overrides. It fetches nothing. Use it after check_robots_sitemap_llms_txt or check_ai_crawler_access shows crawlers blocked or allowed against the owner's wishes. result has robotsTxt (the lines to merge), contentSignal, decisions (each crawler with its role and choice) and unknownOverrides (tokens not recognised). Returns JSON: summary (one sentence), reportUrl (a shareable report page for the person, kept 30 days; null for tools that keep none) and result (the details below). Errors come back as one plain sentence.

Discovered
draft_schema_markup

Drafts schema markup (schema.org JSON-LD structured data) for a page: Organization, WebSite, FAQPage (questions read from headings that end in a question mark, with the text under them) or LocalBusiness. Values the person gives win over values read from the page. Use it when seo_audit_page reports missing or incomplete structured data. result has jsonLd, scriptTag (ready to paste into the <head>), filledFrom (each field: input or page), missing (fields to fill in) and existingTypes (schema types the page already declares). Returns JSON: summary (one sentence), reportUrl (a shareable report page for the person, kept 30 days; null for tools that keep none) and result (the details below). Errors come back as one plain sentence. Recorded: the checked domain and path (never the query string), the tool, which checks failed and the app name; never an IP address or page text.

Discovered
get_site_crawl

Reads a crawl started by start_site_crawl. While it runs, result has status (queued or running) and pagesDone; call again in 20 to 30 seconds. Once done, result has the site-wide findings and the crawled pages with their problems, 10 pages per call: pass nextCursor back as cursor for the next 10; nextCursor is null on the last page. A failed crawl has status failed and error. An unknown or expired job id is an error. Returns JSON: summary (one sentence), reportUrl (a shareable report page for the person, kept 30 days; null for tools that keep none) and result (the details below). Errors come back as one plain sentence.

Discovered
request_full_audit

Files a request for a full WorkPods audit of a site: how AI answers (ChatGPT, Gemini, Perplexity, Google AI Overviews) mention the brand and its competitors, search rankings and a prioritised fix list, done by WorkPods with paid data. Use it only when the person asks for it and gives their own work email. There is no charge. A WorkPods operator reviews the request and emails the report to that address within 3 working days. result has requested, domain and next (what to tell the person). The email goes to WorkPods and is not stored by this service.

Discovered
seo_audit_page

SEO audit of one web page, covering technical SEO and AI search readiness: how search engines, AI answer engines (ChatGPT, Perplexity, Google AI Overviews) and AI agents read it. It checks indexing (status, robots, canonical), title and meta description, headings and copy, schema markup (JSON-LD), links, image alt text and AI readiness. Use it when the person asks for an SEO or website audit of a page, how a page does in search or AI answers, or what to fix first. result has url (where the page landed), status, scores (passed and judged checks per layer: seo, geo, axo), problems (each with check id, status fail or partial, severity, a one-line summary and evidence), passed and notApplicable (check ids). Results are cached for 15 minutes. These are deterministic checks of public pages fetched by Agent Ready Website Audit, with no AI model and no account. They do not cover rankings, keyword volumes, backlinks or how AI answers mention the brand. Returns JSON: summary (one sentence), reportUrl (a shareable report page for the person, kept 30 days; null for tools that keep none) and result (the details below). Errors come back as one plain sentence. Recorded: the checked domain and path (never the query string), the tool, which checks failed and the app name; never an IP address or page text.

Discovered
start_site_crawl

Starts a site-wide SEO crawl of up to 50 pages, in the background, for the problems one page cannot show: broken links, duplicate titles and descriptions, orphan and deep pages, noindex and sitemap mismatches and soft 404s. Use it when the person wants the whole site checked. It returns at once with jobId; call get_site_crawl with it every 20 to 30 seconds until status is done. Crawls honour robots.txt and pause between pages, so 50 pages take a few minutes. Results are kept 24 hours. These are deterministic checks of public pages fetched by Agent Ready Website Audit, with no AI model and no account. They do not cover rankings, keyword volumes, backlinks or how AI answers mention the brand. Recorded: the checked domain and path (never the query string), the tool, which checks failed and the app name; never an IP address or page text.

Discovered

Recent measurements

Probe history

View status
Latest stored probes. Raw probe rows are kept for 14 days.
CheckedResultResponseTools
Connected1199 ms12