{
  "markdown": "# Screenshot Scout MCP Server\n\nUse [Screenshot Scout](https://screenshotscout.com/) from an MCP client to capture\nHTTP or HTTPS webpages as images or PDFs.\n\nThis server exposes one tool, `capture_screenshot`. It supports full-page and\nelement captures, device and viewport controls, location selection, page\ninteraction and blocking options, image sizing and quality, PDF layout, caching,\ntemporary result URLs and eligible MCP image content.\n\n## What you need\n\n- A [Screenshot Scout account](https://screenshotscout.com/auth/signup) and an\n  access key from the [API keys page](https://screenshotscout.com/app/api-keys).\n- Node.js 22 or newer for npm/stdio installation. Claude Desktop's MCPB runtime\n  is bundled by Claude.\n- The optional secret key only when your selected API key requires signed\n  Screenshot Scout requests.\n\nEvery capture uses your Screenshot Scout account and is subject to its plan,\nquota, and rate limits.\n\n## Local stdio with npm\n\nStart with this local stdio configuration:\n\n```json\n{\n  \"mcpServers\": {\n    \"screenshotscout\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@screenshotscout/mcp\"],\n      \"env\": {\n        \"SCREENSHOTSCOUT_ACCESS_KEY\": \"YOUR_ACCESS_KEY\"\n      }\n    }\n  }\n}\n```\n\nIf the access key requires request signing, add the secret locally:\n\n```json\n\"SCREENSHOTSCOUT_SECRET_KEY\": \"YOUR_SECRET_KEY\"\n```\n\nKeep personal configuration files out of source control. Credentials are process\nenvironment values, not tool arguments. See\n[client-specific copy-paste configurations](examples/README.md) for Claude\nDesktop, Claude Code, Cursor, VS Code/GitHub Copilot, Devin, and Cline.\n\n### Run from a source checkout\n\n```sh\nnpm ci\nnpm run build\n```\n\nPoint the client at the absolute path to `dist/stdio.js` with `node`, and provide\nthe same environment variables shown above.\n\n## Claude Desktop MCPB\n\nTo install the Claude Desktop extension:\n\n1. Download `screenshotscout-mcp-<version>.mcpb` from that version's GitHub\n   release.\n2. In Claude Desktop, open **Settings → Extensions → Advanced settings** and\n   choose **Install Extension…**.\n3. Select the downloaded file.\n4. Enter the required access key. Enter the secret key only for an API key that\n   requires signed requests.\n\nClaude Desktop treats both fields as sensitive settings. The `v0.1.0` MCPB\nsupports Windows.\n\n## Hosted Streamable HTTP\n\nThe hosted API-key endpoint is live at:\n\n```text\nhttps://mcp.screenshotscout.com/mcp/api-key\n```\n\nIt is intended only for clients that can attach a static HTTP header:\n\n```text\nAuthorization: Bearer YOUR_ACCESS_KEY\n```\n\nThe endpoint accepts an access key only. Never send a Screenshot Scout secret\nkey to it, and never put either key in the URL or a tool argument. Clients that\ncannot attach a static Bearer header cannot use this endpoint.\n\nAPI keys that require request signatures must instead use local stdio or MCPB,\nor use a dedicated unsigned access key for the hosted endpoint.\n\n## Local stdio with Docker\n\nBuild the production image from a source checkout:\n\n```sh\ndocker build --tag screenshotscout-mcp:local .\n```\n\nPass credentials from the local environment and keep stdin attached for MCP\nstdio traffic:\n\n```sh\ndocker run --rm -i --init --cap-drop=ALL --security-opt=no-new-privileges --read-only \\\n  -e SCREENSHOTSCOUT_ACCESS_KEY \\\n  -e SCREENSHOTSCOUT_SECRET_KEY \\\n  screenshotscout-mcp:local\n```\n\n`SCREENSHOTSCOUT_SECRET_KEY` remains optional. The image runs as an unprivileged\nuser and contains only the compiled stdio server and its production dependencies.\nIt declares no port or container health check: an MCP client owns the stdio\nprocess and verifies readiness by completing MCP initialization. The image and\nits Docker MCP Catalog metadata in `docker-mcp-catalog.yaml` are local\npreparation; no public image is implied by these commands.\n\n## Tool: `capture_screenshot`\n\n`capture_screenshot` sends one capture request for the supplied URL and options.\nThe target webpage is external, and its returned content must be treated as\nuntrusted.\n\n### Inputs\n\nOnly `url` is required. Captures use a 1280×720 viewport by default. When no\nformat is specified, the tool returns JPEG at quality 60. `resultMode` defaults\nto `\"auto\"`.\n\n| Group                 | Inputs                                                                                                                                                                                       |\n| --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| Target and output     | `url`; `format` (`png`, `jpg`, `jpeg`, `webp`, `gif`, `tiff`, `pdf`); `resultMode` (`auto`, `url_only`)                                                                                      |\n| Location and viewport | `country` (two-letter country code), `device`, `deviceViewportWidth`, `deviceViewportHeight`, `colorScheme` (`auto`, `dark`, `light`), `fullPage`                                            |\n| Page preparation      | `blockCookieBanners`, `blockAds`, `blockChatWidgets`, `selector`, `hideSelectors`, `clickSelectors`                                                                                          |\n| Timing                | `waitUntil` (`load`, `domcontentloaded`, `networkidle0`, `networkidle2`), `delay` (0–30 seconds), `navigationTimeout` (5–90 seconds), `timeout` (1–240 seconds)                              |\n| Cache                 | `cache`, `cacheTtl` (14,400–2,592,000 seconds)                                                                                                                                               |\n| Output resizing       | `imageWidth`, `imageHeight` (1–8,192; available for images and PDFs)                                                                                                                         |\n| Image only            | `imageQuality` (0–100, JPEG/WebP only)                                                                                                                                                       |\n| PDF only              | `pdfPaperFormat` (`letter`, `legal`, `tabloid`, `a4`, `a3`, `content`), `pdfLandscape`, `pdfPrintBackground`, `pdfMargin`, per-side margin fields, `pdfScale` (greater than 0 and at most 3) |\n\nWhen both output dimensions are provided, their product cannot exceed 64,000,000\npixels. PDF margins accept non-negative values in `px`, `in`, `mm`, or `cm`.\n`imageQuality` requires JPEG or WebP output, and PDF-only options require\n`format: \"pdf\"`.\n\n### Results\n\n- PNG, JPEG, WebP, and GIF may be included as MCP image content when\n  `resultMode` is `auto`, the MIME type is eligible, dimensions are known and at\n  most 8,000 pixels per side, raw data is at most 5 MiB, and the complete\n  serialized result fits the current 128,000-byte server limit.\n- A capture that is not eligible to embed remains successful and returns its\n  temporary URL plus an actionable omission reason.\n- TIFF is URL-only.\n- PDF bytes are never embedded. A PDF result includes safe text and structured\n  metadata, plus a resource link when Screenshot Scout provides a result URL.\n- `resultMode: \"url_only\"` omits image bytes for every format.\n\nMCP clients control whether returned image content or resource links are\ndisplayed or made available to a model.\n\nStructured metadata can include `screenshotUrl`, `screenshotUrlExpiresAt`,\n`cacheStatus`, `format`, `mimeType`, `imageWidth`, `imageHeight`,\n`inlineImageIncluded`, and `inlineImageOmissionReason`.\n\nTreat result URLs as sensitive, temporary links and respect their reported\nexpiry.\n\n## Example prompts\n\n- “Capture `https://example.com` as a full-page PNG in dark mode. Return only a\n  URL.”\n- “Take a 1280×720 JPEG screenshot of `https://example.com/pricing`, block cookie\n  banners and ads, and use quality 80.”\n- “Create an A4 PDF of `https://example.com/report` with backgrounds enabled and\n  10 mm margins.”\n\n## Privacy and security\n\nThe server sends the target URL and selected capture options to Screenshot Scout,\nwhich loads the target website. Review the\n[Screenshot Scout privacy policy](https://screenshotscout.com/privacy-policy)\nbefore capturing private or regulated material.\n\n- Do not capture pages you are not authorized to access.\n- Do not paste credentials into prompts, tool inputs, URLs, issue reports, or\n  logs.\n- Keep local access and secret keys in client-managed secret storage or private\n  environment configuration.\n- The local stdio server adds no telemetry. Application logging for the hosted\n  service is limited to request method, response status, duration, and sanitized\n  unexpected errors. It is designed not to include credentials, target URLs,\n  screenshot URLs, request or response content, or image bytes.\n- Review each target and capture request before allowing tool use. The tool is\n  open-world, consumes quota, and interacts with an external website.\n- Report vulnerabilities privately as described in [SECURITY.md](SECURITY.md).\n\n## Development\n\n```sh\nnpm ci\nnpm run format:check\nnpm run lint\nnpm run typecheck\nnpm test\nnpm run metadata:check\nnpm run registry:validate\nnpm run mcpb:validate\nnpm run mcpb:pack\n```\n\n## License\n\n[MIT](LICENSE) © Oleksii Velykyi\n",
  "bytes": 9290,
  "sha": "c6081cbadcca0d79dbb944d8c6ed51606af8e816b93af009ca56dc92b93057b9",
  "repo_slug": "screenshotscout/screenshotscout-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_com_screenshotscout_mcp_2c9ed1f3/readme"
}