MCP server that renders HTML pages to PNG images using Cloudflare Browser Run, with support for inline data and presigned R2 URLs
Single tool 'render' has excellent schema completeness with comprehensive parameter documentation, proper type constraints (enums, min/max bounds), and structured output schema. Descriptions are detailed and actionable (194 chars for tool, 50-150 chars per param). Input validation is thorough with Zod schemas. However, error handling lacks recovery guidance, failures return generic messages without suggesting next steps. No tool annotations (readOnlyHint/destructiveHint/idempotentHint) despite WRITE risk classification. Output schema is well-structured but could benefit from explicit error response documentation.
Render an HTML page after its requested content and webfonts are ready, returning inline PNG data and/or a temporary R2 presigned URL.
Error responses lack recovery guidance. Failures return generic text without suggesting alternatives or next steps for the LLM to recover.
Tool marked as WRITE risk but lacks destructiveHint annotation. No confirmation or dry-run mechanism for irreversible operations.
Output schema documents structuredContent but error cases are not formally specified. LLM cannot predict failure response structure.
Resource storage (R2) and presigned URLs introduce security considerations not documented in tool description. No mention of URL expiration, access control, or token handling.
waitForSelector.timeout and waitForTimeout parameters lack clear guidance on interaction. Documentation does not explain cumulative vs independent timing.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 67 | 2025-06-18+ | v2 |