Skip to main content
Glama

@copperline/rendex-mcp

npm version npm downloads License: MIT

Servidor MCP para Rendex: captura capturas de pantalla y archivos PDF de cualquier página web mediante agentes de IA utilizando el Protocolo de Contexto de Modelo (Model Context Protocol).

Inicio rápido

Claude Desktop / Cursor / Windsurf (npx)

Añade esto a la configuración de tu cliente MCP:

{
  "mcpServers": {
    "rendex": {
      "command": "npx",
      "args": ["-y", "@copperline/rendex-mcp"],
      "env": {
        "RENDEX_API_KEY": "your-api-key"
      }
    }
  }
}

Dónde añadir esto:

Cliente

Ubicación de la configuración

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json (macOS)

Cursor

.cursor/mcp.json en la raíz del proyecto, o Ajustes > MCP

Windsurf

Ajustes > Servidores MCP

Claude Code (CLI)

Añade un archivo .mcp.json a la raíz de tu proyecto con la misma configuración anterior. Luego reinicia Claude Code.

Importante: Añade .mcp.json a tu .gitignore: contiene tu clave API.

Remoto (sin instalación)

Conéctate directamente, no se requiere instalación (solo para Claude Desktop):

{
  "mcpServers": {
    "rendex": {
      "url": "https://mcp.rendex.dev/mcp",
      "headers": {
        "Authorization": "Bearer your-api-key"
      }
    }
  }
}

Related MCP server: Screenshot API

Herramientas

rendex_screenshot

Captura una captura de pantalla o un PDF de cualquier página web o HTML sin procesar.

"Take a screenshot of https://example.com"
"Capture the full page of https://news.ycombinator.com in dark mode"
"Generate a PDF of https://github.com with A4 page size"
"Capture https://amazon.de as seen from Germany"
"Render this HTML invoice as a PDF"

Parámetros:

Parámetro

Tipo

Predeterminado

Descripción

url

string

requerido*

URL de la página web a capturar. Excluyente con html.

html

string

—

HTML sin procesar a renderizar. Excluyente con url.

format

"png"

"jpeg"

"webp"

"pdf"

"png"

Formato de salida

fullPage

boolean

false

Capturar página completa desplazable

darkMode

boolean

false

Emular esquema de color oscuro

width

number

1280

Ancho del viewport (320-3840)

height

number

800

Alto del viewport (240-2160)

quality

number

80

Calidad de imagen 1-100 (solo JPEG/WebP, predeterminado 80)

delay

number

0

Esperar ms antes de la captura

blockAds

boolean

true

Bloquear anuncios y rastreadores

blockResourceTypes

string[]

—

Bloquear tipos de recursos: font, image, media, stylesheet

deviceScaleFactor

number

2

Relación de píxeles del dispositivo (1-3). 2× Retina por defecto

timeout

number

30

Segundos máximos de espera para la carga de la página (5-60)

waitUntil

string

"networkidle2"

Preparación de la página: load, domcontentloaded, networkidle0, networkidle2

waitForSelector

string

—

Selector CSS a esperar antes de la captura

bestAttempt

boolean

true

Devolver renderizado parcial en caso de tiempo de espera en lugar de fallar

selector

string

—

Selector CSS del elemento a capturar en lugar de la página completa

css

string

—

CSS personalizado a inyectar antes de la captura (máx. 50KB)

js

string

—

JavaScript personalizado a ejecutar antes de la captura (máx. 50KB)

cookies

array

—

Cookies a establecer para capturas autenticadas (máx. 50)

headers

object

—

Cabeceras HTTP personalizadas para la solicitud de la página

userAgent

string

—

Sobrescribir la cadena de agente de usuario del navegador

pdfFormat

string

—

Tamaño de página PDF: A4, Letter, Legal, Tabloid, A3

pdfLandscape

boolean

—

Orientación horizontal del PDF

pdfPrintBackground

boolean

true

Imprimir fondo en PDF

pdfScale

number

1

Factor de escala del PDF (0.1-2)

pdfMargin

object

—

Márgenes del PDF: {top, right, bottom, left} como valores CSS

geo

string

—

Código de país ISO para captura con segmentación geográfica (Pro/Enterprise)

geoCity

string

—

Ciudad para segmentación geográfica (requiere geo)

geoState

string

—

Estado para segmentación geográfica (requiere geo)

async

boolean

—

Procesar de forma asíncrona (devuelve ID de trabajo)

webhookUrl

string

—

URL para recibir la devolución de llamada cuando se complete la captura asíncrona

cacheTtl

number

—

