registry / record
@modelcontextprotocol/server-puppeteer
Does @modelcontextprotocol/server-puppeteer MCP work in Claude Code and Cursor? Throne executed @modelcontextprotocol/server-puppeteer mcp in a single-use Firecracker microVM and replayed both recorded client behaviours. Compatibility verdict: fit. Is @modelcontextprotocol/server-puppeteer mcp safe? Static security scan: 1 finding(s) to review under security ruleset v1. The full per-step results, security findings, scan date, and evidence hash are below.
> throne registry @modelcontextprotocol/server-puppeteer
sealed
- scan id
- 7482f833262f4938891b40b2f693133a
- target
- @modelcontextprotocol/server-puppeteer
- sealed at
- 2026-06-16 18:04:20Z
- evidence hash
- sha256:fb47617aea896eec095f7c11d693cfd5ff949fe214e74e9c334276f5eaf60a7c
initialize ok: server example-servers/puppeteer 0.1.0, negotiated protocolVersion 2024-11-05, capabilities ['resources', 'tools']
supported: tools/list (7 tools), resources/list (1); method not found (tolerated): prompts/list
all 7 tool inputSchemas are valid JSON Schema
called 7 of 7 tools (cap 10, strategy=serial): 0 ok, 7 returned tool-level errors (expected for synthesized args)
structured error responses, connection survived, wrong_type_args: puppeteer_navigate:error(-32603); puppeteer_screenshot:error(-32603); puppeteer_click:error(-32603); puppeteer_fill:error(-32603); puppeteer_select:error(-32603); unknown_method: error(-32601); invalid_id: no response (silent), connection alive; oversized_input: error(-32603); recovery: accepted (returned result); cancellation: error(-32603); old_version: accepted old version 2024-10-07, negotiated 2024-10-07, server may have stale protocol handling
no streaming-capable tool declared by this server
read console://logs (1 content blocks); subscribe capability not declared
ladder 1 overlapping puppeteer_navigate calls: max_observed_stable_concurrency=1; all ids answered exactly once, but every call returned an error (error -32603: Failed to launch the browser process! undefined [1202:1224:0616/180339.491325:ERROR:bus.cc(407)] Failed to connect to the bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory [1202:1202:0616/180339.493338:ERROR:ozone_platform_x11.cc(244)] Missing X server or $DISPLAY [1202:1202:0616/180339.493355:ERROR:env.cc(257)] The platform failed to initialize. Exiting. TROUBLESHOOTING: https://pptr.dev/troubleshooting ), the tool may need runtime dependencies this sandbox does not provide
transport closed and relaunched; re-handshake ok (protocolVersion 2024-11-05, first session was 2024-11-05)
initialize ok: server example-servers/puppeteer 0.1.0, negotiated protocolVersion 2024-11-05, capabilities ['resources', 'tools'] [request_strategy=pipelined, connection_count=2, second connection established]
supported: tools/list (7 tools), resources/list (1); method not found (tolerated): prompts/list; notes: connection 2 confirms 7 tools
all 7 tool inputSchemas are valid JSON Schema
called 7 of 7 tools (cap 10, strategy=pipelined): 0 ok, 7 returned tool-level errors (expected for synthesized args)
structured error responses, connection survived, wrong_type_args: puppeteer_navigate:error(-32603); puppeteer_screenshot:error(-32603); puppeteer_click:error(-32603); puppeteer_fill:error(-32603); puppeteer_select:error(-32603); unknown_method: error(-32601); invalid_id: no response (silent), connection alive; oversized_input: error(-32603); recovery: accepted (returned result); cancellation: error(-32603); old_version: accepted old version 2024-10-07, negotiated 2024-10-07, server may have stale protocol handling
no streaming-capable tool declared by this server
read console://logs (1 content blocks); subscribe capability not declared
ladder 1/2/4/6 overlapping puppeteer_navigate calls: max_observed_stable_concurrency=6; all ids answered exactly once, but every call returned an error (error -32603: Failed to launch the browser process! undefined [1746:1768:0616/180403.331893:ERROR:bus.cc(407)] Failed to connect to the bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory [1746:1746:0616/180403.402552:ERROR:ozone_platform_x11.cc(244)] Missing X server or $DISPLAY [1746:1746:0616/180403.402575:ERROR:env.cc(257)] The platform failed to initialize. Exiting. TROUBLESHOOTING: https://pptr.dev/troubleshooting ), the tool may need runtime dependencies this sandbox does not provide
transport closed and relaunched; re-handshake ok (protocolVersion 2024-11-05, first session was 2024-11-05)
"prepare" runs on git-dependency installs and local dev (not registry installs): 'npm run build'
package/package.json- target
- @modelcontextprotocol/server-puppeteer npm
- engine
- sandboxed
- claude code
- calibration: partial recorded=9,spec=0,assumed=9
- cursor
- calibration: partial recorded=11,spec=0,assumed=7
- chatgpt desktop
- calibration: unavailable recorded=0,spec=2,assumed=16
- steps exercised
- 14 of 18
- test suite
- v1.0.0
- security ruleset
- v1.0.0
- sealed at
- 2026-06-16 18:04:20Z
- evidence hash
- sha256:fb47617aea896eec095f7c11d693cfd5ff949fe214e74e9c334276f5eaf60a7c
- valid until
- 2026-09-14
paste this in your README. it renders the live verdict and links back to this record. if a release ever breaks the verdict, the badge says so on its own.
[](https://usethrone.dev/server/modelcontextprotocol-server-puppeteer)maintainer of this server? challenge this record: hello@usethrone.dev. tell us what we got wrong and we re-run it in the open.
this page renders the stored record of a real run. nothing on it is asserted without the execution that proved it.