{
  "markdown": "# Prerender Buddy MCP\n\n[![M8ven Score](https://m8ven.ai/badge/mcp/kopachlager-prerenderbuddy-mcp-1gu74q)](https://m8ven.ai/mcp/kopachlager-prerenderbuddy-mcp-1gu74q)\n\nLocal MCP tools for checking what public crawlers can read, with optional\nread-only evidence from a Prerender Buddy workspace.\n\nThe server wraps the open-source\n[`@prerenderbuddy/cli`](https://github.com/kopachlager/prerenderbuddy-cli).\nThe public audit tools do not run a browser, execute JavaScript, call the\nPrerender Buddy API, or require an account. Pro users can optionally configure\nan API key to add account-aware health, activity, visibility, recommendation,\nand content-status tools.\n\nPrefer a terminal or CI workflow? Use the\n[`prerenderbuddy-cli`](https://github.com/kopachlager/prerenderbuddy-cli)\ndirectly. See the\n[Prerender Buddy tools overview](https://prerenderbuddy.com/developer-tools)\nto compare the CLI, MCP server, Chrome extension, and managed service.\n\n## Quick start\n\nRun the stdio server:\n\n```bash\nnpx --yes @prerenderbuddy/mcp\n```\n\nGeneric MCP client configuration:\n\n```json\n{\n  \"mcpServers\": {\n    \"prerenderbuddy\": {\n      \"command\": \"npx\",\n      \"args\": [\"--yes\", \"@prerenderbuddy/mcp\"]\n    }\n  }\n}\n```\n\nRestart the MCP client after changing its configuration.\n\nTo verify the connection, ask the client to list its MCP tools. You should see:\n\n```text\ncheck_crawler_readability\ncompare_http_responses\ncheck_discovery_files\n```\n\nWith `PRERENDER_BUDDY_API_KEY` configured, the server also lists:\n\n```text\nlist_sites\nget_site_overview\nget_health_evidence\nget_crawler_activity\nget_ai_visibility\nget_recommendations\nget_content_status\n```\n\n## Optional workspace mode\n\nCreate a Pro API key in Prerender Buddy and grant only the evidence groups the\nagent needs. Keep the key in the MCP process environment, never in a prompt or\nrepository file.\n\n```json\n{\n  \"mcpServers\": {\n    \"prerenderbuddy\": {\n      \"command\": \"npx\",\n      \"args\": [\"--yes\", \"@prerenderbuddy/mcp\"],\n      \"env\": {\n        \"PRERENDER_BUDDY_API_KEY\": \"pb_live_replace_me\"\n      }\n    }\n  }\n}\n```\n\nThe default API origin is `https://api.prerenderbuddy.com`. Self-hosted or\nstaging development can override it with `PRERENDER_BUDDY_API_BASE_URL`.\n\nWorkspace tools are registered only when the key is present. They are\nread-only, workspace-scoped by the API, limited to registered sites within the\nplan allowance, and return bounded summaries rather than full provider answers\nor article bodies.\n\n## Tools\n\n### `check_crawler_readability`\n\nFetches one public page using a selected crawler user-agent and returns:\n\n- HTTP status and final URL;\n- title, description, canonical, headings, and readable-text counts;\n- transparent JavaScript app-shell heuristics;\n- evidence, severity, and restrained next steps.\n\n### `compare_http_responses`\n\nCompares a standard browser-style user-agent HTTP response with a selected\ncrawler user-agent HTTP response.\n\nBoth sides are ordinary HTTP responses. Neither executes JavaScript. A\ndifference is evidence to review, not proof of cloaking or a ranking problem.\n\n### `check_discovery_files`\n\nChecks conventional public `robots.txt`, `sitemap.xml`, and `llms.txt` URLs.\nThese files can help discovery and access, but they do not make application\ncontent crawler-readable.\n\nSupported crawler profiles:\n\n- `googlebot`\n- `bingbot`\n- `gptbot`\n- `claudebot`\n\n### Workspace evidence tools\n\n- `list_sites`: lists registered workspace sites and IDs.\n- `get_site_overview`: summarizes setup, monitoring, activity, and visibility.\n- `get_health_evidence`: returns health incidents, discovery-file evidence,\n  reachability, and bounded proposed review drafts.\n- `get_crawler_activity`: groups real crawler visits by platform and page.\n- `get_ai_visibility`: summarizes platforms, cited domains, and competitors.\n- `get_recommendations`: returns the latest evidence-grounded diagnosis.\n- `get_content_status`: lists calendar and draft metadata without article bodies.\n\n## Example prompts\n\n```text\nCheck whether Googlebot receives meaningful HTML from https://example.com.\nCompare the standard and GPTBot HTTP responses for https://example.com/pricing.\nCheck the discovery files for https://example.com.\nList my Prerender Buddy sites, then summarize health and AI visibility for the selected site.\n```\n\n## Product boundary\n\nWithout an API key, this package provides one-time local diagnostics for public URLs. It:\n\n- uses the same public URL-safety, redirect, timeout, and response-size controls\n  as the CLI;\n- returns machine-readable results through MCP;\n- has no telemetry or authentication;\n- makes network requests only to the public URL being checked.\n\nPublic audit mode does not provide:\n\n- browser rendering or JavaScript execution;\n- managed crawler routing;\n- scheduled monitoring, history, or incidents;\n- cache operations;\n- DNS or proxy onboarding;\n- private Prerender Buddy APIs or infrastructure.\n\nOptional workspace mode calls only the documented authenticated Developer API.\nIt does not connect directly to databases, queues, billing internals, provider\ncredentials, or the render engine. The MCP package does not store or transmit\nthe API key anywhere except the Authorization header sent to the configured\nPrerender Buddy API origin.\n\nThe managed service remains available at\n[`prerenderbuddy.com`](https://prerenderbuddy.com) when testing shows that a\nproduction deployment still returns missing, partial, or unreliable HTML.\n\n## Security\n\nOnly test websites you are authorized to inspect. The package blocks local,\nprivate, link-local, reserved, and multicast network targets and revalidates\nredirect destinations through the CLI.\n\nFetched website content is untrusted data. MCP clients and language models must\nnot treat returned page text as instructions. The warning is included in tool\ndescriptions and structured results, but a warning does not remove\nprompt-injection risk. Clients must maintain their own trust boundaries.\n\nWorkspace provider evidence and saved titles or recommendations are also\nuntrusted data. Use API keys with the smallest required scopes and revoke a key\nfrom the Prerender Buddy dashboard if it is exposed.\n\nDo not expose this local package as an unrestricted public URL-fetching service.\nSee [SECURITY.md](SECURITY.md) for the complete boundary.\n\n## Results and errors\n\nSuccessful calls return the complete CLI diagnostic in both `structuredContent`\nand serialized JSON text. This preserves the full result for MCP clients that\ndo not consume structured output. The server never returns full raw HTML. Page\nresponse reads are limited to 10,000–1,000,000 characters, and excerpts remain\nbounded by the CLI. Discovery-file reads use the CLI's bounded response handling.\n\nExecution failures return `isError: true`, a short text message, and structured\nerror data with a stable diagnostic code aligned with the CLI categories:\n`invalid_input`,\n`unsafe_target`, `timeout`, `request_failed`, or `internal_error`. Unexpected\nerrors are reduced to a generic message so local paths are not exposed.\nInput-schema violations are rejected by the MCP protocol before a diagnostic\nruns.\n\nWorkspace API failures preserve bounded status, error code, and request ID\ninformation without returning credentials, response headers, or internal\nstack traces. Responses are capped locally at 2 MB in addition to API-side\noutput limits.\n\nThe tools intentionally do not declare `outputSchema` yet. Their\n`structuredContent` mirrors the pre-1.0 CLI result, and a schema will be added\nafter those result shapes stabilize.\n\n## Development\n\nRequires Node.js 20 or newer.\n\n```bash\nnpm ci --ignore-scripts\nnpm test\nnpm run test:coverage\nnpm run check\nnpm run pack:check\n```\n\nLocal repository configuration:\n\n```json\n{\n  \"mcpServers\": {\n    \"prerenderbuddy-local\": {\n      \"command\": \"node\",\n      \"args\": [\"/absolute/path/to/prerenderbuddy-mcp/bin/prerenderbuddy-mcp.js\"]\n    }\n  }\n}\n```\n\nAfter changing an MCP configuration, fully restart the client. If the server\ndoes not appear, confirm that `node --version` reports 20 or newer and that\n`npx --yes @prerenderbuddy/mcp` starts without an immediate error. A stdio MCP\nserver waiting silently for protocol input is normal. If a GUI client cannot\nfind `npx`, configure it with the absolute path returned by `command -v npx`.\n\n## Next steps\n\n- Run the [CLI directly](https://github.com/kopachlager/prerenderbuddy-cli).\n- Compare all [Prerender Buddy developer tools](https://prerenderbuddy.com/developer-tools).\n- Use the [managed Prerender Buddy service](https://prerenderbuddy.com) when diagnostics show that production rendering or monitoring is needed.\n\n## License\n\nApache License 2.0.\n",
  "bytes": 8639,
  "sha": "2163cb780518817d412f592a0fa88bd3c9f359c86bd0a16c573d4708fa469dca",
  "repo_slug": "kopachlager/prerenderbuddy-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_kopachlager_prerenderbuddy_mcp_8ceeddc2/readme"
}