PageCritic
Server Details
Audit a landing page's conversion (score, top issues, fixes) and check if AI crawlers can read it.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 3 tools
Each tool has a clearly distinct purpose: conversion/UX auditing, AI-crawler visibility checking, and polling an async audit result. The descriptions even explicitly disambiguate ('Do not use it to judge design or copy (use audit_landing_page)'), leaving no realistic misselection risk.
All three names follow a clean snake_case verb_noun pattern (audit_landing_page, check_ai_readiness, get_audit_result). The verbs differ but are semantically accurate for each action, so the convention remains predictable.
Three tools is on the thin side, but the surface is well-scoped: one async job starter, one required poller, and one adjacent diagnostic. Nothing feels redundant or padding.
The audit lifecycle is covered end-to-end (start, poll, free vs paid report) plus an AI-readiness check, and competitor comparison is folded into the main audit. Minor gaps exist — no listing/history of past audits, no batch or scheduled re-audits — but agents can work around these.
Available Tools
3 toolsaudit_landing_pageAudit a landing page for conversionsARead-onlyInspect
Loads a public landing page in a real browser (desktop and mobile), and returns a conversion score from 0 to 100, seven sub-scores (clarity, value proposition, CTA, trust, design, mobile, SEO basics), the top 3 issues with concrete fixes, what already works, and a short AI-readiness score. Use it when someone wants feedback on why a homepage, landing page or pricing page does not convert, wants a second opinion before a launch, or wants to compare their page with a competitor's. Do not use it for pages behind a login, for non-HTML files, or for general SEO keyword research. It takes 30 to 90 seconds; if it returns status "running", call get_audit_result with the audit_id. The free result is complete on its own. The full report (10-15 more ranked issues, 3 headline and 3 CTA rewrites, 5 quick wins, mobile review, full AI-readiness fixes) costs $19 USD one-time, paid by a human at report_url. A URL audited through the API in the last 24 hours returns that same result. Limit: 5 new audits per hour per client, 20 with an API key. With an API key that has credits (Authorization: Bearer header; 10 full reports for $49, see https://pagecritic.app/developers), the result includes the full report.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Full URL of the public web page, e.g. https://example.com or https://example.com/pricing. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover readOnlyHint and openWorldHint, but the description adds substantial context beyond them: a 30-90 second runtime, an async 'running' status with a required follow-up call, per-hour rate limits (5 new / 20 with key), 24-hour result caching, auth via Bearer header, and the paid/free tiering at report_url. These are exactly the operational traits an agent needs and none of them are in the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is front-loaded with purpose and outputs, then usage, then operational behavior, and every sentence carries load (limits, caching, pricing, async). It is dense and slightly long, but the length is justified by the amount of distinct operational information rather than padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description carries the full burden of describing return values, and it does so in detail (score, sub-scores, issues, fixes, AI-readiness). It also covers async handling, rate limits, caching, auth, and pricing, leaving nothing an agent needs to invoke and follow up on the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required 'url' parameter and schema description coverage is 100%, so the schema already documents it fully (full URL, examples). The description adds no syntax or constraint detail beyond the schema, so the baseline of 3 for a fully-covered single param is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource (loads a public landing page in a real browser and audits it for conversions) and enumerates the exact outputs: a 0-100 score, seven named sub-scores, top 3 issues, working elements, and an AI-readiness score. It also names the sibling it hands off to (get_audit_result) when status is 'running', so it is distinguishable from both siblings without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit positive triggers (feedback on why a homepage/landing/pricing page does not convert, a second opinion before launch, competitor comparison) and explicit exclusions (pages behind a login, non-HTML files, general SEO keyword research). The async fallback to get_audit_result is also spelled out with its trigger condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_ai_readinessCheck if AI crawlers and agents can read a pageARead-onlyInspect
Fetches a public page as a normal browser and as GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-User and PerplexityBot, then reports which AI bots are blocked or get a challenge page, the robots.txt rule for each AI bot, how much text is visible without JavaScript, JSON-LD types, sitemap, Markdown versions and llms.txt, with a 0-100 score and prioritized fixes. Use it when someone asks whether ChatGPT, Claude or Perplexity can see or cite their site, or why their site does not show up in AI answers. Do not use it to judge design or copy (use audit_landing_page). It uses plain HTTP fetches, takes about 5-15 seconds, and is free (15 checks per hour per client).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Full URL of the public web page, e.g. https://example.com or https://example.com/pricing. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint and openWorldHint; the description adds genuinely new operational context: plain HTTP fetches (not a headless browser), a 5-15 second runtime, free usage and a 15-checks-per-hour-per-client rate limit. It also enumerates which signals are probed and that findings come back with a 0-100 score and prioritized fixes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and the multi-bot probe list, then usage conditions, exclusions and cost in a compact final sentence. The crawl of bot names and artifacts is dense but each item is an actual output the agent may need to report; only the bot enumeration is longer than strictly necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, yet the description covers what is returned (blocked/challenged status per bot, robots.txt rules, visible text without JS, JSON-LD types, sitemap, Markdown, llms.txt, score, fixes), how it runs, and how long it takes. Nothing an agent needs in order to call this correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter and schema coverage is 100%, so the schema already carries the baseline (which would be 3). The description adds the constraint that the target must be a *public* page, which is meaningful eligibility information beyond the schema's format example, though it stops short of further URL validation details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Starts with a concrete verb (fetches) and names the exact resources and scope: a public page fetched as a normal browser plus six named AI crawler user-agents, then reports blocking, robots.txt rules, text visibility, JSON-LD, sitemap, Markdown, llms.txt and a 0-100 score. It explicitly contrasts itself with the sibling audit_landing_page, so an agent can separate this from design/copy auditing without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit when-to-use trigger (someone asks whether ChatGPT, Claude or Perplexity can see or cite their site, or why the site doesn't appear in AI answers) and an explicit when-not-to-use with the named alternative (design or copy -> audit_landing_page). Nothing about the selection decision is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_audit_resultGet an audit result by idARead-onlyInspect
Returns the current result of an audit started with audit_landing_page, by its audit_id. Use it only when audit_landing_page returned status "running"; wait about 20 seconds between calls. Returns the same fields as audit_landing_page.
| Name | Required | Description | Default |
|---|---|---|---|
| audit_id | Yes | The 24-character audit_id returned by audit_landing_page. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds real behavioral context beyond that: the precondition that the audit must be running, and a polling cadence of ~20 seconds. It does not describe what happens if the audit is not running or has failed, which would have pushed this to a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the purpose, followed by the precondition and polling guidance. Every sentence earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter polling tool with no output schema, the description closes the important gaps: it states the return shape matches audit_landing_page and specifies the precondition and cadence. An agent has everything needed to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the description adds no meaning beyond it – the format hint ('24-character audit_id') is already in the schema. Baseline 3 is correct when the schema carries the parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Returns the current result of an audit') and ties it to the originating sibling ('started with audit_landing_page, by its audit_id'), so an agent can distinguish it from that sibling immediately.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit when-to-use condition ('only when audit_landing_page returned status "running"') plus concrete operational guidance ('wait about 20 seconds between calls') and a named alternative tool. Nothing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- First observed
audit_landing_page - First observed
check_ai_readiness - First observed
get_audit_result
Related MCP Connectors
Audit a landing page before paid ads: readiness score, ad pixels found, conversion paths, top fixes.
- seegeoOAuthcom.see-geo
Audit any website for AI visibility: graded report, findings with fixes, AI crawler access check.
AI website audit: security, SEO, performance, UX and accessibility checks with actionable fixes.
Audit a page for Google and AI search (ChatGPT, Claude, Perplexity); get a fix pack to apply.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables rapid analysis of landing pages for SEO compliance, conversion structure, color contrast accessibility, and performance metrics with automated optimization suggestions and code snippets.4 npm1MIT
- FlicenseNot gradedqualityDmaintenanceEnables to precheck landing pages and Figma frames for readiness to be cited in AI Overviews, providing audit scores, grades, and improvement actions.-
- AlicenseNot gradedqualityBmaintenanceEnables auditing any website for AI-answer readiness, returning a score and actionable fix list based on llms.txt, schema, sitemap, and related checks.MIT
- AlicenseNot gradedqualityCmaintenanceEvaluates any website's AI visibility with 15 checks across crawlability, structure, content, and connectivity, and provides actionable fixes.2 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.