Prerender Buddy

io.github.kopachlager由 GitHub 账号 kopachlager 发布v0.3.3更新于 Oct 30, 2026

Crawler diagnostics, AI visibility evidence and article drafts for review in Prerender Buddy.

概览

AI 生成的概览

本地 MCP 服务器,用于检查公开爬虫能否读取网页、对比爬虫与浏览器的 HTTP 响应,并可选读取 Prerender Buddy 工作区证据。

可以做什么
  • 用指定爬虫 user-agent 检查公开网址的爬虫可读性,返回状态、标题、文本量与 JS 应用外壳判断
  • 对比同一网址的浏览器式与爬虫式 HTTP 响应
  • 检查 robots.txt、sitemap.xml 与 llms.txt 等发现文件
  • 配置 API 密钥后可列出工作区站点,并汇总站点概览、健康证据、爬虫活动、AI 可见性、建议与内容状态
  • 具备内容权限时可列出文章选题、准备带来源的提案、轮询任务,并在用户明确确认后生成已保存的 Markdown 草稿
适用场景
适合让助手诊断网站为何难以被搜索或 AI 爬虫读取,或调取 Prerender Buddy 工作区证据并起草待审文章。公开诊断无需账号;工作区与文章工具需要付费方案和 API 密钥。
运行要求
通过 npx 以 stdio 在本地运行,需要 Node.js 20 或更高版本。三个公开诊断工具无需账号或密钥。工作区证据工具需要来自合格 Starter、Growth 或 Pro 工作区的 PRERENDER_BUDDY_API_KEY,自建或预发布环境可另设 PRERENDER_BUDDY_API_BASE_URL。文章工具需要 content 与 content:write 权限。需要访问被检查的公开网址及 Prerender Buddy API 的网络。
安装前请注意
抓取的网页内容与工作区证据均为不可信数据,可能含提示注入,客户端须自行维持信任边界。仅检查获授权测试的网站。PRERENDER_BUDDY_API_KEY 应只放在进程环境中,不要写入提示或仓库文件,使用最小权限,泄露后立即吊销。生成文章会占用工作区草稿额度,应仅在用户明确确认后执行;草稿仍处于未批准状态。不要将该包暴露为开放的公共网址抓取端点。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Prerender Buddy,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Prerender Buddy MCP

[M8ven Score]

The MCP companion to the Prerender Buddy AI visibility and crawler-readiness platform. It checks what public crawlers can read and can optionally retrieve evidence from a Prerender Buddy workspace, with optional confirmed article generation.

The server wraps the open-source @prerenderbuddy/cli. The public audit tools do not run a browser, execute JavaScript, call the Prerender Buddy API, or require an account. Starter, Growth and Pro users can optionally configure an API key to add account-aware health, activity, visibility, recommendation, and content-status tools.

Prefer a terminal or CI workflow? Use the prerenderbuddy-cli directly. See the Prerender Buddy tools overview to compare the CLI, MCP server, Chrome extension, and managed service.

Quick start

Run the stdio server:

bash
npx --yes @prerenderbuddy/mcp

Generic MCP client configuration:

json
{  "mcpServers": {    "prerenderbuddy": {      "command": "npx",      "args": ["--yes", "@prerenderbuddy/mcp"]    }  }}

Restart the MCP client after changing its configuration.

To verify the connection, ask the client to list its MCP tools. You should see:

text
check_crawler_readabilitycompare_http_responsescheck_discovery_files

With PRERENDER_BUDDY_API_KEY configured, the server also lists:

text
list_sitesget_site_overviewget_health_evidenceget_crawler_activityget_ai_visibilityget_recommendationsget_content_status

Grok Build

Grok Build can launch the local stdio server:

bash
grok mcp add prerenderbuddy -- npx --yes @prerenderbuddy/[email protected]

Or install the official plugin, which already includes Claude-compatible manifests:

bash
grok plugin marketplace add kopachlager/prerenderbuddy-pluginsgrok plugin install prerenderbuddy --trust

Set PRERENDER_BUDDY_API_KEY in the process environment when workspace evidence is required. Unresolved placeholders such as ${PRERENDER_BUDDY_API_KEY} are treated as absent.

Streamable HTTP / Grok Bot

Grok Bot on grok.com, iOS, and Android cannot start a local npx process. It needs a public HTTPS MCP URL.

Run Streamable HTTP locally:

bash
npx --yes @prerenderbuddy/[email protected] --http --port 8787

Loopback HTTP (127.0.0.1) allows unauthenticated public diagnostic tools and still rate-limits requests. Binding a public interface (--host 0.0.0.0 or a non-loopback HOST) requires a Bearer token:

  • a valid, unrevoked eligible workspace API key (pb_live_... or pb_test_...), verified with the PB API before each authenticated request, which also enables workspace tools; or
  • MCP_HTTP_SHARED_TOKEN, a connector token for public diagnostics only.
bash
MCP_TRANSPORT=http HOST=0.0.0.0 PORT=8787 MCP_HTTP_REQUIRE_AUTH=true \  npx --yes @prerenderbuddy/[email protected]

