Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

Screenshots for AI agents via x402

v1.0.1

Browser screenshots and vision over MCP Streamable HTTP with x402 USDC micropayments at this deployment. Paid tools require an x402-aware MCP client and a fu...

0· 41·0 current·0 all-time
Security Scan
Capability signals
CryptoRequires walletCan make purchases
These labels describe what authority the skill may exercise. They are separate from suspicious or malicious moderation verdicts.
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Suspicious
medium confidence
Purpose & Capability
The skill claims to provide remote browser screenshots via an MCP Streamable HTTP endpoint with x402 USDC micropayments — and its instructions describe exactly that flow, so the requested capabilities match the stated purpose. However, the registry metadata declares no required environment variables or primary credential even though the SKILL.md explains paid tools require a signing wallet (examples: AGENT_PRIVATE_KEY, X402_PRIVATE_KEY). The absence of declared required credentials in metadata is an inconsistency you should confirm with the publisher.
!
Instruction Scope
Instructions explicitly send submitted URLs and prompts to the remote operator (https://screenshotx402.com) which fetches and renders pages and processes screenshots off-host. The SKILL.md does warn not to submit private or auth-gated URLs, but this off-host processing and transmission of page content and prompts is an inherent privacy risk and should be treated as expected behavior before using the skill.
Install Mechanism
This is an instruction-only skill with no install spec and no code files — nothing is written to disk by the skill itself. That reduces installation risk.
!
Credentials
While the registry lists no required environment variables, the runtime docs state paid features require an x402-aware MCP client and signing keys (examples: AGENT_PRIVATE_KEY, X402_PRIVATE_KEY) and USDC on-chain. Requesting private keys and on-chain funds for paid capture is proportionate to the paid feature, but the metadata omission means the skill may prompt you to supply sensitive credentials or platform vault entries at runtime; verify how your platform will store/require those secrets.
Persistence & Privilege
The skill does not request permanent/always-on inclusion (always: false). It does not request to modify other skills or system-wide settings. Autonomous invocation is allowed (platform default); combine that with paid operations only if you trust the deployment.
What to consider before installing
This skill is coherent for remote, paid screenshot capture, but take these precautions before using it: - Read https://screenshotx402.com/discovery.json and call the free health tool to confirm pricing, network (e.g., base), and mcp.url before any paid call. - Understand that any URL you submit (and prompts for analyze_screenshot) will be fetched and rendered on the operator's infrastructure — do NOT submit non-public or sensitive URLs or URLs containing secrets. - Paid features require an x402-aware MCP client and on-chain USDC signing. Confirm how your platform will provide/store signing keys (do not paste private keys into prompts). Prefer a secure platform vault; verify who controls the private keys. - The skill metadata did not list required environment variables even though the docs reference AGENT_PRIVATE_KEY / X402_PRIVATE_KEY; ask the publisher or your platform how those credentials are expected to be provided and whether any automatic billing/charges can occur. - Test with the free health endpoint first and verify the deployment identity and TLS cert for https://screenshotx402.com. If you need to capture sensitive content, prefer local/self-hosted tooling instead of this remote paid service. - If you are uncertain about the facilitator or on-chain flow, consult an ops/devops person familiar with MCP/x402 before enabling paid calls.

Like a lobster shell, security has layers — review code before you run it.

latestvk97ftmykfbvhx0z8wfcbwkdszh84r728
41downloads
0stars
2versions
Updated 5d ago
v1.0.1
MIT-0

screenshot-x402 — MCP screenshots + x402

Remote Model Context Protocol server (Streamable HTTP only). All tools are invoked through MCP — there is no separate REST “screenshot URL” for paid capture.

Base URL: https://screenshotx402.com
MCP endpoint: https://screenshotx402.com/mcp

Before you install or use

  1. Read https://screenshotx402.com/discovery.json for list prices, x402 network, and mcp.url — avoid surprise charges.
  2. Confirm your agent host can run an x402-aware MCP client and sign USDC payment authorizations on that network.
  3. Trust this deployment (https://screenshotx402.com) before placing wallet / signing secrets in environment or vaults.
  4. Call health (free) before paid tools.

Credentials and signing (paid tools only)

Free: health and discovery HTTP need no wallet.

Paid (take_screenshot, analyze_screenshot): the client must sign x402 USDC authorizations and retry with payment proof headers (e.g. PAYMENT-SIGNATURE / X-PAYMENT). Use a stack such as Cloudflare agents/x402 withX402Client with a viem account. Private keys belong in your host env (examples in project docs: AGENT_PRIVATE_KEY, X402_PRIVATE_KEY in sample clients) — never in prompts. The signer needs USDC on the advertised network.

If your platform cannot attach payment proofs, use only free discovery + health, or another capture method.

Privacy and off-host data

URLs you submit are sent to this deployment (https://screenshotx402.com). The service fetches and renders pages on operator infrastructure; screenshots and, for analyze_screenshot, your prompt and vision output, are processed off your machine.

Do not use for non-public or sensitive URLs (internal hosts, auth-gated content you cannot leak, secrets in query strings). Use local or self-controlled tooling for private systems.

Discovery (free HTTP)

ResourceURLPurpose
This skillhttps://screenshotx402.com/skill.mdHuman + agent onboarding (this file)
Machine discoveryhttps://screenshotx402.com/discovery.jsonmcp.url, x402Network, tool list, list prices
API referencehttps://screenshotx402.com/docsFull parameter tables and return shapes
Landinghttps://screenshotx402.com/Tools overview and examples

Always read https://screenshotx402.com/discovery.json for current USD list prices — do not hard-code amounts.

Tools overview

ToolCostPurpose
healthFreeSmoke test MCP + advertised x402 network
take_screenshotx402 / USDCBrowser PNG or JPEG of a public https URL
analyze_screenshotx402 / USDCJPEG capture + vision text answer to your prompt

x402 payment flow (MCP)

This service uses MCP tool calls instead of raw GET /api/..., but the idea matches HTTP x402:

  1. Connect a Streamable HTTP MCP session to https://screenshotx402.com/mcp.
  2. Call a paid tool (take_screenshot / analyze_screenshot) with normal arguments.
  3. First response encodes payment required: tool result includes x402 metadata (version, accepts with price, network, pay-to, asset, facilitator expectations). No image payload yet.
  4. Complete the USDC payment on the chain advertised in that payload (this deployment’s network in discovery is base — confirm in discovery.json / health).
  5. Retry the same callTool with the payment proof attached the way your MCP client expects (e.g. PAYMENT-SIGNATURE / X-PAYMENT on the MCP HTTP session, per your stack).
  6. Server verifies via the facilitator, then returns the real tool result (image and optional text).

Automatic handling: Use an x402-aware MCP client (for example Cloudflare agents/x402 withX402Client around the MCP Client) so payment discovery, signing, and retries are handled like an x402 HTTP client would handle 402 + X-Payment — without you manually copying headers.

1. health (free)

MCP: callTool with name health, arguments: {}.

Parameters: none (empty object).

Successful result (shape):

{
  "content": [
    {
      "type": "text",
      "text": "{ \"ok\": true, \"name\": \"screenshot-x402\", \"x402Network\": \"base\" }"
    }
  ]
}

content[0].text is a JSON string — parse it for ok, name, x402Network.

2. take_screenshot (paid — x402)

MCP: callTooltake_screenshot.

Parameters:

| Param | Type | Required | Default | Description | | ----------------- | ------------ | -------- | --------------- | ----------------------------------------- | ------ | --------------- | | url | string (URL) | yes | — | Absolute https:// page to capture | | width | number | no | 1920 | Viewport width (100–3840) | | height | number | no | 1080 | Viewport height (100–2160) | | fullPage | boolean | no | false | Capture full scrollable page | | delay | number | no | 0 | Extra wait after load (ms, max 30000) | | cacheTtl | number | no | 86400 | R2 cache TTL seconds; 0 skips cache reads | | format | string | no | png | png or jpeg | | colorScheme | string | no | no-preference | light | dark | no-preference | | deviceScaleFactor | number | no | 1 | Pixel ratio 1–3 (sharpness) | | hideSelectors | string[] | no | [] | Up to 40 CSS selectors to hide |

Successful result (shape):

{
  "content": [
    {
      "type": "image",
      "data": "<base64 PNG or JPEG>",
      "mimeType": "image/png | image/jpeg"
    }
  ],
  "_meta": {
    "cached": true,
    "renderTimeMs": 1234
  }
}

_meta.cached and _meta.renderTimeMs may be omitted depending on path.

3. analyze_screenshot (paid — x402)

MCP: callToolanalyze_screenshot.

Parameters:

ParamTypeRequiredDefaultDescription
urlstring (URL)yesPage to capture
promptstringyesQuestion/instruction for the vision model
widthnumberno1920Viewport width
heightnumberno1080Viewport height
fullPagebooleannofalseFull page capture
colorSchemestringnono-preferenceSame as take_screenshot
deviceScaleFactornumberno1Same as take_screenshot
hideSelectorsstring[]no[]Same as take_screenshot

Successful result (shape):

{
  "content": [
    {
      "type": "image",
      "data": "<base64 JPEG>",
      "mimeType": "image/jpeg"
    },
    {
      "type": "text",
      "text": "<vision model answer>"
    }
  ],
  "_meta": {
    "renderTimeMs": 1234
  }
}

Decision guide

GoalToolCost
Verify MCP + networkhealthFree
Still image capturetake_screenshotPaid (see discovery)
Capture + describe / extractanalyze_screenshotPaid (see discovery)

Constraints

  • Targets must be https:// URLs (see /docs).
  • Vision output for analyze_screenshot depends on the operator’s server configuration (not something callers configure through MCP).

More links

Comments

Loading comments...