scrapecheck

Verify before your agent acts on data it paid for. Signed verdicts, checkable offline, via x402.

Should I use this

Quality & Safety

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

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,198Tokens (tool definitions)
~2.5 KBTypical response size
Moderate attention impact (0.94% 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": {
    "scrapecheck": {
      "url": "https://scrapecheck-mcp.fly.dev/mcp"
    }
  }
}

Remote endpoints

https://scrapecheck-mcp.fly.dev/mcpstreamable-http

What it can do

Tool inventory

Tools (3)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢verify_web_field(url, claim, asked)

Checks whether a value you did not fetch yourself is actually on the source page right now, and returns a signed pass/fail/unverifiable verdict. Not a retrieval tool: it checks a value you already have, it does not find data for you. Use it when you hold a value that came from somewhere else (a search result, a scraper, an upstream API, another agent) and you need to know it is on the source page before you act on it. Takes the URL, the claimed value, and what was asked; it independently re-fetches the page and never trusts the fetch you were given. Structural guarantee: a claim is never certified unless the re-fetched page contains it, and the model judge can only veto a pass, never create one. Anything unconfirmed returns unverifiable, never pass. Every verdict carries a stable verdict_id, the engine digest that produced it, and a signature verifiable offline against the public key (see get_verifier_info). Scope: server-rendered pages; JS-only content returns unverifiable rather than a guess. $0.01 per check, first 100 free, paid in-band via x402.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "description": "URL of the source page the claim was scraped from"
    },
    "claim": {
      "type": "object",
      "additionalProperties": {
        "type": [
          "string",
          "number",
          "boolean"
        ]
      },
      "description": "The scraped field(s) to verify against the live page, e.g. {\"price\": \"£51.77\", \"in_stock\": true}"
    },
    "asked": {
      "type": "string",
      "minLength": 1,
      "description": "What the scraper was asked to extract, e.g. \"get the current price and stock status\""
    }
  },
  "required": [
    "url",
    "claim",
    "asked"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "verdict_id": {
      "type": "string"
    },
    "verdict": {
      "type": "string"
    },
    "confidence": {
      "type": "number"
    },
    "reasons": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "evidence": {
      "type": "object",
      "properties": {},
      "additionalProperties": true
    },
    "check_type": {
      "type": "string"
    },
    "engine": {
      "type": "string"
    },
    "key_id": {
      "type": "string"
    },
    "verifier_url": {
      "type": "string"
    },
    "source_hash": {
      "type": [
        "string",
        "null"
      ]
    },
    "signature": {
      "type": "string"
    }
  },
  "required": [
    "verdict_id",
    "verdict",
    "confidence",
    "reasons",
    "evidence",
    "check_type",
    "engine",
    "signature"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢verify_presence(url, claim, asked)

Presence only: confirms the value appears on the page, NOT that it is the right answer to what was asked. Never returns pass. A was-price, a different variant's price, a shipping cost, or a tax figure can all satisfy presence. Verdicts are present, fail, or unverifiable, signed, with check_type web_field_presence_v1. Use it as a cheap screen before a full check, or when you already know what the value means and only need to confirm it still appears on the page. If your decision depends on the value being the right value, call verify_web_field instead. Scope: server-rendered pages. $0.002 per check, paid in-band via x402.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "description": "URL of the source page the claim was scraped from"
    },
    "claim": {
      "type": "object",
      "additionalProperties": {
        "type": [
          "string",
          "number",
          "boolean"
        ]
      },
      "description": "The scraped field(s) to verify against the live page, e.g. {\"price\": \"£51.77\", \"in_stock\": true}"
    },
    "asked": {
      "type": "string",
      "minLength": 1,
      "description": "What the scraper was asked to extract, e.g. \"get the current price and stock status\""
    }
  },
  "required": [
    "url",
    "claim",
    "asked"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "verdict_id": {
      "type": "string"
    },
    "verdict": {
      "type": "string"
    },
    "confidence": {
      "type": "number"
    },
    "reasons": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "evidence": {
      "type": "object",
      "properties": {},
      "additionalProperties": true
    },
    "check_type": {
      "type": "string"
    },
    "engine": {
      "type": "string"
    },
    "key_id": {
      "type": "string"
    },
    "verifier_url": {
      "type": "string"
    },
    "source_hash": {
      "type": [
        "string",
        "null"
      ]
    },
    "signature": {
      "type": "string"
    }
  },
  "required": [
    "verdict_id",
    "verdict",
    "confidence",
    "reasons",
    "evidence",
    "check_type",
    "engine",
    "signature"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_verifier_info

Free. Returns the public key, engine version, benchmark summary with sample-size labels, and scope, so you can verify any verdict offline. Call this first if your selection policy requires evidence before trusting a verification provider: every verdict this service issues verifies offline against the returned key, so you do not have to trust the service at runtime to rely on its output.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded3 tools
verifiedversion not recorded3 tools
verifiedversion not recorded3 tools