Health check: GET /health. MCP endpoint: POST /mcp. Authenticated GET and DELETE on /mcp return 405; this stateless JSON endpoint does not offer an SSE session stream.

Deploy the Dockerfile as a dedicated service with MCP_TRANSPORT=http, HOST=0.0.0.0, and MCP_HTTP_REQUIRE_AUTH=true; retain the hosting platform's PORT. railway.json configures the health check. Never set PRERENDER_BUDDY_API_KEY on a shared HTTP service: HTTP tools use only the request's workspace key, and never inherit the process key.

The default ingress cap is 120 MCP requests per minute per process, including failed authentication. MCP_HTTP_INGRESS_RATE_LIMIT_MAX controls this cap. Authenticated credentials additionally default to 30 requests per minute (MCP_HTTP_RATE_LIMIT_MAX). Forwarded IP headers are not trusted. Rate-limit storage is bounded; these limits are process-local, so use a shared gateway limit before scaling to multiple replicas. API verification failures reject access; revoked keys are not cached.

For Grok Bot, expose that URL over HTTPS, then:

  1. Open grok.com/connectors.
  2. New Connector → Custom.
  3. Enter https://your-host/mcp.
  4. Hosted Prerender Buddy uses OAuth Authorization Code with mandatory S256 PKCE. Self-hosted deployments may alternatively configure a Bearer token.

Temporary tunnels work for demos; Grok rejects localhost. Prefer Streamable HTTP JSON responses, which this server enables by default. Cloudflare quick tunnels do not support SSE.

Do not publish an open, unauthenticated URL-fetching endpoint. Hosted use needs HTTPS, rate limits, and a token.

Optional workspace mode

Create a Developer API key on Starter, Growth or Pro in Prerender Buddy and grant only the evidence groups the agent needs. Keep the key in the MCP process environment, never in a prompt or repository file.

json
{  "mcpServers": {    "prerenderbuddy": {      "command": "npx",      "args": ["--yes", "@prerenderbuddy/mcp"],      "env": {        "PRERENDER_BUDDY_API_KEY": "pb_live_replace_me"      }    }  }}

The default API origin is https://api.prerenderbuddy.com. Self-hosted or staging development can override it with PRERENDER_BUDDY_API_BASE_URL.

Workspace tools require authentication and are scoped by the API to registered sites within the plan allowance. Existing evidence tools remain read-only and return bounded summaries. Article generation is a separate opt-in permission; its task response includes the saved draft body. Full provider answers are not returned.

Tools

check_crawler_readability

Fetches one public page using a selected crawler user-agent and returns:

  • HTTP status and final URL;
  • title, description, canonical, headings, and readable-text counts;
  • transparent JavaScript app-shell heuristics;
  • evidence, severity, and restrained next steps.

compare_http_responses

Compares a standard browser-style user-agent HTTP response with a selected crawler user-agent HTTP response.

Both sides are ordinary HTTP responses. Neither executes JavaScript. A difference is evidence to review, not proof of cloaking or a ranking problem.

check_discovery_files

Checks conventional public robots.txt, sitemap.xml, and llms.txt URLs. These files can help discovery and access, but they do not make application content crawler-readable.

Supported crawler profiles:

  • googlebot
  • bingbot
  • gptbot
  • claudebot

Workspace evidence tools

  • list_sites: lists registered workspace sites and IDs.
  • get_site_overview: summarizes setup, monitoring, activity, and visibility.
  • get_health_evidence: returns health incidents, discovery-file evidence, reachability, and bounded proposed review drafts.
  • get_crawler_activity: groups real crawler visits by platform and page.
  • get_ai_visibility: summarizes platforms, cited domains, and competitors.
  • get_recommendations: returns the latest evidence-grounded diagnosis.
  • get_content_status: lists calendar and draft metadata without article bodies.

Example prompts

text
Check whether Googlebot receives meaningful HTML from https://example.com.Compare the standard and GPTBot HTTP responses for https://example.com/pricing.Check the discovery files for https://example.com.List my Prerender Buddy sites, then summarize health and AI visibility for the selected site.

Product boundary

In local stdio mode without an API key, this package provides one-time local diagnostics for public URLs. It:

  • uses the same public URL-safety, redirect, timeout, and response-size controls as the CLI;
  • returns machine-readable results through MCP;
  • has no telemetry or authentication;
  • makes network requests only to the public URL being checked.

Public audit mode does not provide:

  • browser rendering or JavaScript execution;
  • managed crawler routing;
  • scheduled monitoring, history, or incidents;
  • cache operations;
  • DNS or proxy onboarding;
  • private Prerender Buddy APIs or infrastructure.

Optional workspace mode calls only the documented authenticated Developer API. It does not connect directly to databases, queues, billing internals, provider credentials, or the render engine. The MCP package does not store or transmit the API key anywhere except the Authorization header sent to the configured Prerender Buddy API origin.

