# Xither — AI vendor record

> Read-only record of AI vendor sub-processor lists, DPA notice windows and model retirements

- name: com.xither/record
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 83/100 flags: no-repository
- quality: 100/100 (strong)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.xither%2Frecord
- tools: https://api.protogrid.dev/v1/servers/com.xither%2Frecord/tools

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

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "record": {
      "type": "http",
      "url": "https://www.xither.com/mcp"
    }
  }
}
```


## Trust

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

## Quality 100/100 (strong)

### protocol: 100 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- pass `protocol.list_ttl`: tool list is cacheable (ttlMs 3600000)

### 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: 100 (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
- pass `tools.annotations`: 4 of 4 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 744 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`: 1 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: 4, about 744 tokens to load them all
- tool set hash: 27dac02291f859e646afc76d5b605af3
- tools last changed: 2026-10-01T05:57:36.668Z
- badge: [![protogrid quality](https://protogrid.dev/badge/com.xither/record.svg)](https://protogrid.dev/servers/com.xither/record)
- 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-01 `notice_windows` changed (description)
  - before: Every sub-processor notice window Xither can quote: the number of days (business days where the clause says so) each vendor's own terms give customers to object to a new sub-processor, with the verbatim clause, its source URL and the date Xither read it. The same table as www.xither.com/notice-windows. A vendor not listed has no window Xither could quote.
  - after: Every sub-processor notice window Xither can quote: the number of days (business days where the clause says so) each vendor's own terms state for a new sub-processor, and what that number counts (basis: 'objection' = time to object once told, 'notice' = notice before the change, 'unstated' = the clause does not settle it), with the verbatim clause, its source URL and the date Xither read it. The same table as www.xither.com/notice-windows. A vendor not listed has no window Xither could quote.

Full history: https://api.protogrid.dev/v1/servers/com.xither%2Frecord/changes

## Remotes

- https://www.xither.com/mcp (streamable-http, auth none, reachable true, uptime30d 0.9878049)

## Packages

_none_

## Tools (4)

- `lookup_vendor`: The Xither record for one vendor: where it publishes its sub-processor list and data processing agreement and when Xither last read each page (or why a page cannot be read), the notice window its agreement states for new sub-processors (quoted, with source URL and read date), its public changes to either document with permalinks, and model retirement dates it publishes for the next 365 days. One vendor per call; accepts a name, slug or domain. Changes appear 30 days after Xither records them; subscribers get them the same morning at www.xither.com/pricing.
- `notice_windows`: Every sub-processor notice window Xither can quote: the number of days (business days where the clause says so) each vendor's own terms state for a new sub-processor, and what that number counts (basis: 'objection' = time to object once told, 'notice' = notice before the change, 'unstated' = the clause does not settle it), with the verbatim clause, its source URL and the date Xither read it. The same table as www.xither.com/notice-windows. A vendor not listed has no window Xither could quote.
- `search_vendors`: Find vendors in the Xither record by name, slug or domain. Returns up to 10 matches, each with its name, slug and record URL, and no record data. Pass a slug to lookup_vendor for the record.
- `upcoming_model_retirements`: Model and API retirement dates from the retirement tables vendors publish, as Xither last read them, soonest first: model, date, the replacement the vendor names, the verbatim table row, source URL and read date. Optional vendor filter; within_days defaults to 90, maximum 365; at most 50 rows. Covers only vendors whose retirement tables Xither reads.
