url2image

Capture batches of public web pages in a real browser and download the screenshots as a zip.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
74%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~791Tokens (tool definitions)
~1.3 KBTypical response size
Moderate attention impact (0.62% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "url2image": {
      "url": "https://url2image.com/mcp"
    }
  }
}

Remote endpoints

https://url2image.com/mcpstreamable-http

What it can do

Tool inventory

Tools (5)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟡create_screenshot_batch(urls, name, format, full_page, width, ...)

Render a list of web pages in a real browser. Returns a batch id to poll. The first 10 screenshots each month are free, metered per network address rather than per key, so issuing another key does not reset them. Beyond that the batch pauses and reports how many credits it needs.

Input Schema

{
  "type": "object",
  "properties": {
    "urls": {
      "type": "array",
      "minItems": 1,
      "maxItems": 500,
      "items": {
        "type": "string",
        "minLength": 3
      },
      "description": "Public http or https addresses. Bare domains are accepted and normalised."
    },
    "name": {
      "type": "string",
      "maxLength": 120,
      "description": "Label for the batch, shown on the results page."
    },
    "format": {
      "type": "string",
      "enum": [
        "png",
        "jpeg"
      ],
      "default": "png",
      "description": "One file per URL, collected in a zip. PDF output is disabled on this deployment."
    },
    "full_page": {
      "type": "boolean",
      "default": false,
      "description": "Capture the whole scrollable page rather than just the viewport. Off by default; a long page costs the same credit but takes much longer to render."
    },
    "width": {
      "type": "integer",
      "minimum": 320,
      "maximum": 3840,
      "default": 1440
    },
    "height": {
      "type": "integer",
      "minimum": 240,
      "maximum": 4320,
      "default": 900
    },
    "device_scale_factor": {
      "type": "integer",
      "minimum": 1,
      "maximum": 3,
      "default": 1,
      "description": "Use 2 for retina density output."
    },
    "delay_ms": {
      "type": "integer",
      "minimum": 0,
      "maximum": 10000,
      "default": 800,
      "description": "Extra settle time after the page reports it has loaded."
    },
    "dark_mode": {
      "type": "boolean",
      "default": false
    },
    "block_cookie_banners": {
      "type": "boolean",
      "default": true
    }
  },
  "required": [
    "urls"
  ],
  "additionalProperties": false
}
🟢get_screenshot_batch(id)

Read the state and per URL results of a batch created by this client, including the download URL once anything has rendered.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[a-z]+-[a-z]+-[a-z0-9]{5}$",
      "examples": [
        "amber-shutter-k7m2q"
      ]
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false
}
🟢get_account_balance

Screenshot credits and free monthly allowance remaining for the calling identity.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟢list_sample_captures(limit)

Public sample captures this service refreshes on a schedule. Useful for showing a user what the output looks like before they spend anything.

Input Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 12
    }
  },
  "additionalProperties": false
}
🟡create_credit_checkout(pack, batch_id)

Create a hosted Stripe Checkout URL for a prepaid credit pack. This can lead to a charge, but only after the user opens the URL and confirms payment on Stripe. Ask the user before calling it and never handle card details.

Input Schema

{
  "type": "object",
  "properties": {
    "pack": {
      "type": "string",
      "enum": [
        "starter",
        "growth",
        "scale",
        "bulk"
      ],
      "description": "starter: $5 for 2,500 screenshots ($0.002 each); growth: $20 for 15,000 screenshots ($0.0013 each); scale: $75 for 75,000 screenshots ($0.001 each); bulk: $250 for 350,000 screenshots ($0.000714 each)"
    },
    "batch_id": {
      "type": "string",
      "pattern": "^[a-z]+-[a-z]+-[a-z0-9]{5}$",
      "description": "Optional. Resumes this batch as soon as the payment lands."
    }
  },
  "required": [
    "pack"
  ],
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded5 tools
verifiedversion not recorded5 tools