# app.botnotice/mcp

> AI disclosure laws by business and state, each law in full, and a website AI-notice check.

- name: app.botnotice/mcp
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 83/100 flags: no-repository
- quality: 89/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/app.botnotice%2Fmcp
- tools: https://api.protogrid.dev/v1/servers/app.botnotice%2Fmcp/tools

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

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "botnotice": {
      "type": "http",
      "url": "https://botnotice.app/mcp"
    }
  }
}
```


## Trust

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

## Quality 89/100 (good)

### protocol: 88 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- warn `protocol.list_ttl`: tools/list declares ttlMs 0, so clients re-fetch it on every use

### 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: 86 (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
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: laws_for_business (destructiveHint, idempotentHint); check_website (destructiveHint, idempotentHint); get_law (destructiveHint, idempotentHint); …
- pass `tools.token_cost`: about 1,513 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`: no 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 1,513 tokens to load them all
- tool set hash: bc9cbf237a99f71d72a9a2c298528800
- badge: [![protogrid quality](https://protogrid.dev/badge/app.botnotice/mcp.svg)](https://protogrid.dev/servers/app.botnotice/mcp)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Remotes

- https://botnotice.app/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (4)

- `check_website`: Reads a public website: which chat or voice-AI tools it runs, whether an AI disclosure is already shown, and, for the business described, which laws that leaves unmet. The same check as the free scan at botnotice.app/scan, without the browser pass. Not legal advice.
- `get_law`: The full record for one law: who must comply, what to disclose, timing, duties, exemptions, penalties, enforcement, sources and the last-verified date. Slugs come from list_laws or the dataset at https://botnotice.app/datasets/ai-disclosure-laws.json.
- `laws_for_business`: Given how a business uses AI and where its customers are, returns the laws in force and the ones coming, each with what must be disclosed, when, the penalties and the sources, plus the notice rules that satisfy all of them. Free, no account. Not legal advice.
- `list_laws`: Every AI disclosure law BotNotice tracks (U.S. states, federal, EU, UK), with status and effective date, optionally filtered. Also the pending bills.
