Connect your tool

Crackle Check runs from your own code and agents as well as this page, and the segments it reads are open data you can load yourself, with no account needed for either.

Call Crackle Check from code or an agent

Code Apache 2.0; readers MIT; scans CC BY-NC 4.0 · Examples are precomputed; a new region uses ZeroGPU time, so pass Client(..., token=...) to use your own. Model output, not a reading.

https://huggingface.co/spaces/SharpMeow/crackle-check
Python /check_exampletested 2026-10-24
# pip install gradio_client
from gradio_client import Client

client = Client("SharpMeow/crackle-check")
result = client.predict(sample_id="0841-w00", reader="readerv3", api_name="/check_example")
Python /check_segmenttested 2026-10-24
# pip install gradio_client
from gradio_client import Client

client = Client("SharpMeow/crackle-check")
result = client.predict(segment="PHerc0841/segments/20260220213127-w00", volume="", x=3008, y=2944, size=384, reader="readerv3", api_name="/check_segment")
Python /list_readerstested 2026-10-24
# pip install gradio_client
from gradio_client import Client

client = Client("SharpMeow/crackle-check")
result = client.predict(api_name="/list_readers")
curl /check_exampletested 2026-10-24
URL=https://sharpmeow-crackle-check.hf.space
EVENT=$(curl -s -X POST $URL/gradio_api/call/check_example -H 'Content-Type: application/json' \
  -d '{"data": ["0841-w00", "readerv3"]}' | python3 -c 'import json,sys; print(json.load(sys.stdin)["event_id"])')
curl -sN $URL/gradio_api/call/check_example/$EVENT
MCP (Claude, Cursor and other agents)tested 2026-10-24
{
  "mcpServers": {
    "crackle-check": {
      "url": "https://sharpmeow-crackle-check.hf.space/gradio_api/mcp/sse"
    }
  }
}

Tool list: https://sharpmeow-crackle-check.hf.space/gradio_api/mcp/schema

The layers it reads, example PHerc0841 w00 (9.366 um surface volume)

CC BY-NC 4.0 (Vesuvius Challenge open data) · Shape (layers, height, width). Read live from the open data when someone runs a check; nothing is bundled. · browse

https://vesuvius-challenge-open-data.s3.us-east-1.amazonaws.com/PHerc0841/segments/20260220213127-w00/surface-volumes/9.366um-1.2m-113keV-volume-20250821151531.zarr
Python (zarr)tested 2026-10-24
# pip install "zarr>=3" fsspec aiohttp
import zarr

root = zarr.open_group("https://vesuvius-challenge-open-data.s3.us-east-1.amazonaws.com/PHerc0841/segments/20260220213127-w00/surface-volumes/9.366um-1.2m-113keV-volume-20250821151531.zarr", mode="r")  # OME-Zarr, zarr v2
a = root["0"]  # level 0 is full resolution; level L is 2**L times coarser
print(a.shape, a.dtype, a.chunks)
block = a[0:64, 2800:2864, 2900:2964]  # (z, y, x); reads only the chunks it touches
villa's vesuvius packagetested 2026-10-24
# pip install "vesuvius[volume-only]"
from vesuvius import Volume

v = Volume(type="zarr", path="https://vesuvius-challenge-open-data.s3.us-east-1.amazonaws.com/PHerc0841/segments/20260220213127-w00/surface-volumes/9.366um-1.2m-113keV-volume-20250821151531.zarr/0")  # one pyramid level
block = v[0:64, 2800:2864, 2900:2964]
curltested 2026-10-24
curl -s https://vesuvius-challenge-open-data.s3.us-east-1.amazonaws.com/PHerc0841/segments/20260220213127-w00/surface-volumes/9.366um-1.2m-113keV-volume-20250821151531.zarr/.zattrs            # OME multiscales metadata
curl -s https://vesuvius-challenge-open-data.s3.us-east-1.amazonaws.com/PHerc0841/segments/20260220213127-w00/surface-volumes/9.366um-1.2m-113keV-volume-20250821151531.zarr/0/.zarray     # one level: shape, chunks, dtype, codec