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 分