addrbookFor publishers
← The evidence ledger

Evidence row 265335

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 080e5038-64c7-469c-86d7-d7d40d13d02c
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
1c9899075d942c30d67819162fe4bb08c86f524e94b38ae26e6308efb9f064f3
Leaf
0x832dcedd8277a54d009a9a37801264c61056c2312401cd28cf5f4067817c3dca

What was observed

{
  "count": 3,
  "tools": [
    {
      "description": "Optimize an image: smart lossy compression (typically 60-80% size reduction), optional resize/upscale/format conversion, and AI-generated SEO metadata. Accepts absolute local file paths or remote URLs. In remote/API mode, only remote URLs are supported. Supported input formats: JPG, PNG, WebP, AVIF, GIF, SVG, ICO, HEIC, TIFF, BMP (max 50 MB). Supported output formats: JPG, PNG, WebP, AVIF, GIF, SVG, ICO. Credits: 3 to compress (always), +1 if width or height is set, +2 to upscale, +1 for SEO tags (on by default). A full pipeline is 7 credits. Upscale is charged whether you request it or the server adds it automatically — it does so whenever a resize target exceeds the source by more than 1.2x, so a resize-only call on a small image also costs 7. SVG or ICO output is a flat 1 credit, overriding everything above. Animated GIFs are billed per frame: (per-frame operations x frames) + 1 if tags, up to 601 credits at the 100-frame limit — confirm_gif_cost gates that path. GIFs are excluded from automatic upscaling. Works as a guest with no signup. Log in with the login tool for more credits. Use status tool to check remaining credits before batch processing.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "_gif_temp_file_id": {
            "description": "Internal: temp file ID from a previous GIF cost warning. Skips re-upload.",
            "type": "string"
          },
          "confirm_gif_cost": {
            "description": "Set to true to proceed with animated GIF processing after seeing cost warning. Required for animated GIFs to prevent unexpected credit consumption.",
            "type": "boolean"
          },
          "gif_frame_limit": {
            "description": "Maximum frames to process for animated GIFs (1-100, default 100). Reduces cost by sampling fewer frames while preserving animation.",
            "maximum": 100,
            "minimum": 1,
            "type": "integer"
          },
          "input": {
            "description": "Absolute local file path or remote URL of the image to optimize. Note: in remote/API mode, only remote URLs are supported (no local file paths). Supported inputs: JPG, PNG, WebP, AVIF, GIF (animated supported), HEIC, TIFF, BMP (max 50 MB). GlassyPic supports high-quality conversion between any input and output format.",
            "type": "string"
          },
          "output_file_size_limit": {
            "description": "Target maximum output file size in bytes. The server will attempt to meet this limit through additional compression. Not guaranteed.",
            "exclusiveMinimum": 0,
            "type": "integer"
          },
          "output_format": {
            "description": "Output format. Defaults to 'original' (keep input format). Animated GIFs stay animated when output is 'gif'; converting to other formats preserves only the first frame. SVG output from raster input uses vector tracing. ICO output generates a favicon set (16, 24, 32, 48, 256px) unless a specific size is given.",
            "enum": [
              "original",
              "jpg",
              "png",
              "webp",
              "avif",
              "gif",
              "svg",
              "ico"
            ],
            "type": "string"
          },
          "output_height_px": {
            "description": "Target height in pixels. Set only height for proportional resize. Set both width and height for exact output dimensions (see output_resize_behavior). Costs 1 credit. If the target exceeds the source by more than 1.2x, the server also adds an AI upscale for a further 2 credits.",
            "exclusiveMinimum": 0,
            "type": "integer"
          },
          "output_path": {
            "description": "Where to save. Accepts a file path (/tmp/out.webp) or directory ending in / (/tmp/images/). If omitted: saves next to original, named with SEO slug when SEO is enabled or .polished suffix otherwise. URLs save to current working directory.",
            "type": "string"
          },
          "output_resize_behavior": {
            "description": "When both width and height are set and aspect ratio differs: 'pad' adds white padding (default), 'crop' smart-crops to fill exact dimensions",
            "enum": [
              "pad",
              "crop"
            ],
            "type": "string"
          },
          "output_seo_tag_gen": {
            "description": "Generate SEO metadata (alt text, keywords, filename) and rename output file to SEO slug. Costs 1 extra credit. Default: true.",
            "type": "boolean"
          },
          "output_upscale_factor": {
            "description": "AI upscale factor: 2 (2×) or 4 (4×). Uses Real-ESRGAN for high-quality upscaling. Costs 2 credits. Note that upscaling also triggers automatically, without this parameter, whenever a resize target exceeds the source by more than 1.2x — the same 2 credits are charged either way.",
            "enum": [
              2,
              4
            ],
            "type": "number"
          },
          "output_width_px": {
            "description": "Target width in pixels. Set only width for proportional resize. Set both width and height for exact output dimensions (see output_resize_behavior). Costs 1 credit. If the target exceeds the source by more than 1.2x, the server also adds an AI upscale for a further 2 credits.",
            "exclusiveMinimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "input"
        ],
        "type": "object"
      },
      "name": "optimize_image"
    },
    {
      "description": "Check your GlassyPic account status: login state, tier, credits remaining, and credit reset time. Use this before batch processing to verify sufficient credits.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {},
        "type": "object"
      },
      "name": "status"
    },
    {
      "description": "Open the GlassyPic pricing page in the user's browser, where the account's plan can be reviewed and changed. Call this only when the user asks to change or review their plan.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {},
        "type": "object"
      },
      "name": "upgrade"
    }
  ]
}

