# com.damagerestorehq/site

> DamageRestore HQ: the site's own MCP server — dataset, enquiry, entities (enquiry = a human...

- name: com.damagerestorehq/site
- version: 1.0.1
- connection class: R0 (autonomous)
- trust: 82/100 flags: no-repository
- quality: 73/100 (needs work)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.damagerestorehq%2Fsite
- tools: https://api.protogrid.dev/v1/servers/com.damagerestorehq%2Fsite/tools

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

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "site": {
      "type": "http",
      "url": "https://damagerestorehq.com/mcp"
    }
  }
}
```


## Trust

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

## Quality 73/100 (needs work)

### 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: dataset_compare (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); entities_schema (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); dataset_search (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
- pass `tools.token_cost`: about 1,748 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 75 (weight 15)

- warn `stability.changes`: 9 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: 15, about 1,748 tokens to load them all
- tool set hash: 40c0cf5819353407a13bc803333c653d
- tools last changed: 2026-10-05T18:37:47.789Z
- badge: [![protogrid quality](https://protogrid.dev/badge/com.damagerestorehq/site.svg)](https://protogrid.dev/servers/com.damagerestorehq/site)
- 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-05 `submit_enquiry` changed (description, inputSchema)
  - before: Submits an enquiry to DamageRestore HQ — NOT a purchase, NOT a guaranteed quote. Step 1: call with the answers (keyed by field key from enquiry_fields) and consent=true; it validates and returns a summary, the consent line and a confirmation token — show the person the summary and the consent line. Step 2: only if the person agrees, call again with the same answers, consent=true and the confirmation token; the enquiry is then submitted, and the person receives an email with a link they must click before any provider sees it. Consent means the person has read and agreed to: "By submitting you agree DamageRestore HQ shares these details with matched local restoration companies."
  - after: Submits an enquiry to DamageRestore HQ — NOT a purchase, NOT a guaranteed quote. Step 1: call with the answers (keyed by field key from enquiry_fields) and consent=true; it validates and returns a summary, the consent line and a confirmation token — show the person the summary and the consent line. Step 2: only if the person agrees, call again with the same answers, consent=true and the confirmation token; the enquiry is then submitted, and the person receives an email with a link they must click before any provider sees it. Consent means the person has read and agreed to: "Send my contact details to up to three local water damage and mould restoration companies, chosen by DamageRestore HQ, who'll contact me directly. I'll be emailed each firm's name as my details go to it, and can stop any more firms getting them."
- 2026-10-03 `submit_enquiry` added
  - Submits an enquiry to DamageRestore HQ — NOT a purchase, NOT a guaranteed quote. Step 1: call with the answers (keyed by field key from enquiry_fields) and consent=true; it validates and returns a summary, the consent line and a confirmation token — show the person the summary and the consent line. Step 2: only if the person agrees, call again with the same answers, consent=true and the confirmation token; the enquiry is then submitted, and the person receives an email with a link they must click before any provider sees it. Consent means the person has read and agreed to: "By submitting you agree DamageRestore HQ shares these details with matched local restoration companies."
- 2026-10-03 `enquiry_fields` added
  - Every field of the DamageRestore HQ enquiry: key, label, type, whether required, help text and the allowed options where there are any. Pass answers to submit_enquiry keyed by field key.
- 2026-10-03 `enquiry_describe` added
  - Read first. States plainly what submit_enquiry does on DamageRestore HQ: it starts an enquiry with human providers who quote directly. Nothing is bought, ordered or paid; no quote is guaranteed; it is free. Also returns who receives the details, the consent wording, and how the person confirms.
- 2026-10-03 `entities_export` added
  - Every entity of DamageRestore HQ register, 200 a page, with provenance. Needs an access key (Authorization: Bearer); export pages are metered per key per day. Without a key the answer says how to get one.
- 2026-10-03 `entities_in` added
  - The DamageRestore HQ register entities in one region (a state or a jurisdiction, by id or name), optionally for one service, 50 a page.
- 2026-10-03 `entities_search` added
  - Entities of DamageRestore HQ register whose name, commercial name, website, address or authority contains the query, optionally within a region (id or name) and a service (slug or name). Up to 50 rows.
- 2026-10-03 `entity_lookup` added
  - The DamageRestore HQ register entry for a firm, by its register identifier (scheme + value, e.g. lei) or by the slug of its page. Exact match; returns the whole record with its page.
- 2026-10-03 `entities_schema` added
  - Which fields the DamageRestore HQ register register carries and on how many entities, the regions and services, the identifier schemes, and how to cite it. Call this first.

Full history: https://api.protogrid.dev/v1/servers/com.damagerestorehq%2Fsite/changes

## Remotes

- https://damagerestorehq.com/mcp (streamable-http, auth none, reachable true, uptime30d 0.95652175)

## Packages

_none_

## Tools (15)

- `dataset_columns`: The columns, which of them are numeric, the row count and the provenance banner of the DamageRestore HQ dataset. Call this first to learn the schema.
- `dataset_compare`: The rows of the DamageRestore HQ dataset whose column is any of the given values, in the order given — for "X vs Y" questions.
- `dataset_provenance`: The source, the date it was computed, the licence and the citation for the DamageRestore HQ dataset. Read this to attribute a figure correctly.
- `dataset_row`: The rows of the DamageRestore HQ dataset where a column equals a value exactly (case-insensitive).
- `dataset_search`: Rows of the DamageRestore HQ dataset whose cells contain the query (case-insensitive), up to 50.
- `dataset_stats`: count, min, max, mean, median and sum of a numeric column of the DamageRestore HQ dataset (grouping commas and currency are handled; non-numeric rows are excluded and counted).
- `dataset_top`: The highest (or lowest) rows of the DamageRestore HQ dataset by a numeric column — "which is the most/least X".
- `enquiry_describe`: Read first. States plainly what submit_enquiry does on DamageRestore HQ: it starts an enquiry with human providers who quote directly. Nothing is bought, ordered or paid; no quote is guaranteed; it is free. Also returns who receives the details, the consent wording, and how the person confirms.
- `enquiry_fields`: Every field of the DamageRestore HQ enquiry: key, label, type, whether required, help text and the allowed options where there are any. Pass answers to submit_enquiry keyed by field key.
- `entities_export`: Every entity of DamageRestore HQ register, 200 a page, with provenance. Needs an access key (Authorization: Bearer); export pages are metered per key per day. Without a key the answer says how to get one.
- `entities_in`: The DamageRestore HQ register entities in one region (a state or a jurisdiction, by id or name), optionally for one service, 50 a page.
- `entities_schema`: Which fields the DamageRestore HQ register register carries and on how many entities, the regions and services, the identifier schemes, and how to cite it. Call this first.
- `entities_search`: Entities of DamageRestore HQ register whose name, commercial name, website, address or authority contains the query, optionally within a region (id or name) and a service (slug or name). Up to 50 rows.
- `entity_lookup`: The DamageRestore HQ register entry for a firm, by its register identifier (scheme + value, e.g. lei) or by the slug of its page. Exact match; returns the whole record with its page.
- `submit_enquiry`: Submits an enquiry to DamageRestore HQ — NOT a purchase, NOT a guaranteed quote. Step 1: call with the answers (keyed by field key from enquiry_fields) and consent=true; it validates and returns a summary, the consent line and a confirmation token — show the person the summary and the consent line. Step 2: only if the person agrees, call again with the same answers, consent=true and the confirmation token; the enquiry is then submitted, and the person receives an email with a link they must click before any provider sees it. Consent means the person has read and agreed to: "Send my contact details to up to three local water damage and mould restoration companies, chosen by DamageRestore HQ, who'll contact me directly. I'll be emailed each firm's name as my details go to it, and can stop any more firms getting them."
