online.pageaudit/pageaudit
REMOTE · PAGEAUDIT.ONLINE
Technical SEO, passive security and page-delivery audits with evidence and suggested fixes.
Available components
Last scanned (9 hours ago)
Scores higher than 79% of remote servers
Reachable. Last reached 5 Nov 2026.
Category Marketing and SEO
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 → Why this is hard to score →
Endpoint Security63
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (track_search_queries). See how to fix → View diagnostics → Fail
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability77
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 10016 tokens (~161/item across 62 items; 62 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 Management95
- Stability check failed: schema churn in the 30 days we've observed: 1 tool removals, 0 breaking changes, 0 auth/transport breaks, 43 additions. See how to fix → Fail
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
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 63 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities60
- Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
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.
- 5 Nov 26 +1
- Tool “add_site” rewrote its description, which is the text the model reads security
- Tool “disconnect_search_console” rewrote its description, which is the text the model reads security
- Tool “search_console” rewrote its description, which is the text the model reads security
- Tool coverage: 89% → 100% ▲ functional
- Server version: cddf9cdf → c11d2e6a functional
- “check_domain” reworded the description of “guest_token” cosmetic
- “create_tab” reworded the description of “guest_token” cosmetic
- “domain_status” reworded the description of “guest_token” cosmetic
- “generate_domain_fix_prompt” reworded the description of “guest_token” cosmetic
- “generate_fix_prompt” reworded the description of “guest_token” cosmetic
- “generate_site_fix_prompt” reworded the description of “guest_token” cosmetic
- “get_audit” reworded the description of “guest_token” cosmetic
- “get_fix_prompt” reworded the description of “guest_token” cosmetic
- “lab_result” reworded the description of “guest_token” cosmetic
- “lab_test” reworded the description of “guest_token” cosmetic
- “list_audit_fix_prompts” reworded the description of “guest_token” cosmetic
- “list_domain_fix_prompts” reworded the description of “guest_token” cosmetic
- “list_site_fix_prompts” reworded the description of “guest_token” cosmetic
- “list_tabs” reworded the description of “guest_token” cosmetic
- “prompt_allowance” reworded the description of “guest_token” cosmetic
- “run_tab” reworded the description of “guest_token” cosmetic
- “tab_history” reworded the description of “guest_token” cosmetic
- 4 Nov 26 +2
- The server rewrote its instructions, which are the text every model session reads security
- The server now declares the “prompts” capability functional
- First check of Schema quality: 100 functional
- New prompt “company_website” functional
- New prompt “website_check” functional
- New prompt “website_fixes” functional
- New prompt “website_monitoring” functional
- New prompt “website_release” functional
- Server version: 5a4f32c1 → cddf9cdf functional
- 3 Nov 26 0
- Tool “generate_domain_fix_prompt” rewrote its description, which is the text the model reads security
- Tool “generate_site_fix_prompt” rewrote its description, which is the text the model reads security
- Server version: 2907948d → 5a4f32c1 functional
- 2 Nov 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Tool “audit_url” rewrote its description, which is the text the model reads security
- Tool “generate_fix_prompt” rewrote its description, which is the text the model reads security
- Tool “get_api_x402_audit” rewrote its description, which is the text the model reads security
- Server version: abee796d → 2907948d functional
- 1 Nov 26 0
- Tool “cancel_plan” rewrote its description, which is the text the model reads security
- Server version: b48c6e84 → abee796d functional
- 31 Oct 26 +1
- The server rewrote its instructions, which are the text every model session reads security
- New tool “configure_journeys”, which the server declares destructive security
- Tool “add_site” rewrote its description, which is the text the model reads security
- Tool “ai_search_visibility” rewrote its description, which is the text the model reads security
- Tool “apply_domain_alerts” rewrote its description, which is the text the model reads security
- Tool “audit_site” rewrote its description, which is the text the model reads security
- Tool “audit_url” rewrote its description, which is the text the model reads security
- Tool “check_domain” rewrote its description, which is the text the model reads security
- Tool “configure_domain_dns” rewrote its description, which is the text the model reads security
- Tool “configure_domain_monitor” rewrote its description, which is the text the model reads security
- Tool “contact” rewrote its description, which is the text the model reads security
- Tool “create_tab” rewrote its description, which is the text the model reads security
- Tool “domain_portfolio” rewrote its description, which is the text the model reads security
- Tool “generate_domain_fix_prompt” rewrote its description, which is the text the model reads security
- Tool “generate_fix_prompt” rewrote its description, which is the text the model reads security
- Tool “generate_site_fix_prompt” rewrote its description, which is the text the model reads security
- Tool “get_audit” rewrote its description, which is the text the model reads security
- Tool “get_fix_prompt” rewrote its description, which is the text the model reads security
- Tool “lab_test” rewrote its description, which is the text the model reads security
- Tool “list_audit_fix_prompts” rewrote its description, which is the text the model reads security
- Tool “list_domain_fix_prompts” rewrote its description, which is the text the model reads security
- Tool “list_site_fix_prompts” rewrote its description, which is the text the model reads security
- Tool “preview_domain_alerts” rewrote its description, which is the text the model reads security
- Tool “prompt_allowance” rewrote its description, which is the text the model reads security
- Tool “run_tab” rewrote its description, which is the text the model reads security
- Tool “set_domain_expiry” rewrote its description, which is the text the model reads security
- Tool “watch_tab” rewrote its description, which is the text the model reads security
- Tool “weekly_site_report” rewrote its description, which is the text the model reads security
- Schema quality: 122 → 143 ▼ functional
- Server version: 84f2e158 → b48c6e84 functional
- New tool “billing” functional
- New tool “buy_plan” functional
- New tool “cancel_plan” functional
- New tool “get_api_x402_audit” functional
- New tool “list_plans” functional
- New tool “pricing” functional
- “generate_domain_fix_prompt” added an optional parameter “credit_token” cosmetic
- “generate_fix_prompt” added an optional parameter “credit_token” cosmetic
- “generate_site_fix_prompt” added an optional parameter “credit_token” cosmetic
- “contact” reworded the description of “pagamento” cosmetic
- 30 Oct 26 0
- Server version: 803660fb → 84f2e158 functional
- 29 Oct 26 0
- Server version: a6bda025 → 803660fb functional
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 5 Nov 2026 · Probed https://pageaudit.online/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_256_GCM_SHA384 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=pageaudit.online | CN=YE2,O=Let's Encrypt,C=US | 23 Sept 2026 | 22 Dec 2026 | ECDSA 256 | ECDSA-SHA384 | 5f34d6e669846828382b84d52fc17e58e76 |
| SANs: pageaudit.online, www.pageaudit.online | ||||||
| CN=YE2,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 4df3b15dd6c0784c507cd37b58e6f115 |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of pageaudit.online. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| online. | present | 30961 | 13 | Verified |
| pageaudit.online. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=63072000; includeSubDomains |
| x-content-type-options | nosniff |
| referrer-policy | no-referrer |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://pageaudit.online/mcp | Verified | 200 | |
| http (plaintext) | http://pageaudit.online/mcp | HTTPS enforced | 301 | https://pageaudit.online/mcp |
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. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
acknowledge_domain_event Acknowledge domain event ~103
Requires the account session, current X-Organization-Id and CSRF for writes. Acknowledge an expected event. Suppress its notice only if sending has not started. Preserve the event and its evidence. Preserve the event and observation. Acknowledgement does not erase a confirmed risk or retract a sent notice. Repetition is idempotent.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Owned tab ID from list_tabs. |
| number | integer | yes | Positive history event number. |
No output schema declared.
No examples provided.
add_site Add site ~198
Add a site to the account or reuse the existing domain. Up to 1,000 sites per account. This creates no subscription or payment. An account holds up to 1,000 sites (409 site_limit). Adding a site creates no subscription or payment. The existing guest audit workspace stays separate. Returns: { site{id,host,url,created_at,_links} } Example: await fetch("$ORIGIN/api/sites", {method:"POST", headers:{"Content-Type":"application/json", "X-CSRF-Token":csrf}, body:JSON.stringify({url:"https://example.com/"})}); Errors: 400: invalid_site_url or invalid_body; 401: account_required or session_ended; 403: account_required or invalid_csrf; 404: site_not_found; 409: site_limit; 503: sites_unavailable
| Name | Type | Req | Description |
|---|---|---|---|
| url | string | yes | Public HTTP(S) URL, without credentials. |
No output schema declared.
No examples provided.
ai_search_history Ai search history ~74
Read the plan, the saved searches, the last runs and the position trend of each search. Reads never call the search engine. The trend compares each search of the newest run with the previous run that had it: up, down, same, new or lost.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Site owned by this account. |
No output schema declared.
No examples provided.
ai_search_visibility Ai search visibility ~201
Check whether the site's page appears in AI search for each target search, at which position, and which sites appear in its place, with plain recommendations. Uses the saved searches or the ones the page suggests when queries is omitted. Send {} to use the saved searches, or the searches the page title and H1 suggest; send {queries} to choose. One index check plus one search per query, each USD 0.00075 when it returns results. A run with the same searches in the last 24 hours comes back with reused: true and no cost. Without a watch package: one run per week, three searches. With one: twenty runs per UTC day, ten searches. Result titles and snippets are third-party data.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Site owned by this account. |
| lang | string | – | Language of the recommendations. |
| queries | array | – | Optional. One to ten searches, 1 to 128 characters each. |
No output schema declared.
No examples provided.
api_index API index ~21
Discovers the whole PageAudit API (self-describing index).
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
apply_domain_alerts Apply domain alerts ~151
Requires the account session, current X-Organization-Id and CSRF for writes. Apply the reviewed selection. Requires the preview from preview_domain_alerts. A stale preview changes nothing. Does not activate monitors, purchase access or change certificate notice timing. Select up to 25 saved pages. Repeated registrable domains count once. The server checks the account, organization and current revisions again. A stale preview changes nothing. This does not activate monitoring or purchase access.
| Name | Type | Req | Description |
|---|---|---|---|
| lead_days | integer | yes | Days before domain expiry for renewal notices. |
| preview | string | yes | Exact preview from the POST response for these tabs and lead_days. |
| tabs | array | yes | One to 25 owned tab IDs. |
No output schema declared.
No examples provided.
audit_site Audit site ~295
Check the first 20 URLs of a site's sitemap: status, redirects, robots.txt, noindex, canonical, titles and descriptions. It also flags a plan with different prices on different pages. Free, without an account. The same site within one hour returns the stored sample. URLs of another host are counted, never requested. The free sample of the SEO audit. It reads `/sitemap.xml` (an index opens up to 5 sitemaps), checks the first 20 URLs of the same host and reports: not 200, redirects (to the home page or to a broken page), robots.txt blocks, `noindex`, a missing or foreign canonical, HTML without content, a title that is missing, generic or outside 40–60 characters, a missing description, repeated titles and descriptions, and the same plan with different prices (pages, JSON-LD and llms.txt). URLs of another host are counted, never requested. The same site within one hour returns the stored sample (`cached_at`) without requesting the site again and without spending the allowance. A new sample spends one audit of the daily allowance; past it, **402 with `accepts[]`**, as in `POST /api/audit`.
| Name | Type | Req | Description |
|---|---|---|---|
| guest_token | string | – | optional pa_… |
| lang | string | – | optional: pt for the texts in Portuguese |
| url | string | yes | any address of the site |
No output schema declared.
No examples provided.
audit_url Audit URL ~151
Check a web page's search metadata, crawl access, structured data and selected discovery files. Return evidence, limits and suggested changes without creating a saved tab. A blocked target returns HTTP 502 with target_blocked. The report does not certify security or accessibility. The HTML checks run without an LLM. You can work from the report instead of writing a fetcher and audit rules. This checks delivered HTML. Use a browser test for performance or accessibility. Check truncated and unavailable evidence.
| Name | Type | Req | Description |
|---|---|---|---|
| compare_with | string | – | optional ID of an earlier audit of the same owner; returns what appeared and disappeared |
| guest_token | string | – | optional pa_… |
| url | string | yes | absolute URL to audit |
No output schema declared.
No examples provided.
billing Billing ~39
Read free allowances, prices and the account's 7-day trial. Each audit beyond the daily allowance costs $0.02. Hourly limits still apply.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
buy_plan Buy plan ~203
Buy a plan: starter (25 more pages), pro (100 more pages), agency (300 more pages). Each purchase lasts 30 days, with no automatic renewal. Answers 402 with the price; pay with x402 or prepaid credit and repeat. Each purchase lasts 30 days, with no automatic renewal. Without payment, the answer is 402 with the price. Pay with prepaid credit (`X-Credito`) or x402 (`PAYMENT-SIGNATURE` v2 or `X-PAYMENT` v1). Without an account, the verified paying wallet owns the purchase. Use wallet agent authentication to read its plan, or claim it after account sign-in. The `compra` mark prevents repeat credit debits. An x402 nonce can settle only once; keep the receipt after a delivery error.
| Name | Type | Req | Description |
|---|---|---|---|
| plan | string | yes | `starter` (25 more pages), `pro` (100 more pages), `agency` (300 more pages) |
No output schema declared.
No examples provided.
cancel_connection_review Cancel connection review ~129
Requires the account session, current X-Organization-Id and CSRF for writes. Cancel the current TLS review and preserve completed evidence. One review per account, organization, origin and UTC day. Starting requires current domain monitoring rights. The account has three starts per UTC day. Retries return the same review. The scanner samples one public IP, with three stages and a 170-second deadline. Partial results do not establish safety. GET never starts a scan. The shared realtime channel reports stage changes. Reports expire after 26 hours.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Owned tab ID from list_tabs. |
No output schema declared.
No examples provided.
cancel_plan Cancel plan ~208
Cancel the active plan. Nothing else is charged; a purchase under 7 days and a paid period that has not started are refunded and end now, and the rest of the paid period stays active until keeps_until. Requires accept_data_removal: true. Send `{ "accept_data_removal": true }`. The monthly card subscription stops. A purchase made less than 7 days ago and a paid period that has not started yet, such as a renewal, go back the same way they were paid (card or Pix) and end now. The rest of the paid period stays active until `keeps_until`; then what the plan added ends (`account.cancel.losses` in `GET /api/plans` says what). A purchase paid with USDC or with credit from another purchase stays active until its end; ask for its refund by e-mail, as the cancellation page says.
| Name | Type | Req | Description |
|---|---|---|---|
| accept_data_removal | boolean | yes | Must be `true`: you accept losing what the plan added. |
No output schema declared.
No examples provided.
check_ai_access Check ai access ~276
Request a page as Googlebot, Bingbot and the AI crawlers (OAI-SearchBot, Claude-SearchBot, PerplexityBot, ChatGPT-User, GPTBot, ClaudeBot) and see who gets a 403, a 429 or a firewall challenge that robots.txt does not show. Also returns the date of the newest sitemap lastmod and whether Cloudflare is in front. Free, without an account. The same page within one hour returns the stored result. The page is requested with the published user agent of Googlebot, Bingbot, OAI-SearchBot, Claude-SearchBot, PerplexityBot, ChatGPT-User, GPTBot, ClaudeBot, and once as a browser. A 403, a 429 or a firewall challenge that only a crawler gets is the block that robots.txt does not show. The sitemap is the one that robots.txt declares, or `/sitemap.xml`; it is stale when its newest `lastmod` is more than 30 days old. Limit: Cloudflare recognises the real crawler by its IP address, so a rule that trusts verified bots can treat the real crawler differently. The same page within one hour returns the stored result (`cached_at`) without requesting the site again.
| Name | Type | Req | Description |
|---|---|---|---|
| url | string | yes | the page to check |
No output schema declared.
No examples provided.
check_domain Check domain ~132
Refresh due registration, contacts, TLS, DNS, mail policies, certificate issuance and a limited DNS/TLS sample. Reuses fresh public data. Does not enable monitoring or make a purchase. Reuse fresh observations. A failed or partial query preserves the last complete observation and its date. Up to 100 cold page reads per owner and UTC day. This call does not enable a monitor or buy access.
| Name | Type | Req | Description |
|---|---|---|---|
| guest_token | string | – | Private owner token returned by guest creation. Sent in X-Guest-Token; reuse it for this owner's resources. |
| id | string | yes | Owned tab ID from list_tabs. |
No output schema declared.
No examples provided.
configure_domain_dns Configure domain DNS ~173
Requires the account session, current X-Organization-Id and CSRF for writes. Set up to three known DKIM selectors and choose whether IP rotation is expected. Expected rotation keeps history without notices; alias changes still notify. Does not discover selectors, enable monitoring or authenticate sent messages. Send manual_expires_on, dns, or both. Omitted settings are preserved. DNS requires both selectors and rotating_addresses. A manual date does not change registry data or confirm renewal payment. An identical retry is idempotent. A conflicting revision returns 409.
| Name | Type | Req | Description |
|---|---|---|---|
| dns | object | yes | Known selectors and expected IP rotation. Selector discovery is not performed. |
| id | string | yes | Owned tab ID from list_tabs. |
| revision | integer | yes | Current revision from the corresponding settings or monitor. Use zero for the first change. |
No output schema declared.
No examples provided.
configure_domain_monitor Configure domain monitor ~204
Requires the account session, current X-Organization-Id and CSRF for writes. Enable or stop domain monitoring, or pause notices for maintenance. Uses existing rights; 402 supplies checkout instructions and never buys automatically. Stopping a monitor does not cancel a subscription. Activation requires a current domain benefit, a preserved prepaid watch benefit or the account trial. Count a registry domain once per account, including its organization copies. Add only the tab's origin. HTTP receives DNS checks only. Stopping monitoring keeps history and does not cancel a subscription. Maintenance pauses notices while collection continues. Confirm enabled, no suspension and next_check_at after saving.
| Name | Type | Req | Description |
|---|---|---|---|
| enabled | boolean | yes | True enables collection; false stops it. |
| id | string | yes | Owned tab ID from list_tabs. |
| maintenance_until | integer|null | yes | Future Unix milliseconds within 30 days, or null. |
| revision | integer | yes | Current revision from the corresponding settings or monitor. Use zero for the first change. |
No output schema declared.
No examples provided.
configure_journeys Configure journeys ~153
Enable or pause an owned site's collection, or set up to eight ordered project_action steps. Activation requires an existing paid site package; this call never buys one. Configure optional Google credentials in the UI. Activation requires the existing site package or an operator-authorised internal benefit. A 402 opens the package offer when available. It never buys automatically. Keep Google secrets out of URLs and browser scripts.
| Name | Type | Req | Description |
|---|---|---|---|
| active | boolean | yes | Enable or pause collection. |
| id | string | yes | Owned Site.id. |
| project | string | – | Required on creation: 2–20 lowercase letters, digits or underscores, starting with a letter. Cannot change. |
| steps | array | – | Up to eight ordered project_action IDs. |
No output schema declared.
No examples provided.
connect_search_console Connect search console ~119
Start read-only Google consent. The account owner must follow redirect in their browser. Follow redirect in the account's browser. Consent expires after five minutes. The callback is single-use and bound to the account and site. The property must match the site and Google must authorize it before the connection is saved.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Site ID from list_sites or add_site. |
| language | string | – | en (default) or pt. Browser consent returns in this language. |
| property | string | yes | Exact Search Console domain or URL-prefix property. |
No output schema declared.
No examples provided.
connection_review Connection review ~128
Requires the account session, current X-Organization-Id and CSRF for writes. Read today's private TLS review without starting a scan. One review per account, organization, origin and UTC day. Starting requires current domain monitoring rights. The account has three starts per UTC day. Retries return the same review. The scanner samples one public IP, with three stages and a 170-second deadline. Partial results do not establish safety. GET never starts a scan. The shared realtime channel reports stage changes. Reports expire after 26 hours.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Owned tab ID from list_tabs. |
No output schema declared.
No examples provided.
contact Contact ~652
Write to the people behind the product: a question, or a sponsorship/partnership/advertising proposal. Free, no captcha and no payment; one message every 10 s per network (one that arrives sooner waits its turn). One route for a question and for a sponsorship, partnership or ad proposal (`tipo`, with the placements of `GET /api/partners`). No captcha, no account, no payment. One message every 10 seconds per network: one that arrives sooner waits its turn and then goes out — no error. The message reaches the team by e-mail, with `email` as the reply address. For voice, send multipart/form-data: `dados` is this JSON (up to 32 KiB), and `audio` is one WebM, Ogg or M4A audio file (up to 2 MB). Audio can replace message. The browser records up to two minutes. Audio is attached to the owner's e-mail.
| Name | Type | Req | Description |
|---|---|---|---|
| duracao | string | – | Exposure in days: `30`, `90` or `365`. |
| string | yes | Where to reply. | |
| empresa | string | – | Who is proposing, when it is a company. |
| espaco | array | – | Placement ids from `GET /api/partners`, up to 6. |
| formato | string | – | Consulting: `projeto` (per scope), `mensal` (monthly) or `assessoria` (advisory). |
| fuso | string | – | Consulting: the IANA time zone, such as `America/New_York`. |
| horarios | array | – | Consulting: up to 3 times for the call, `YYYY-MM-DDTHH:MM` in that time zone. |
| message | string | yes | What you want to say. |
| name | string | yes | What to call the person writing. |
| orcamento | string | – | Advertising: `ate_100`, `100_500`, `500_2000`, `2000_mais` or `a_combinar`. Consulting, in US dollars: `ate_2000`, `2000_5000`, `5000_10000`, `10000_mais` or `nao_sei`. |
| pagamento | string | – | `usdc`, `deposito` or `a_combinar`. |
| pais | string | – | Consulting: the country of the person asking. |
| prazo | string | – | Consulting: when to start (`agora`, `1_mes`, `1_3_meses` or `explorando`). |
| prefer_whatsapp | boolean | – | Request a WhatsApp reply. Requires whatsapp. |
| projeto | string | – | Consulting: the kind of project (`llm_privado`, `voz`, `dados_sensiveis`, `gpu`, `integracao` or `outro`). |
| site | string | – | Website of who is proposing. |
| tipo | string | – | Proposal: `patrocinio`, `parceria`, `anuncio` or `consultoria`. Turns on the fields below. |
| string | – | Optional reply number with country code, such as +5561999999999. |
No output schema declared.
No examples provided.
create_guest Create guest ~39
Creates a guest token pa_… for the tab workspace. Keep the token: it is the identity of the tabs and of the audits tied to them.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
create_tab Create tab ~141
Opens a saved URL. Set queue_audit=false to monitor a discovered origin without a page audit. Past the free tab allowance it answers 402 with `accepts[]`: pay and repeat.
| Name | Type | Req | Description |
|---|---|---|---|
| alias | string | – | Label to recognise the tab in the list. |
| guest_token | string | yes | Private owner token returned by guest creation. Sent in X-Guest-Token; reuse it for this owner's resources. |
| queue_audit | boolean | – | Defaults to true. Use false to save an idle page for domain monitoring without queuing a page audit. Existing pages keep their current state. |
| url | string | yes | The URL the tab will follow. |
No output schema declared.
No examples provided.
disconnect_search_console Disconnect search console ~197
Remove the local Google credential and stop collection. Keep the last good sample. The last good sample stays available. An in-flight callback or collection cannot reconnect the site. Returns: { available, connected, property, last_attempt_at, last_success_at, next_run_at, error, stale, snapshot{property,period,checked_at,queries,pages,coverage}, opportunities[{query,clicks,impressions,ctr,position}], terms[{query,last_alert_at,analysis,series}] } Example: await fetch("$ORIGIN/api/sites/SITE_ID/search-console", {method:"DELETE", headers:{"X-CSRF-Token":csrf}}).then(r => r.json()); Errors: 401: account_required or session_ended; 403: account_required or invalid_csrf; 404: site_not_found; 503: sites_unavailable
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Site ID from list_sites or add_site. |
No output schema declared.
No examples provided.
domain_history Domain history ~160
Requires the account session, current X-Organization-Id and CSRF for writes. Read up to 50 private incidents with notice delivery. Send the last event number as before for the next page. A first observed risk is an initial incident, not evidence of an external change. The first DNS and certificate-issuance snapshots are silent baselines. DNS changes, incompatible server samples and connection failures need two distinct observations. Expected IP rotation is silent. Repeated observations do not duplicate a notice. Contact changes expose field states only. Issuance does not prove installation. DNS records do not prove authentication of sent mail.
| Name | Type | Req | Description |
|---|---|---|---|
| before | integer | – | Return events with a number below this cursor. |
| id | string | yes | Owned tab ID from list_tabs. |
No output schema declared.
No examples provided.
domain_portfolio Domain portfolio ~94
Requires the account session, current X-Organization-Id and CSRF for writes. Read cached domain monitoring and deadlines for selected saved pages. Does not start external collection or activate monitoring. Every tab must belong to the current account and organization. Reads by primary key without collection, activation or billing. Repeat with the next group of IDs for a larger workspace.
| Name | Type | Req | Description |
|---|---|---|---|
| tabs | array | yes | One to 100 owned tab IDs. |
No output schema declared.
No examples provided.
domain_status Domain status ~127
Read registration, contact visibility, TLS, DNS, CAA, mail policies, certificate issuance and a limited server comparison. Read source dates and collection gaps. Private options require the account session. A discovered name never starts monitoring automatically. Pages share public observations by registry domain and HTTPS origin. Private settings and history stay with the account and organization. Missing data is not a healthy result.
| Name | Type | Req | Description |
|---|---|---|---|
| guest_token | string | – | Private owner token returned by guest creation. Sent in X-Guest-Token; reuse it for this owner's resources. |
| id | string | yes | Owned tab ID from list_tabs. |
No output schema declared.
No examples provided.
embed_snippet Embed snippet ~143
The embeddable widget's snippet, already assembled with the site's name and colour — one script tag, no account, no lead capture. One script tag puts the audit form on your own site, with your name and colour, and no account or key. Send the same query you would send to `/embed` and the answer comes back with `snippet` already assembled. The widget never asks the visitor for an e-mail.
| Name | Type | Req | Description |
|---|---|---|---|
| brand | string | – | site name shown above the form |
| color | string | – | accent colour in hex |
| theme | string | – | auto, light or dark |
| url | string | – | optional URL to pre-fill |
No output schema declared.
No examples provided.
generate_domain_fix_prompt Generate domain fix prompt ~419
Generate a fix prompt from saved domain observations. Prepare a coding-agent prompt from an owned report. One check uses one unit; full uses three. Three units are free once. Then US$0.10 per unit, or included in an active PageAudit plan. Read prompt_allowance first. Only send credit_token after explicit spending authorization; preserve request_id for retries. Read GET /api/prompts/quota before generation; the total depends on scope and existing rights. Three lifetime free units per account or anonymous network. A check uses one; full uses three. Extra units cost US$0.10 each. Active Starter, Pro and Agency plans include prompts while valid, within 60 requests/hour. No partial free debit: a full prompt needs three free units or is charged in full. The licensed prompt is saved for this owner and organization. Reopening the same selector is free even after plan expiry. Preserve its text and license; use it only for license.domain. Reuse the UUID v4 request_id and identical body after a delivery failure. Payment uses X-Credito or the x402 challenge. Never charge without the user's authorization. Uses saved observations only; does not start a new collection. Missing evidence is not charged.
| Name | Type | Req | Description |
|---|---|---|---|
| check_id | string | – | registration, certificate, dns or email. Required for check; absent for full. |
| credit_token | string | – | Prepaid cred_… token. Requires explicit user authorization. |
| guest_token | string | – | Private owner token returned by guest creation. Sent in X-Guest-Token; reuse it for this owner's resources. |
| id | string | yes | Owned tab in the active organization ID. |
| language | string | yes | Language of the prompt instructions and check names: en for English, pt for Portuguese. |
| request_id | string | yes | New UUID v4 per generation. Keep it unchanged for retries. |
| scope | string | yes | check or full. |
| source | string | yes | domain: the saved registration, certificate, DNS and email observations of the tab. |
No output schema declared.
No examples provided.
generate_fix_prompt Generate fix prompt ~248
Prepare a coding-agent prompt from an owned report. One check uses one unit; full uses three. Three units are free once. Then US$0.10 per unit, or included in an active PageAudit plan. Read prompt_allowance first. Only send credit_token after explicit spending authorization; preserve request_id for retries. Use the assembled instructions instead of copying findings and building a prompt yourself. No model call is needed to generate it. Review placeholders and proposed changes before applying them. Verify the page after the fix.
| Name | Type | Req | Description |
|---|---|---|---|
| check_id | string | – | ID from the report's checks; required for check, absent for full. |
| credit_token | string | – | Prepaid cred_… token. Requires explicit user authorization. |
| guest_token | string | – | Private owner token returned by guest creation. Sent in X-Guest-Token; reuse it for this owner's resources. |
| id | string | yes | Owned saved audit ID. |
| language | string | yes | Language of the prompt instructions and check names: en for English, pt for Portuguese. |
| request_id | string | yes | New UUID v4 per generation. Keep it unchanged for retries. |
| scope | string | yes | check or full. |
No output schema declared.
No examples provided.
generate_site_fix_prompt Generate site fix prompt ~456
Generate a fix prompt for a weekly finding or a Search Console opportunity. Prepare a coding-agent prompt from an owned report. One check uses one unit; full uses three. Three units are free once. Then US$0.10 per unit, or included in an active PageAudit plan. Read prompt_allowance first. Only send credit_token after explicit spending authorization; preserve request_id for retries. Read GET /api/prompts/quota before generation; the total depends on scope and existing rights. Three lifetime free units per account or anonymous network. A check uses one; full uses three. Extra units cost US$0.10 each. Active Starter, Pro and Agency plans include prompts while valid, within 60 requests/hour. No partial free debit: a full prompt needs three free units or is charged in full. The licensed prompt is saved for this owner and organization. Reopening the same selector is free even after plan expiry. Preserve its text and license; use it only for license.domain. Reuse the UUID v4 request_id and identical body after a delivery failure. Payment uses X-Credito or the x402 challenge. Never charge without the user's authorization. Uses saved observations only; does not start a new collection. Missing evidence is not charged.
| Name | Type | Req | Description |
|---|---|---|---|
| check_id | string | – | Weekly finding type, or opportunity for Search Console. Required for check; absent for full. |
| credit_token | string | – | Prepaid cred_… token. Requires explicit user authorization. |
| guest_token | string | – | Private owner token returned by guest creation. Sent in X-Guest-Token; reuse it for this owner's resources. |
| id | string | yes | Owned site ID. |
| language | string | yes | Language of the prompt instructions and check names: en for English, pt for Portuguese. |
| query | string | – | Exact opportunity query; required for Search Console check. |
| report_id | string | – | Required for weekly: saved report ID. |
| request_id | string | yes | New UUID v4 per generation. Keep it unchanged for retries. |
| scope | string | yes | check or full. |
| source | string | yes | weekly: a finding of a saved weekly report. search_console: a saved Search Console opportunity. |
No output schema declared.
No examples provided.
get_api_x402_audit Get API X402 audit ~174
Audits one page for an agent, paid per call: no account, no allowance and no tab. The report of `POST /api/audit`, sold per call to agents. A request without payment gets the 402 with the price; a paid one gets the report in the same response, with the payment in `cobranca`. Nothing is stored: the report has no `id` and no tab. A page that does not open is not charged. Writing and maintaining a page fetcher, HTML checks and a report schema. The audit rules run without an LLM. This is not a browser performance or accessibility test. A technical score does not prove ranking, revenue or the absence of security defects.
| Name | Type | Req | Description |
|---|---|---|---|
| url | string | yes | The page to audit, `http` or `https`. |
No output schema declared.
No examples provided.
get_audit Get audit ~96
Re-read an audit with its findings and evidence. Use generate_fix_prompt for correction steps. Re-reading costs nothing and does not count against the allowance — the page's HTML is not kept, but the report is.
| Name | Type | Req | Description |
|---|---|---|---|
| guest_token | string | yes | Private owner token returned by guest creation. Sent in X-Guest-Token; reuse it for this owner's resources. |
| id | string | yes | Audit ID, from `Audit.id`. |
No output schema declared.
No examples provided.
get_badge Get badge ~33
Metadata and markdown of the SVG badge of a shared report.
| Name | Type | Req | Description |
|---|---|---|---|
| slug | string | yes | 24-char public slug |
No output schema declared.
No examples provided.
get_fix_prompt Get fix prompt ~126
Read a saved prompt. It costs nothing, even after plan expiry. Preserve the complete prompt and license. Use it only for license.domain. This does not authorize deployments or infrastructure changes. Uses the authenticated owner and active organization. Returns the immutable text. A missing or foreign prompt returns 404. Does not consume allowance, credit or require an active plan.
| Name | Type | Req | Description |
|---|---|---|---|
| guest_token | string | – | Private owner token returned by guest creation. Sent in X-Guest-Token; reuse it for this owner's resources. |
| id | string | yes | Saved prompt ID from generation or the private list. |
No output schema declared.
No examples provided.
get_site Get site ~33
Read one site owned by the signed-in account.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Site ID from list_sites or add_site. |
No output schema declared.
No examples provided.
get_tool Get tool ~62
Copy and checks of one micro-tool by slug (e.g. title-tag-checker).
| Name | Type | Req | Description |
|---|---|---|---|
| language | string | – | Content language: pt (also pt-BR) for Portuguese; any other value or none returns English. |
| slug | string | yes | tool slug |
No output schema declared.
No examples provided.
health Health ~27
Liveness and the commit deployed right now — it is how the smoke waits for its own deploy.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
journeys Journeys ~69
Read the owned site's installation, actions, paths and ordered conversion funnel for the last seven days. Requires the account's browser session. Only this site's owner can read it. Data updates through the shared realtime transport. No user identity, typed text or screen recording.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Owned Site.id. |
No output schema declared.
No examples provided.
lab_result Lab result ~147
The lab tests of an audit (mobile and desktop): running, finished with scores, metrics and biggest savings, or failed. With wait (up to 25) it answers as soon as a running test finishes. Long-poll: with `wait` the answer comes as soon as a running test finishes, or after `wait` seconds with `status: running`. Repeat until it is not running.
| Name | Type | Req | Description |
|---|---|---|---|
| guest_token | string | yes | Private owner token returned by guest creation. Sent in X-Guest-Token; reuse it for this owner's resources. |
| id | string | yes | audit id |
| wait | number | – | seconds to wait for a running test, 0–25 |
No output schema declared.
No examples provided.
lab_test Lab test ~235
Starts a lab test of an audit's page: Lighthouse run by Google PageSpeed Insights (performance, accessibility, best practices, SEO). Answers 202 at once; the test takes ~25 s to 2+ minutes — then read it with lab_result. Does not change the audit score. Answers **202** at once; the test runs for ~25 s to over 2 minutes and its summary is stored in the audit (`summary.lab.<strategy>`), so it comes back in `GET /api/audits/:id`, in the tab and in the shared report. It does not change the audit score. Calling again while the same strategy is running does not start a second test. Limits: 4 tests at a time on the server, 6 per network per hour and 500 per day for the whole product. Free: no x402 charge.
| Name | Type | Req | Description |
|---|---|---|---|
| guest_token | string | yes | Private owner token returned by guest creation. Sent in X-Guest-Token; reuse it for this owner's resources. |
| id | string | yes | audit id |
| strategy | string | – | mobile (default) or desktop |
No output schema declared.
No examples provided.
list_audit_fix_prompts List audit fix prompts ~159
Find saved audits prompts before generation. Listing is free. Keep language and source filters when following the cursor. At most 100 saved rows per page, plus up to three earlier free audit receipts. Follow _links.next. A legacy receipt has id=null and legacy=true; the matching generation recovers it without a debit. The result belongs to the authenticated owner and active organization.
| Name | Type | Req | Description |
|---|---|---|---|
| after | string | – | Cursor from the preceding page. |
| guest_token | string | – | Private owner token returned by guest creation. Sent in X-Guest-Token; reuse it for this owner's resources. |
| id | string | yes | Owned source ID. |
| language | string | – | Prompt language: en (default) for English or pt for Portuguese. |
No output schema declared.
No examples provided.
list_domain_fix_prompts List domain fix prompts ~174
Find saved tabs prompts before generation. Listing is free. Keep language and source filters when following the cursor. At most 100 saved rows per page, plus up to three earlier free audit receipts. Follow _links.next. A legacy receipt has id=null and legacy=true; the matching generation recovers it without a debit. The result belongs to the authenticated owner and active organization.
| Name | Type | Req | Description |
|---|---|---|---|
| after | string | – | Cursor from the preceding page. |
| guest_token | string | – | Private owner token returned by guest creation. Sent in X-Guest-Token; reuse it for this owner's resources. |
| id | string | yes | Owned source ID. |
| language | string | – | Prompt language: en (default) for English or pt for Portuguese. |
| source | string | yes | domain: the saved domain observations of the tab. |
No output schema declared.
No examples provided.
list_plans List plans ~107
The plans for sale, with price and term, and the account's active plan. Each purchase lasts 30 days, with no automatic renewal. Each purchase lasts 30 days, with no automatic renewal. Without an account or wallet credential, `account` is `null`. Daily monitoring requires an account and its e-mail. Claim a wallet purchase after sign-in to use it there. Active Starter, Pro and Agency plans also include agent prompts for that account, within 60 requests/hour.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_site_fix_prompts List site fix prompts ~190
Find saved sites prompts before generation. Listing is free. Keep language and source filters when following the cursor. At most 100 saved rows per page, plus up to three earlier free audit receipts. Follow _links.next. A legacy receipt has id=null and legacy=true; the matching generation recovers it without a debit. The result belongs to the authenticated owner and active organization.
| Name | Type | Req | Description |
|---|---|---|---|
| after | string | – | Cursor from the preceding page. |
| guest_token | string | – | Private owner token returned by guest creation. Sent in X-Guest-Token; reuse it for this owner's resources. |
| id | string | yes | Owned source ID. |
| language | string | – | Prompt language: en (default) for English or pt for Portuguese. |
| report_id | string | – | Required for weekly. |
| source | string | yes | weekly: a saved weekly report. search_console: saved Search Console opportunities. |
No output schema declared.
No examples provided.
list_sites List sites ~76
Read up to 50 sites owned by the signed-in account. Follow next_cursor.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | next_cursor from the preceding page. |
| host | string | – | Exact lowercase domain without www. Returns at most one owned site, Search Console, Analytics and site-package state in the same response. Does not create a site. |
No output schema declared.
No examples provided.
list_tabs List tabs ~122
Lists the owner's saved pages (guest or session), with the active page's last report. Group pages by site to match the Projects table. One call loads the saved pages and the active page's last report. The UI groups pages by site in Projects and opens each site in a work tab. The introduction stays in Welcome. A signed-in account sends `X-Organization-Id`; a guest has one temporary workspace.
| Name | Type | Req | Description |
|---|---|---|---|
| guest_token | string | yes | Private owner token returned by guest creation. Sent in X-Guest-Token; reuse it for this owner's resources. |
No output schema declared.
No examples provided.
list_tools List tools ~53
Lists the micro-tools (title, meta, canonical, OG, JSON-LD…).
| Name | Type | Req | Description |
|---|---|---|---|
| language | string | – | Content language: pt (also pt-BR) for Portuguese; any other value or none returns English. |
No output schema declared.
No examples provided.
preview_domain_alerts Preview domain alerts ~122
Requires the account session, current X-Organization-Id and CSRF for writes. Review the exact selected domains before changing renewal notices. Does not activate monitors, purchase access or change certificate notice timing. Select up to 25 saved pages. Repeated registrable domains count once. The server checks the account, organization and current revisions again. A stale preview changes nothing. This does not activate monitoring or purchase access.
| Name | Type | Req | Description |
|---|---|---|---|
| lead_days | integer | yes | Days before domain expiry for renewal notices. |
| tabs | array | yes | One to 25 owned tab IDs. |
No output schema declared.
No examples provided.
pricing Pricing ~17
Current public prices and free allowances; no charge.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
prompt_allowance Prompt allowance ~52
Read remaining prompt units before generating. This does not use credit.
| Name | Type | Req | Description |
|---|---|---|---|
| guest_token | string | – | Private owner token returned by guest creation. Sent in X-Guest-Token; reuse it for this owner's resources. |
No output schema declared.
No examples provided.
How do I install the online.pageaudit/pageaudit MCP server?
online.pageaudit/pageaudit is a hosted endpoint at https://pageaudit.online/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · pageaudit.online
claude mcp add --transport http online-pageaudit-pageaudit 'https://pageaudit.online/mcp'
What is the online.pageaudit/pageaudit MCP server?
online.pageaudit/pageaudit is an MCP server listed in the public MCP registry as online.pageaudit/pageaudit. Technical SEO, passive security and page-delivery audits with evidence and suggested fixes. This page covers its hosted endpoint (https://pageaudit.online/mcp).
Is the online.pageaudit/pageaudit MCP server safe to use?
online.pageaudit/pageaudit scores 79 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the online.pageaudit/pageaudit MCP server expose?
online.pageaudit/pageaudit exposes 62 tools: list_sites, add_site, get_site, search_console, track_search_queries, and 57 more. Their descriptions and schemas cost roughly 9,473 tokens of context every time the server is loaded.
Does the online.pageaudit/pageaudit MCP server require authentication?
No. We connected to online.pageaudit/pageaudit without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the online.pageaudit/pageaudit MCP server still maintained?
online.pageaudit/pageaudit is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.