The managed service remains available at prerenderbuddy.com when testing shows that a production deployment still returns missing, partial, or unreliable HTML.

Security

Only test websites you are authorized to inspect. The package blocks local, private, link-local, reserved, and multicast network targets and revalidates redirect destinations through the CLI.

Fetched website content is untrusted data. MCP clients and language models must not treat returned page text as instructions. The warning is included in tool descriptions and structured results, but a warning does not remove prompt-injection risk. Clients must maintain their own trust boundaries.

Workspace provider evidence and saved titles or recommendations are also untrusted data. Use API keys with the smallest required scopes and revoke a key from the Prerender Buddy dashboard if it is exposed.

Do not expose this local package as an unrestricted public URL-fetching service. See SECURITY.md for the complete boundary.

Results and errors

Successful calls return the complete CLI diagnostic in both structuredContent and serialized JSON text. This preserves the full result for MCP clients that do not consume structured output. The server never returns full raw HTML. Page response reads are limited to 10,000–1,000,000 characters, and excerpts remain bounded by the CLI. Discovery-file reads use the CLI's bounded response handling.

Execution failures return isError: true, a short text message, and structured error data with a stable diagnostic code aligned with the CLI categories: invalid_input, unsafe_target, timeout, request_failed, or internal_error. Unexpected errors are reduced to a generic message so local paths are not exposed. Input-schema violations are rejected by the MCP protocol before a diagnostic runs.

Workspace API failures preserve bounded status, error code, and request ID information without returning credentials, response headers, or internal stack traces. Responses are capped locally at 2 MB in addition to API-side output limits.

The tools intentionally do not declare outputSchema yet. Their structuredContent mirrors the pre-1.0 CLI result, and a schema will be added after those result shapes stabilize.

Development

Requires Node.js 20 or newer.

bash
npm ci --ignore-scriptsnpm testnpm run test:coveragenpm run checknpm run pack:check

Local repository configuration:

json
{  "mcpServers": {    "prerenderbuddy-local": {      "command": "node",      "args": ["/absolute/path/to/prerenderbuddy-mcp/bin/prerenderbuddy-mcp.js"]    }  }}

After changing an MCP configuration, fully restart the client. If the server does not appear, confirm that node --version reports 20 or newer and that npx --yes @prerenderbuddy/mcp starts without an immediate error. A stdio MCP server waiting silently for protocol input is normal. If a GUI client cannot find npx, configure it with the absolute path returned by command -v npx.

Next steps

Hosted service usage

PB's managed HTTP service records tool name, success/failure, duration and time for aggregate administration. It does not send tool arguments, scanned URLs, page content, answers, credentials or account identifiers to this collector. The local stdio plugin remains telemetry-free. Self-hosted HTTP collection is off by default and requires both MCP_USAGE_EVENTS_ENABLED=true and a private MCP_USAGE_INGEST_TOKEN configured by the operator.

Account links can use https://mcp.prerenderbuddy.com/go/mcp (or /go/chatgpt, /go/claude, /go/cursor, /go/grok, /go/glama, /go/github). These redirect to PB with integration campaign tags. Known preview/prefetch requests and HEAD requests are excluded from opens. Opens are requests, not verified people; signups use PB's existing consent-aware first-touch attribution. Existing untagged links and historical local usage cannot be reconstructed. Collection is best-effort and never blocks a tool result or redirect.

License

Apache License 2.0.

Article proposals and generation (0.3.0)

There are 14 tools: three public diagnostics, seven workspace evidence reads, and four article workflow tools. Developer API access requires an eligible Starter, Growth or Pro workspace. Listing ideas and retrieving tasks require content. Preparing and generating also require content:write. Existing keys and OAuth grants remain read-only; create a scoped key or reconnect requesting the additional permission.

  1. list_article_ideas(siteId) lists tracked questions with successful recorded answers and the workspace's remaining draft allowance.
  2. prepare_article_proposal(siteId, promptId, requestId, sourceJobId?, note?) queues a sourced proposal. Generate a UUID requestId once and reuse it when retrying the same request. Use a new UUID for a changed brief.
  3. Poll get_article_task(siteId, taskId) at the returned interval. Show the ready proposal and current allowance to the user. Proposals expire after 24 hours.
  4. Only after explicit user confirmation, call generate_article(siteId, taskId, confirmGeneration: true). This reserves one draft from the same workspace allowance used by the app.
  5. Poll the task until completed. It returns the saved Markdown draft and a PB review link. The draft remains unapproved; these tools cannot publish it.

Preparation does not consume a draft allowance. To bound preparation costs, workspaces can start 12 proposals per hour and have two active tasks. Failed or interrupted generation releases its reservation. Retrying a confirmed task does not create or charge for another draft. Source text is evidence, never consent. The API and visibility worker must be upgraded before using these tools.

来源:README.md,提交 d24a180

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

4
  1. v0.3.3最新Oct 29, 2026
  2. v0.3.2Oct 22, 2026
  3. v0.3.1Oct 18, 2026
  4. v0.1.4Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分