Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

io.github.Custodia-Admin/pagebolt

NPM · PAGEBOLT-MCP · SCANNED AUG 3

Screenshots, PDFs, OG images, page inspection, and narrated video recording for Claude and Cursor.

Available components

+19 this week 69 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →

Supply Chain Security87
  • No malware found by supply-chain analysis.Pass
  • Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree.Partial
  • No install/post-install scripts declared.Pass
  • Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency45
Schema Quality & AI Usability72
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 4554 tokens (~379/item across 12 items; 11 tools + 1 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 Management27
  • Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
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
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

npm · pagebolt-mcp

# add to Claude Code
claude mcp add custodia-admin-pagebolt -- npx -y pagebolt-mcp
# add to Codex CLI
codex mcp add custodia-admin-pagebolt -- npx -y pagebolt-mcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "custodia-admin-pagebolt": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "pagebolt-mcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add custodia-admin-pagebolt --command npx --arg -y --arg pagebolt-mcp
# ~/.hermes/config.yaml
mcp_servers:
  custodia-admin-pagebolt:
    command: "npx"
    args: ["-y", "pagebolt-mcp"]
// mcp.json
{
  "mcpServers": {
    "custodia-admin-pagebolt": {
      "command": "npx",
      "args": [
        "-y",
        "pagebolt-mcp"
      ]
    }
  }
}
Changelog

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.

  • 3 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

  • 2 Aug 26 +39
    • Provenance: unverified → fail security
    • Install scripts: unverified → pass security
    • Known CVEs: unverified → partial security
    • Malware scan: unverified → pass security
    • Stability: Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. security
    • Capabilities: pass → unverified functional
    • Schema quality: unverified → excellent functional
    • License: unverified → pass functional
    • Stability: unverified → 0.23 functional
    • Dependency health: unverified → partial functional
    • Maintenance: unverified → pass functional
    • Licence: MIT functional
  • 31 Jul 26 −3
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 −18
    • Malware scan: pass → unverified security
  • 27 Jul 26 50

    First indexed and scored.

Diagnostics

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 3 Aug 2026 · Analysed npm/[email protected]

Provenance none

Ecosystem: npm · Outcome: none

Dependencies 95 packages

95 packages in the resolved dependency tree · 95 deprecated · 29 stale.

The dependency tree was only partially resolved, so these counts may be incomplete.

MCP tools — 11 exposed · ~3,239 tokens

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.

Tool Tokens
check_usage ~19

Check your current PageBolt API usage and plan limits.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

create_og_image ~221

Generate an Open Graph / social card image. Returns an image using built-in templates or custom HTML.

NameTypeReqDescription
accentColorstringAccent color as hex, e.g. "#6366f1"
bgColorstringBackground color as hex, e.g. "#0f172a"
bgImagestringBackground image URL
formatstringImage format (default: png)
heightintegerImage height in pixels (default: 630)
htmlstringCustom HTML template (overrides template parameter, Growth plan+)
logostringLogo image URL
subtitlestringSubtitle text
templatestringBuilt-in template name (default: "default")
textColorstringText color as hex, e.g. "#f8fafc"
titlestringMain title text (default: "Your Title Here")
widthintegerImage width in pixels (default: 1200)

No output schema declared.

No examples provided.

create_session ~155

Create a persistent browser session (Starter+ plan required). The session keeps a live browser page open so you can reuse cookies, localStorage, and auth state across multiple take_screenshot or run_sequence calls. Pass the returned session_id to those tools. Sessions expire after 10 minutes of inactivity (hard cap: 30 minutes). Useful for AI agent workflows that log in once and then take multiple screenshots of authenticated pages.

NameTypeReqDescription
cookiesarrayCookies to pre-load into the session browser page
stealthbooleanLaunch this session with stealth mode (bypasses bot detection). Note: stealth sessions use a dedicated browser and consume more memory.
viewportobjectViewport dimensions for the session browser page

No output schema declared.

No examples provided.

destroy_session ~58

Explicitly destroy a persistent browser session before it expires. Frees the browser page immediately. Use this when you are done with a session to free up capacity.

NameTypeReqDescription
session_idstringyesThe session ID to destroy (returned by create_session)

No output schema declared.

No examples provided.

generate_pdf ~316

Generate a PDF from a URL or HTML content. Supports custom margins, headers/footers, page ranges, and scaling. Saves the PDF to disk and returns the file path.

NameTypeReqDescription
delayintegerMilliseconds to wait before rendering (default: 0)
displayHeaderFooterbooleanShow header and footer (default: false)
footerTemplatestringHTML template for page footer
formatstringPaper format: A4, Letter, Legal, Tabloid, A3, A5 (default: A4)
headerTemplatestringHTML template for page header (uses Chromium templating)
htmlstringRaw HTML to render as PDF (required if no url)
landscapebooleanLandscape orientation (default: false)
marginCSS margin — string for all sides (e.g. "1cm") or object { top, right, bottom, left }
pageRangesstringPage ranges to include, e.g. "1-5, 8"
printBackgroundbooleanInclude CSS backgrounds (default: true)
saveTostringOutput file path (default: ./output.pdf)
scalenumberRendering scale 0.1-2 (default: 1)
urlstringURL to render as PDF (required if no html)
widthstringPage width (overrides format) — CSS value like "8.5in"

No output schema declared.

No examples provided.

inspect_page ~570

Inspect a web page and get a structured map of all interactive elements, headings, forms, links, and images — each with a unique CSS selector. Use this BEFORE run_sequence or record_video to discover what elements exist on the page and get reliable selectors. Returns text (not an image), so it is fast and cheap. Costs 1 API request.

NameTypeReqDescription
authorizationstringAuthorization header value (e.g. "Bearer <token>")
blockAdsbooleanBlock advertisements on the page
blockBannersbooleanHide cookie consent banners (default: false)
blockChatsbooleanBlock live chat widgets
blockRequestsarrayURL patterns to block
blockResourcesarrayResource types to block
blockTrackersbooleanBlock tracking scripts
bypassCSPbooleanBypass Content-Security-Policy on the page
cookiesarrayCookies to set — array of "name=value" strings or { name, value, domain? } objects
darkModebooleanEmulate dark color scheme (default: false)
deviceScaleFactornumberDevice pixel ratio (default: 1)
geolocationobjectEmulate geolocation
headersobjectExtra HTTP headers to send with the request
heightintegerViewport height in pixels (default: 720)
hideSelectorsarrayArray of CSS selectors to hide before inspecting
htmlstringRaw HTML to inspect (required if no url)
injectCssstringCustom CSS to inject before inspecting
injectJsstringCustom JavaScript to execute before inspecting
mediaTypestringEmulate CSS media type
navigationTimeoutintegerNavigation timeout in ms (default: 25000)
reducedMotionbooleanEmulate prefers-reduced-motion
timeZonestringOverride browser timezone
urlstringURL to inspect (required if no html)
userAgentstringOverride the browser User-Agent string
viewportDevicestringDevice preset for viewport emulation (e.g. "iphone_14_pro"). Use list_devices to see all presets.
viewportHasTouchbooleanEnable touch event emulation
viewportLandscapebooleanLandscape orientation
viewportMobilebooleanEnable mobile meta viewport emulation
waitForSelectorstringWait for this CSS selector to appear before inspecting
waitUntilstringWhen to consider navigation finished (default: networkidle2)
widthintegerViewport width in pixels (default: 1280)

No output schema declared.

No examples provided.

list_devices ~47

List all available device presets for viewport emulation (e.g. iphone_14_pro, macbook_pro_14). Use the returned device names with the viewportDevice parameter in take_screenshot.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_sessions ~43

List all active persistent browser sessions for your API key. Returns session IDs, creation times, and expiry times. Useful for checking which sessions are still alive before reusing them.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

record_video ~619

Record a professional demo video of a multi-step browser automation sequence. Produces MP4/WebM/GIF with cursor highlighting, click effects, smooth movement, step notes, browser frame (macOS/Windows), gradient/glass backgrounds, and more. Costs 3 API requests. Saves to disk. BEST PRACTICE: Keep videos concise (5-15 action steps). Do NOT add wait steps between every action — the pace parameter handles timing. Only use wait for page loads or narration holds. Do NOT use zoom unless the user explicitly asks for it.

NameTypeReqDescription
audioGuideobjectAudio Guide TTS settings. Two modes: (1) Per-step — add "narration" to individual steps. (2) Script — provide "script" with {{N}} markers for continuous narration synchronized to steps.
autoZoombooleanEnable auto-zoom on all clicks (default: false). Only use when user explicitly requests zoom.
backgroundobjectStyled background behind the video. Adds gradient/solid background with padding and rounded corners — creates a "floating window" effect.
blockAdsbooleanBlock advertisements on the page
blockBannersbooleanHide cookie consent banners (default: true for videos)
blockChatsbooleanBlock live chat widgets
blockTrackersbooleanBlock tracking scripts
clickEffectobjectVisual click effect settings
cursorobjectCursor appearance settings
darkModebooleanEmulate dark color scheme (default: false)
deviceScaleFactornumberDevice pixel ratio (default: 1)
formatstringVideo format (default: mp4). webm/gif require Starter+ plan.
frameobjectBrowser chrome frame around the video. Adds a macOS/Windows-style title bar.
framerateintegerFrames per second: 24, 30, or 60 (default: 30)
paceControls how deliberate the video feels. Number (0.25–6.0, higher = slower) or preset: "fast" (0.5×), "normal" (1×), "slow" (2×), "dramatic" (3×), "cinematic" (4.5×). Default: "normal".
saveTostringOutput file path (default: ./recording.mp4)
stepsarrayyesArray of action steps to record. Keep concise: 5-15 steps is ideal. Do NOT pad with wait steps — pace handles timing.
variablesobjectKey-value map for variable substitution in step URLs/values. E.g. { "base_url": "https://example.com" } replaces {{base_url}} in steps.
viewportobjectBrowser viewport size
zoomobjectGlobal zoom settings. Only use when the user explicitly requests zoom. Do NOT enable by default.

No output schema declared.

No examples provided.

run_sequence ~228

Execute a multi-step browser automation sequence. Navigate pages, interact with elements (click, fill, select), and capture multiple screenshots/PDFs in a single browser session. Each output counts as 1 API request.

NameTypeReqDescription
blockAdsbooleanBlock advertisements on the page
blockBannersbooleanHide cookie consent banners (default: false)
blockChatsbooleanBlock live chat widgets
blockTrackersbooleanBlock tracking scripts
darkModebooleanEmulate dark color scheme (default: false)
deviceScaleFactornumberDevice pixel ratio (default: 1)
session_idstringPersistent session ID (Starter+ only). Reuse a live browser page created with create_session — browser state (cookies, localStorage, auth) carries over from previous requests in this session.
stepsarrayyesArray of steps to execute in order. Must include at least one screenshot or pdf step. Max 20 steps, max 5 outputs.
viewportobjectBrowser viewport size

No output schema declared.

No examples provided.

take_screenshot ~963

Capture a screenshot of a URL, HTML, or Markdown content. Supports device emulation, ad/chat/tracker blocking, metadata extraction, geolocation, timezone, styling (macOS/Windows frames, gradient/glass backgrounds, shadows), and more. Returns an image (PNG, JPEG, or WebP).

NameTypeReqDescription
authorizationstringAuthorization header value (e.g. "Bearer <token>")
blockAdsbooleanBlock advertisements on the page
blockBannersbooleanHide cookie consent banners (default: false)
blockChatsbooleanBlock live chat widgets on the page
blockRequestsarrayURL patterns to block (array of strings)
blockResourcesarrayResource types to block (e.g. ["image", "font"])
blockTrackersbooleanBlock tracking scripts on the page
bypassCSPbooleanBypass Content-Security-Policy on the page
clickstringCSS selector to click before capturing the screenshot
clipobjectCrop region { x, y, width, height } in pixels
cookiesarrayCookies to set — array of "name=value" strings or { name, value, domain? } objects
darkModebooleanEmulate dark color scheme (default: false)
delayintegerMilliseconds to wait before capture (default: 0)
deviceScaleFactornumberDevice pixel ratio, use 2 for retina (default: 1)
extractMetadatabooleanExtract page metadata (title, description, OG tags) alongside the screenshot
formatstringImage format (default: png)
fullPagebooleanCapture the full scrollable page (default: false)
fullPageMaxHeightintegerMaximum pixel height cap for full-page captures
fullPageScrollbooleanAuto-scroll page before capture to trigger lazy-loaded images
fullPageScrollByintegerPixels to scroll per step (default: viewport height)
fullPageScrollDelayintegerDelay between scroll steps in ms (default: 400)
geolocationobjectEmulate geolocation { latitude, longitude, accuracy? }
headersobjectExtra HTTP headers to send with the request
heightintegerViewport height in pixels (default: 720)
hideSelectorsarrayArray of CSS selectors to hide before capture
htmlstringRaw HTML to render (required if no url/markdown)
injectCssstringCustom CSS to inject before capturing (max 50KB)
injectJsstringCustom JavaScript to execute before capturing (max 50KB)
markdownstringRender Markdown content as a screenshot
mediaTypestringEmulate CSS media type
navigationTimeoutintegerNavigation timeout in ms (default: 25000)
omitBackgroundbooleanTransparent background (PNG/WebP only)
qualityintegerJPEG/WebP quality 1-100 (default: 80)
reducedMotionbooleanEmulate prefers-reduced-motion to disable animations
selectorstringCSS selector to capture a specific element
session_idstringPersistent session ID (Starter+ only). Reuse a live browser page created with create_session — browser state (cookies, localStorage, auth) carries over from previous requests in this session.
styleobjectScreenshot styling options — add a macOS/Windows frame, gradient/glass background, shadow, and rounded corners. Use the "theme" shortcut for one-click presets, or customize individual properties.
timeZonestringOverride browser timezone (e.g. "America/New_York")
urlstringURL to capture (required if no html/markdown)
userAgentstringOverride the browser User-Agent string
viewportDevicestringDevice preset for viewport emulation (e.g. "iphone_14_pro", "macbook_pro_14"). Use list_devices to see all presets.
viewportHasTouchbooleanEnable touch event emulation
viewportLandscapebooleanLandscape orientation
viewportMobilebooleanEnable mobile meta viewport emulation
waitForSelectorstringWait for this CSS selector to appear before capturing
waitUntilstringWhen to consider navigation finished (default: networkidle2)
widthintegerViewport width in pixels (default: 1280)

No output schema declared.

No examples provided.