Servidor MCP

Framejet Screenshot

dev.framejet/screenshot
Herramientas para desarrolladores Público y accesible MCP 2025-11-25

Qué hace este MCP

Navigates public websites and captures clean PNG or JPEG screenshots.

screenshot
Take a website screenshot
Render any public URL to a PNG or JPEG image. Cookie/consent banners and chat widgets are removed by default so the result is clean enough to reason about. Returns the image inline. For a page that is several clicks past the URL, pass `goal` in plain words and Framejet walks the flow before capturing — you do not need CSS selectors, and you could not write them anyway, because the controls for step 2 do not exist until step 1 has happened. Any text to be typed must be supplied in `values`; nothing is ever invented. If the goal cannot be reached the call fails and no credits are spent, so a returned image always means the goal was reached. On plans that price goals per block (10 credits a block, a screenshot is 1) `max_credits` is the most a goal may spend; it stops with goal_budget_exceeded rather than go past it. When you do know the page, `actions` is cheaper, faster and deterministic.
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['url'], 'properties': {'url': {'type': 'string', 'description': 'The http(s) page to capture'}, 'goal': {'type': 'string', 'maxLength': 300, 'description': "Plain-words description of the page state to reach before capturing, ending with when to stop. Example: 'Search for the Colosseum article, open it, then open its View history page. Stop when the revision list is visible.' Needs `values` for anything that must be typed."}, 'clean': {'type': 'boolean', 'description': 'Strip cookie banners / chat widgets, default true'}, 'delay': {'type': 'integer', 'maximum': 10000, 'minimum': 0, 'description': 'Extra wait in ms after load'}, 'width': {'type': 'integer', 'maximum': 3840, 'minimum': 320, 'description': 'Viewport width, default 1280'}, 'format': {'enum': ['png', 'jpeg'], 'type': 'string', 'description': 'Image format, default png'}, 'height': {'type': 'integer', 'maximum': 4320, 'minimum': 200, 'description': 'Viewport height, default 800'}, 'values': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200}, 'maxItems': 10, 'description': 'Exact strings a `goal` step may type into a field. Framejet picks among these and never invents text; if none fits, the capture fails.'}, 'actions': {'type': 'string', 'description': "Deterministic alternative to `goal` when you already know the page: ';'-separated steps, each verb:arg â\x80\x94 click:<css>, type:<css>=<text>, waitfor:<css>, wait:<ms>, scroll:<px>. Prefer this over `goal` whenever you can write the selectors."}, 'full_page': {'type': 'boolean', 'description': 'Capture the whole scroll height (default false)'}, 'max_credits': {'anyOf': [{'type': 'number', 'const': 10}, {'type': 'number', 'const': 20}, {'type': 'number', 'const': 30}], 'description': 'Most credits a `goal` may spend, default 10. The maximum is reserved while the goal runs and the unused part is released. Ignored on plans where a goal costs one credit.'}}}
Modificado
screenshot
1 de October de 2026 a las 02:42
Añadido
screenshot
25 de September de 2026 a las 02:40