← all servers

example-servers/puppeteer

v0.1.0 · 7 tools · source

[ tools: 7 ][ checks: 12 ][ latency: 4ms ]
84/100(B)
npx -y @modelcontextprotocol/server-puppeteer

check breakdown

Tools exposedServer exposed 7 tools.
• puppeteer_navigate
• puppeteer_screenshot
• puppeteer_click
• puppeteer_fill
• puppeteer_select
• puppeteer_hover
• puppeteer_evaluate
Input schemas validAll tools have a valid JSON-Schema input definition.
Input schema qualityInput schemas are well-typed and documented.
!Output schemasNo tools declare an outputSchema.
Optional: declare outputSchema for tools with structured results so agents can validate/parse output reliably.
Duplicate tool namesAll tool names are unique.
Tool namingAll tool names use spec-legal characters.
DescriptionsEvery tool and parameter is clearly described.
!Tool annotationsAnnotation coverage 0% (0/35 hint fields set).
• puppeteer_navigate: no annotations at all
• puppeteer_screenshot: no annotations at all
• puppeteer_click: no annotations at all
• puppeteer_fill: no annotations at all
• puppeteer_select: no annotations at all
• puppeteer_hover: no annotations at all
• puppeteer_evaluate: no annotations at all
Add annotations: title, readOnlyHint, destructiveHint, idempotentHint, openWorldHint.
These let clients gate risky calls and give agents/users a friendly display name — optional but valuable.
!Tool titles7 of 7 tool(s) have no title.
• puppeteer_navigate: no top-level title (or annotations.title)
• puppeteer_screenshot: no top-level title (or annotations.title)
• puppeteer_click: no top-level title (or annotations.title)
• puppeteer_fill: no top-level title (or annotations.title)
• puppeteer_select: no top-level title (or annotations.title)
• puppeteer_hover: no top-level title (or annotations.title)
• puppeteer_evaluate: no top-level title (or annotations.title)
Declare a top-level `title` on each tool — it gives clients a friendly display name distinct from the machine-readable `name`.
`annotations.title` (the older location) is also accepted, but the top-level `title` field is now the spec-preferred place for it.
!Server instructionsNo top-level instructions declared.
Declare instructions to guide agents on when/how to use this server.
Return a non-empty `instructions` string in your InitializeResult — most SDKs let you set this alongside serverInfo.
Handshake + list latencytools/list responded in 4ms.
!Resources1 resource-quality issue(s) across 1 resource(s) and 0 template(s).
console://logs: no description or title
Give every resource a name, a valid uri, a description or title, and a mimeType.
Give every resource template a name, a description or title, a uriTemplate with at least one {variable} placeholder, and a mimeType.
mimeType is advisory but helps agents decide how to handle the resource content.

add the badge

Paste into your README:

[![scoremcp](https://scoremcp.dev/badge/server-puppeteer)](https://scoremcp.dev/servers/server-puppeteer)
[ scoremcp v0.3.1 ] [ 10 servers indexed ] [ static · side-effect-free ]