# com.nontoxicnook/catalog

> Read-only tools over an independently vetted catalog of non-toxic home and baby products.

- name: com.nontoxicnook/catalog
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 80/100 flags: no-repository
- quality: 79/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.nontoxicnook%2Fcatalog
- tools: https://api.protogrid.dev/v1/servers/com.nontoxicnook%2Fcatalog/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "catalog": {
      "type": "http",
      "url": "https://api.nontoxicnook.com/api/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 100
- freshness: 85
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-100% ~updated-59d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 79/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 71 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- fail `tools.annotations`: no tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky ones
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: search_products (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_editorial_set (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); search_articles (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
- pass `tools.token_cost`: about 657 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: 2 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 7, about 657 tokens to load them all
- tool set hash: a0ffba73139ca8f39d821ccf8ba33d20
- tools last changed: 2026-10-14T07:07:31.278Z
- badge: [![protogrid quality](https://protogrid.dev/badge/com.nontoxicnook/catalog.svg)](https://protogrid.dev/servers/com.nontoxicnook/catalog)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-14 `get_editorial_set` changed (title, description)
  - before: One curated set's full ordered lineup with product links. Fetch the markdown_url for the annotated version (per-pick reasons included).
  - after: One Curated Set's full ordered lineup with product links. Fetch the markdown_url for the annotated version (per-pick reasons included).
- 2026-10-14 `list_editorial_sets` changed (title, description)
  - before: Curated, ordered sets of vetted products (4-10 each), composed and human-reviewed — starter kits, room-by-room lineups, budget and life-stage sets. Newest first.
  - after: Curated Sets: hand-picked, ordered lineups of vetted products (4-40 each), composed and human-reviewed — starter kits, room-by-room lineups, budget and life-stage sets. Newest first.

Full history: https://api.protogrid.dev/v1/servers/com.nontoxicnook%2Fcatalog/changes

## Remotes

- https://api.nontoxicnook.com/api/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (7)

- `get_article`: Metadata + product list for one published article by slug. Fetch the markdown_url for the complete body text.
- `get_editorial_set`: One Curated Set's full ordered lineup with product links. Fetch the markdown_url for the annotated version (per-pick reasons included).
- `get_product`: Full public record for one product by slug: why it was chosen, certifications, spec sheet, and where to buy (clean merchant links, no trackers). No prices — the product page carries those live.
- `get_vetting_criteria`: The full published criteria every listed product must clear (preconditions, universal exclusions, category rules, certifications weighting) — the standard behind every search_products result.
- `list_editorial_sets`: Curated Sets: hand-picked, ordered lineups of vetted products (4-40 each), composed and human-reviewed — starter kits, room-by-room lineups, budget and life-stage sets. Newest first.
- `search_articles`: Search published editorial (product guides, news, explainers) by keywords. Each result includes a markdown mirror URL with the full text.
- `search_products`: Search the vetted non-toxic product catalog by product name, description, or brand. Every result passed the published vetting criteria. Returns up to 10 lean records with page + markdown URLs.
