Drop-in MCP server compatible with the Jina AI MCP server, backed by a stealth Chromium (cloakbrowser) + CapSolver, with ordered fallback to a pure MCP proxy of Jina.
Four tools with clear action verbs and basic schemas. All have descriptions (10-100 chars) and input schemas with required fields. However, parameter descriptions are sparse or missing entirely. read_url and parallel_read_url lack descriptions for their array/object parameters. capture_screenshot_url has minimal guidance on return_url behavior. show_api_key is a utility with no parameters but unclear purpose. No output schemas documented. Error handling and recovery guidance absent. Naming is verb-forward but descriptions fall short of LLM-optimization baseline (194 chars avg for A+ tools).
Capture high-quality screenshots of web pages in base64 encoded JPEG format.
Read multiple web pages in parallel.
Extract and convert web page content to clean, readable markdown format.
Return the caller's authentication token (HTTP mode) or stdio client ID (stdio mode).
Parameter descriptions missing or incomplete. 'urls' in parallel_read_url has no description. 'withAllLinks', 'withAllImages', 'firstScreenOnly', 'return_url' lack guidance on format, constraints, or side effects.
No output schemas documented. LLMs cannot infer what read_url returns (markdown string? object with metadata?), what parallel_read_url returns per URL, or capture_screenshot_url's base64 format/size limits.
No error handling or recovery guidance. If a URL is unreachable, returns invalid HTML, or times out, the tool response does not guide the LLM on retry strategy, fallback, or user notification.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
show_api_key tool purpose is unclear. Description 'Return the caller's authentication token' does not explain when/why an LLM should call this or what it does with the token. Appears to be a debug/introspection tool, not a user-facing capability.
Boolean parameters (withAllLinks, withAllImages, firstScreenOnly, return_url) lack default values and guidance on consequences. Does return_url=true change the response structure? Does firstScreenOnly=true truncate content?