Segundos para almacenar el resultado en caché (3600-2592000)

Autenticación

Obtén tu clave API en rendex.dev.

Establece la variable de entorno RENDEX_API_KEY en la configuración de tu cliente MCP.

Precios

Plan

Llamadas/Mes

Tasa

Free

500

10/min

Starter

10,000

60/min

Pro

100,000

300/min

Enterprise

Personalizado

1,000/min

Licencia

MIT — Copperline Labs LLC

Available Tools

11 tools
rendex_extractAInspect

Extract clean reader-mode content from any webpage as Markdown, JSON, or HTML. Runs the same Chromium render pass as a screenshot, so it captures content after JavaScript runs — handles SPAs that fetch-only readers miss. Strips nav, ads, and boilerplate, returning the article body plus title, byline, and excerpt. Great for feeding page content to an LLM, summarization, or RAG ingestion.

Inputs: url (required), extractFormat, waitUntil, timeout, +4 more.

rendex_screenshotAInspect

Capture a screenshot or PDF of any webpage, raw HTML, or Markdown. Supports full-page capture, dark mode, ad blocking, custom viewports, CSS/JS injection, cookie/header injection, PDF output, HTML and Markdown rendering, and progressive fallback for heavy sites. Returns partial renders on timeout by default (bestAttempt mode).

Inputs: url, html, markdown, format, +36 more.

watch_createBInspect

Create a Rendex Watch — monitor a URL on a schedule and get notified when it changes (real-Chrome visual diff with a highlighted overlay, an extracted-text diff, or both). An active watch captures its baseline immediately. Returns the created watch as JSON.

Inputs: url (required), name, intervalMinutes, diffMode, +6 more.

watch_deleteAInspect

Delete a watch and its run history. Irreversible.

Inputs: id (required).

watch_getAInspect

Fetch one watch by ID, including its current baseline image URL and status. Returns JSON.

Inputs: id (required).

watch_listAInspect

List your watches (newest first), optionally filtered by status and paged. Returns { items, nextCursor }.

Inputs: status, cursor, limit.

watch_runAInspect

Run an immediate check now (charges 1 credit). Returns the queued run; poll watch_runs for the result or receive a watch.changed webhook.

Inputs: id (required).

watch_runsAInspect

Read a watch's run history (newest first), paged. Each run includes changed, diffScore, and signed before/after/overlay image URLs. Returns { items, nextCursor }.

Inputs: id (required), cursor, limit.

watch_testAInspect

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 baseline, no diff. Use this to validate a selector/scope/identity first. Returns JSON.

Inputs: url (required), name, intervalMinutes, diffMode, +6 more.

watch_updateAInspect

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; renderParams is deep-merged over the existing config. A scope change (url/selector/fullPage/size/device) re-baselines on the next check. Returns the updated watch as JSON.

Inputs: id (required), url, name, intervalMinutes, +7 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4/5.0

    Scored across 11 tools

    Disambiguation4/5

    The two tool families are clearly separated (rendering vs. watch management), and each watch operation has a distinct role. However, rendex_screenshot and rendex_render_link share nearly the same rendering pipeline and options, and watch_run vs. watch_runs differ by only one letter, so a couple of tools could still be misselected without careful reading.

    Naming Consistency4/5

    All tool names use snake_case and a recognizable family prefix: rendex_* for rendering and watch_* for watch management. The imperative verb pattern is mostly consistent within the watch family, though watch_runs is a noun rather than a verb and rendex_screenshot reads as a noun, creating minor inconsistency.

    Tool Count5/5

    At 11 tools, the surface is well-scoped and reasonable for the server's dual purpose: three rendering/capture tools and eight watch lifecycle tools. Each tool has a clear job, and none feel redundant or unnecessary.

    Completeness5/5

    The watch family is fully fleshed out with create, read, list, update, delete, test, run, and history operations. The rendering family covers capture, extraction, and hosted-link generation, which covers the apparent domain without obvious dead ends.

    Maintenance

    ActivityMaintained
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables AI agents to capture any public URL as PNG, JPEG, or PDF via REST API or MCP tools, including screenshot capture, page description, and PDF rendering.
      18 npm
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Hosted, SSRF-safe, cached screenshots and Open Graph images for AI agents - no headless Chrome to run.
      46 npm
      MIT
    • A
      license
      A
      quality
      C
      maintenance
      Screenshot, visual-diff, and AI page-analysis API for AI agents. Capture any URL as PNG, JPEG, WebP, PDF, or HTML, diff two versions of a page to catch visual regressions, and get an AI summary of what a page contains.
      3
      62 npm
      1
      MIT