Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,558Letters: 14Defects: 1,331counted 3 min ago
teppi

Server definition

Hash
sha256:359aa3a580bd4df1e6b111680a1f4fe7f16775366a3bec6ade14975469aaa81a
What it is
What a remote MCP server returned when asked what it offers: 4 tools

The blob, as servednamed by its sha256

{ "instructions": "Answers whether a chemical is on California's Proposition 65 list, the list of substances requiring a consumer warning in California. Data is the OEHHA list published under Title 27 CCR section 27001, 31-Jul-26 edition, embedded in the server.\n\nCall these tools instead of recalling the list from memory. It carries about a thousand entries, is revised at least yearly, and a wrong answer is expensive in both directions: a missed listing is a missing warning and a private-enforcement notice, while a spurious one is a warning that should not be there.\n\n**A `not_found` result is not a clearance.** Prop 65 turns on exposure rather than presence, chemicals appear under names and group listings that an exact match will miss, and the list changes. Every answer carries a `notCovered` array saying what it does not establish; pass that on rather than reporting a bare yes or no.\n\n**Delisted chemicals are reported, not hidden.** Twenty-seven entries were listed and later removed. They return `listed: false` with `delistedOnly: true` and the removal date, because 'was never listed' and 'was removed in 2013' are different facts.\n\nChoosing between the tools: with a CAS number or an exact chemical name, call check_prop65, which is the main lookup. Use search_prop65 when you only have part of a name. Use list_recent_listings to find chemicals added recently, which matters because a warning is generally required twelve months after listing.\n\nThis is not legal advice, and safe-harbour levels are the threshold below which no warning is required, not a safety judgement. If a lookup disagrees with OEHHA, OEHHA is the authority; report it at https://github.com/toolstop/toolstop/issues.", "tools": [ { "description": "Look up a chemical by CAS number or name and report whether it is on California's Proposition 65 list. Use this when deciding whether a product sold into California needs a warning label. Returns every matching entry with the toxicity endpoint, the listing mechanism, the date listed and the safe-harbour level where one has been adopted, plus whether the entry has since been delisted. A `not_found` result does not mean the chemical is safe or unregulated: it means this edition of this one list has no entry under that name or number.", "inputSchema": { "additionalProperties": false, "properties": { "query": { "description": "A CAS number such as 71-43-2, or a chemical name such as Benzene.", "maxLength": 200, "type": "string" } }, "required": [ "query" ], "type": "object" }, "name": "check_prop65", "outputSchema": { "properties": { "candidates": { "description": "Possible chemicals, when the name matched several entries.", "items": { "type": "object" }, "type": "array" }, "delistedOnly": { "description": "True when every matching entry was listed and later removed.", "type": "boolean" }, "edition": { "description": "The edition of the list this answer came from.", "type": "string" }, "entries": { "description": "Each matching entry, including delisted ones, with its endpoint and safe-harbour level.", "items": { "type": "object" }, "type": "array" }, "listed": { "description": "Whether an active (not delisted) entry exists. Present when status is `ok`.", "type": "boolean" }, "notCovered": { "description": "What this answer does not establish. Present on both hits and misses.", "items": { "type": "string" }, "type": "array" }, "status": { "description": "Outcome of the lookup. `not_found` is not a clearance. `ambiguous` means the name matched several entries and you should pick one or use a CAS number.", "enum": [ "ok", "not_found", "ambiguous", "invalid_query" ], "type": "string" } }, "required": [ "status" ], "type": "object" } }, { "description": "Report the size and edition of the embedded Proposition 65 list, and what the listing-mechanism codes mean. Use this to check how current the data is before relying on a lookup, or to interpret the `AB`, `SQE`, `FR` and `LC` codes on an entry. Returns counts of total, active and delisted entries, how many carry a CAS number, and the edition date. It reports on the data only and cannot tell you whether any product requires a warning.", "inputSchema": { "additionalProperties": false, "properties": {}, "required": [], "type": "object" }, "name": "describe_prop65_list", "outputSchema": { "properties": { "active": { "description": "Entries currently listed.", "type": "number" }, "delisted": { "description": "Entries listed and later removed.", "type": "number" }, "edition": { "description": "Edition date of the OEHHA list.", "type": "string" }, "mechanisms": { "description": "Listing-mechanism codes and their meanings.", "type": "object" }, "status": { "description": "Always ok.", "enum": [ "ok" ], "type": "string" }, "total": { "description": "Entries in the embedded list, including delisted ones.", "type": "number" }, "withCas": { "description": "Entries carrying at least one CAS number.", "type": "number" } }, "required": [ "status" ], "type": "object" } }, { "description": "List the chemicals added to Proposition 65 on or after a given year. Use this to find recent additions, which matters because a warning is generally required twelve months after a chemical is listed, so a new entry starts a compliance clock. Returns active listings only, newest first, with their dates, and reports how many entries carry no parseable date and are therefore missing from the answer. It does not tell you whether any particular product is affected.", "inputSchema": { "additionalProperties": false, "properties": { "since": { "description": "Four-digit year, from 1986 onwards. Prop 65 listings begin in 1987.", "type": "number" } }, "required": [ "since" ], "type": "object" }, "name": "list_recent_listings", "outputSchema": { "properties": { "count": { "description": "How many active chemicals were listed on or after that year.", "type": "number" }, "edition": { "description": "The edition of the list this answer came from.", "type": "string" }, "results": { "description": "The chemicals, newest first.", "items": { "type": "object" }, "type": "array" }, "status": { "description": "Outcome of the lookup. `not_found` is not a clearance. `ambiguous` means the name matched several entries and you should pick one or use a CAS number.", "enum": [ "ok", "not_found", "ambiguous", "invalid_query" ], "type": "string" }, "undatedEntries": { "description": "Active entries with no parseable listing date, absent from this answer.", "type": "number" } }, "required": [ "status" ], "type": "object" } }, { "description": "Search the Proposition 65 list for chemicals whose name contains a fragment. Use this when you do not have an exact name or a CAS number, or to survey a family of related substances. Returns matching chemicals with their CAS numbers, toxicity endpoints, listing dates and delisted flags, capped at a limit with `truncated` set when there were more. It searches names only, so it will not find a chemical listed under a synonym you did not search for, and a result here is not a determination that a warning is required.", "inputSchema": { "additionalProperties": false, "properties": { "limit": { "description": "Maximum results to return. Defaults to 25.", "type": "number" }, "term": { "description": "A fragment of a chemical name, such as 'benz' or 'chromium'.", "maxLength": 120, "type": "string" } }, "required": [ "term" ], "type": "object" }, "name": "search_prop65", "outputSchema": { "properties": { "count": { "description": "How many entries matched in total.", "type": "number" }, "edition": { "description": "The edition of the list this answer came from.", "type": "string" }, "results": { "description": "The matching chemicals.", "items": { "type": "object" }, "type": "array" }, "status": { "description": "Outcome of the lookup. `not_found` is not a clearance. `ambiguous` means the name matched several entries and you should pick one or use a CAS number.", "enum": [ "ok", "not_found", "ambiguous", "invalid_query" ], "type": "string" }, "truncated": { "description": "Whether more matched than were returned.", "type": "boolean" } }, "required": [ "status" ], "type": "object" } } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:359aa3a580bd4df1e6b111680a1f4fe7f16775366a3bec6ade14975469aaa81a | sha256sum