What the leaf hashes

{"body":"1c9899075d942c30d67819162fe4bb08c86f524e94b38ae26e6308efb9f064f3","id":265335,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793034700467450,"prev":null,"subject":"080e5038-64c7-469c-86d7-d7d40d13d02c","subject_kind":"endpoint"}

Proof

Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (296695 rows).

  1. 0x832e341dd7bdec863ed1e3b90d1e692938d11e22df588eb411a2edff477ceed4
  2. 0xe1f571ef3a50a05cb622c9e271b241196533b4317cf889854fccf681289369cf
  3. 0xfd104a51d3faf59a7baaea35d31a6015fc63f601a9232cb6b6f6c01942218b6c
  4. 0xed742bc4e83ef5b200bb8232ae968595fb60abb2e561ff961a80909f1e3851c5
  5. 0x4426ef4ceeace4fa59fc303823995387b98de3c6c9e541c60dd3bb70a015b237
  6. 0x94aed827efd5169e759bd30b12397a717241522b313e2ece17937a4e8bc55ae6
  7. 0x529c5cf8f893c30228440ba5236dc68976530cdc94b0f77f641df0d01b961333
  8. 0xacad0f9a3f73a8e6ed8075c2de7160a3bc80740c46f8e14c41cd66c47a8d4d91
  9. 0x3dad3f37dda3f6ba29a198ef717b4cfdf355397e80bf35ab1e416791eb7d3e46
  10. 0x77d9a819e7da4b6e40623e7602d7c7d412287edd9a1c98aa67bad88cfa8db3ce
  11. 0x6e037384448a2bbd201b4e7e9e6e447d7254d0d2926b3fd2e81fdf99eae4a06b
  12. 0xfdaa032291ded0df2cf35d6e9dc6e7a2643d0fe027dd3ab321971f1f7bf69147
  13. 0x91c2ae93ec20c7fed5088112fe3941ca622dfb3f8f1022c4844726c361244bd4
  14. 0x0eff463856b0992d53ab7d8c0b97c71541413358bdd445710c1e4b6aeb4d8f78
  15. 0x7eb603d37f0f22dae1ea013e391889906ffc0139ff26e25b044bee38eec8f9b2
  16. 0x2b6e23e3624a1b66e1d2298cfbce99a93ce6b13d24a58112a71802d79c5f7a76
  17. 0xd21942ae3214eff88e08ab04884fd4b11958b51af9a0741b7668e2d07a2c56c9
  18. 0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f
  19. 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON