Use our sunscreen law data and Reef Safe Index

Free and keyless. Connect an AI assistant to check any ingredient list against every reef law we track, or download the data as JSON. Use it with attribution.

  • 13 laws and rules
  • 41 ingredients
  • 988 products

Dataset last reviewed September 23, 2026.

MCP server

Connect any MCP client to https://reeflabel.com/mcp. It is read-only and needs no account, key or sign-in. Your assistant can then check a label, find products legal where you are going, and read the law with its sources.

Server URL

https://reeflabel.com/mcp

Add it to your client

Claude Code

Run once in a terminal.

claude mcp add --transport http reef-label https://reeflabel.com/mcp

Claude (claude.ai and Desktop)

Settings → Connectors → Add custom connector, then paste the URL. No sign-in is needed.

https://reeflabel.com/mcp

Cursor

Add to ~/.cursor/mcp.json.

{
  "mcpServers": {
    "reef-label": {
      "url": "https://reeflabel.com/mcp"
    }
  }
}

VS Code

Add to .vscode/mcp.json.

{
  "servers": {
    "reef-label": {
      "type": "http",
      "url": "https://reeflabel.com/mcp"
    }
  }
}

Clients that only speak stdio

Bridge the remote server with mcp-remote.

{
  "mcpServers": {
    "reef-label": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://reeflabel.com/mcp"
      ]
    }
  }
}

Tools

Things to ask

Call it directly

The endpoint speaks JSON-RPC over HTTP POST (MCP Streamable HTTP, stateless), so a plain request works too.

curl

curl -s https://reeflabel.com/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"check_label","arguments":{"label_text":"Active Ingredients: Avobenzone 3%, Zinc Oxide 5%. Inactive Ingredients: Water","locations":["maui-county","palau"]}}}'

JSON files

The same data the pages are built from, as static files. No parameters and no keys: download a file and filter it yourself. Every file carries an attribution block, and each product has a verdict for every location.

Schemas are in the OpenAPI description. The API catalog is at /.well-known/api-catalog.

Example: face sunscreens legal under every law

curl -s https://reeflabel.com/data/products.json \
  | jq '[.products[] | select(.legalEverywhere and .category == "face") | {name, brand: .brand.name, spf, url}]'

Reading a verdict

Verdicts are computed from published ingredient lists against the enacted text of each rule, never entered by hand. They are reference information, not legal advice. How verdicts are made.

Terms of use

Free to use with attribution: name Reef Label and link the page you used, and for a legal claim also cite the primary source on the location page. Keep request rates modest, identify your client with an honest User-Agent and cache responses; the files change only when the dataset is reviewed. Full terms in sections 10 and 11, and how to cite us.

For agents and crawlers

Questions and higher volume

Need more than the free limits, a field we do not publish, or found a mistake? Email [email protected].