Render HTML, Markdown, or any URL to images or PDF, with reader-mode extraction, dark mode, custom viewports, and ad blocking.
Do not connect
A critical issue was found. Do not connect this server as-is.
Scanned 6 days ago
A server can change after it's graded. Re-run the automated scan to refresh this report.
This grade is deterministic and reproducible: the same server surface always yields the same grade under a given algorithm version. It is a real automated assessment computed by the MCPGrade engine from what the probe actually observed — not a fabricated or opinion score. It is not a manual human pentest, so it can miss context-specific risks.
Every signal below was measured directly by the automated probe. The grade is derived only from evidence like this — nothing is assumed.
The rendex MCP server exposes 13 tools, focused primarily on general-purpose capabilities. Its published description reads: "Render HTML, Markdown, or any URL to images or PDF, with reader-mode extraction, dark mode, custom viewports, and ad blocking". It communicates over Streamable HTTP using the 2025-06-18 protocol revision, and does not require authorization to connect. MCPGrade currently rates rendex F — a critical issue was found and the server should not be connected as-is. Its most notable findings include "Data-exfiltration parameters" and "Cross-tool shadowing". This report is a deterministic, reproducible automated assessment: the same observed surface always yields the same grade under a given algorithm version, and it is refreshed as new scans arrive and free to read — but it is not a substitute for a manual human security review. Always re-check rendex's advertised tools, transport security, and authorization posture before connecting an autonomous agent or sharing sensitive context with it.
Add rendex to an MCP client using the endpoint below. Review the grade and findings above before granting an autonomous agent access.
MCP endpoint
https://mcp.rendex.dev/mcpStreamable HTTP transport. This is the MCP endpoint, not a website — paste it into your MCP client server list rather than a browser.
Captured passively during the read-only scan. Click any value to find servers that match it.
The tools this server advertises via tools/list — names, purposes, and the parameters each accepts, exactly as enumerated read-only.
Use this when the user asks to screenshot, capture, or take a picture of a webpage/URL, or to render raw HTML or Markdown to an image or PDF. Do NOT use to get a reusable hosted image URL (use rendex_
Sorted worst-first. Each finding shows its severity, what it means, its OWASP MCP Top-10 mapping, and a recommended fix — the check id links to the exact methodology row that produced it.
tool: rendex_screenshot
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
parameter "url"RecommendationRemove side-channel parameters; constrain tool inputs.
tool: rendex_screenshot
A tool description tries to alter the model’s use of another tool.
RecommendationDescriptions must describe only their own tool.
tool: rendex_extract
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
parameter "url"RecommendationRemove side-channel parameters; constrain tool inputs.
tool: rendex_extract
A tool description tries to alter the model’s use of another tool.
screenshot (use rendex_screenshot). Extracts clean reader-mode content from any wRecommendationDescriptions must describe only their own tool.
tool: rendex_render_link
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
parameter "url"RecommendationRemove side-channel parameters; constrain tool inputs.
tool: rendex_render_link
A tool description tries to alter the model’s use of another tool.
al for dynamic OG images: drop the URL into <meta property="og:image"> orRecommendationDescriptions must describe only their own tool.
tool: render_artifact
A tool description tries to alter the model’s use of another tool.
isting URL (use rendex_screenshot). Turns Markdown or HTML into a branded, downloRecommendationDescriptions must describe only their own tool.
tool: watch_create
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
amps, counters, tokens."},"minTextChars":{"type":"integer","minimum":0RecommendationRemove side-channel parameters; constrain tool inputs.
tool: watch_create
A tool description tries to alter the model’s use of another tool.
RecommendationDescriptions must describe only their own tool.
tool: watch_test
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
amps, counters, tokens."},"minTextChars":{"type":"integer","minimum":0RecommendationRemove side-channel parameters; constrain tool inputs.
tool: watch_test
A tool description tries to alter the model’s use of another tool.
RecommendationDescriptions must describe only their own tool.
tool: watch_run
A tool description tries to alter the model’s use of another tool.
ueued run; poll watch_runs for the result or receive a watch.changed webhoRecommendationDescriptions must describe only their own tool.
tool: watch_runs
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
d a watch's run history (newest first), paged. Each run includes changeRecommendationRemove side-channel parameters; constrain tool inputs.
tool: watch_update
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
amps, counters, tokens."},"minTextChars":{"type":"integer","minimum":0RecommendationRemove side-channel parameters; constrain tool inputs.
tool: watch_update
A tool description tries to alter the model’s use of another tool.
RecommendationDescriptions must describe only their own tool.
tool: (server instructions)
A tool description tries to alter the model’s use of another tool.
ure of a page → rendex_screenshot; turn Markdown/HTML into a branded PDF+PNG+sharRecommendationDescriptions must describe only their own tool.
tool: (server instructions)
The text tells the model WHEN to call this tool relative to others ("always call first", "before any other tool", "chain to X tool") — a toxic-flow injection that hijacks the agent’s orchestration rather than describing the tool.
rs web content. ALWAYS call the matching tool — never just describe the call or answer anotheRecommendationTool metadata must describe only the tool, never sequence the agent’s calls.
The server accepts tool enumeration (and likely invocation) with no authentication.
RecommendationRequire OAuth 2.1 authorization for any server exposing non-public tools.
tool: rendex_screenshot
The server advertises open-world / broadly-scoped capabilities.
annotations.openWorldHint = trueRecommendationScope tools to the minimum needed.
tool: rendex_extract
The server advertises open-world / broadly-scoped capabilities.
annotations.openWorldHint = trueRecommendationScope tools to the minimum needed.
tool: rendex_render_link
The server advertises open-world / broadly-scoped capabilities.
annotations.openWorldHint = trueRecommendationScope tools to the minimum needed.
tool: render_artifact
The server advertises open-world / broadly-scoped capabilities.
annotations.openWorldHint = trueRecommendationScope tools to the minimum needed.
tool: watch_create
The server advertises open-world / broadly-scoped capabilities.
annotations.openWorldHint = trueRecommendationScope tools to the minimum needed.
tool: watch_test
The server advertises open-world / broadly-scoped capabilities.
annotations.openWorldHint = trueRecommendationScope tools to the minimum needed.
tool: watch_run
The server advertises open-world / broadly-scoped capabilities.
annotations.openWorldHint = trueRecommendationScope tools to the minimum needed.
tool: watch_delete
The server advertises open-world / broadly-scoped capabilities.
annotations.destructiveHint = trueRecommendationScope tools to the minimum needed.
The server exposes one or more ui:// (MCP Apps) resources whose HTML/JS renders inside the host client — a client-side injection / data-exposure surface most scanners ignore. Flagged for review, not damning on its own.
1 ui:// resource(s); e.g. ui://widget/render-preview.htmlRecommendationReview each ui:// resource’s markup and scripts; treat host-rendered UI as untrusted, sandbox it, and never expose secrets or conversation context to it.
Vantaj uptime monitoring via MCP — manage monitors, heartbeats, incidents, and status pages.
Unified gateway to Algeria's TKAWEN ecosystem: commerce, certification, and AI tools.
Provides access to the Cohereon Doctrine AI safety framework with governance components, tiered access, and agent onboarding.
Agentic rails for complex workflows with receipts, fees, and MCP tool access.
Structural TC39 spec lookup for ECMA-262 and ECMA-402 in AI agents, SHA-pinned and offline-first.
Structural TC39 spec lookup for ECMA-262 and ECMA-402 in AI agents, SHA-pinned and offline-first.
Use this when the user asks to read, extract, get the text/content/article of, or summarize a webpage/URL. Do NOT use for a visual screenshot (use rendex_screenshot). Extracts clean reader-mode conten
Use this when the user wants a reusable, HOSTED image URL — an og:image or a link to embed in an <img> tag — rather than the image bytes. Do NOT use for a one-off inline screenshot (use rendex_screens
Use this when the user asks to make or create a branded report, invoice, summary, release notes, or document — or to 'turn this Markdown/HTML into a PDF and PNG' (optionally with a logo or accent colo
Check the Rendex account: which plan it's on, how many render credits have been used vs. the monthly limit (and when it resets), the per-minute rate limit, and a one-tap link to upgrade to a higher ti
Use this when the user asks to monitor, watch, or track a webpage for changes, or to be alerted/notified when a page changes. Do NOT use for a one-time capture (use rendex_screenshot). Creates a Rende
Dry-run a watch config BEFORE creating it — render the proposed config once and report what was captured + whether the page is reachable (and the text a text-watch would compare). Creates no watch, no
List your watches (newest first), optionally filtered by status and paged. Returns { items, nextCursor }.
Fetch one watch by ID, including its current baseline image URL and status. Returns JSON.
Run an immediate check now (charges 1 credit). Returns the queued run; poll watch_runs for the result or receive a watch.changed webhook.
Read a watch's run history (newest first), paged. Each run includes changed, diffScore, and signed before/after/overlay image URLs. Returns { items, nextCursor }.
Delete a watch and its run history. Irreversible.
Update a watch in place — pause/resume (paused), re-point (url), change schedule/diff/notify settings, or turn a channel off (webhookUrl/notifyEmail = null). Only the fields you send change; renderPar