# Nadveo — book air-conditioning service

> Find air-conditioning service companies and book a visit: prices, free times, error-code hints.

- name: com.nadveo/service-booking
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 82/100 flags: no-repository
- quality: 72/100 (needs work)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.nadveo%2Fservice-booking
- tools: https://api.protogrid.dev/v1/servers/com.nadveo%2Fservice-booking/tools

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

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "service-booking": {
      "type": "http",
      "url": "https://nadveo.com/mcp"
    }
  }
}
```


## Trust

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

## Quality 72/100 (needs work)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-06-18; 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: 93 (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`: 9 of 9 tools declare readOnlyHint or destructiveHint
- warn `tools.directory_hints`: 2 of 9 tools declare all four hints; missing: list_services (destructiveHint, idempotentHint); diagnose (destructiveHint, idempotentHint); company_info (destructiveHint, idempotentHint); …
- pass `tools.token_cost`: about 2,208 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 25 (weight 15)

- warn `stability.changes`: 9 tool changes in 30 days
- fail `stability.rug_pull`: 1 tools kept their name but changed most of their description in 30 days; review before trusting them

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

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

- tools: 9, about 2,208 tokens to load them all
- tool set hash: 70001817f0e9945c8944f99f503e1e81
- tools last changed: 2026-10-11T12:31:57.569Z
- badge: [![protogrid quality](https://protogrid.dev/badge/com.nadveo/service-booking.svg)](https://protogrid.dev/servers/com.nadveo/service-booking)
- 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-11 `find_companies` changed (description, inputSchema) **meaning changed**
  - before: Service companies that take bookings through Nadveo, filtered by country (ISO code, e.g. AE), city, trade and name.
  - after: Service companies in the Nadveo catalog, filtered by country (ISO code, e.g. AE), city, district, service and name, best first. Each has its districts (main: fast arrival; secondary: next day or a call-out fee), "from" prices, the next free day and clients' rating.
- 2026-10-11 `cancel_request` added
  - At the company chosen from find_companies (pass its `company`). Cancels the booking (only when the client asked to). Needs the token from book_appointment.
- 2026-10-11 `get_request_status` added
  - At the company chosen from find_companies (pass its `company`). Where a booking stands: status, time, technician (once assigned), price. Needs the token from book_appointment.
- 2026-10-11 `book_appointment` added
  - At the company chosen from find_companies (pass its `company`). Books the visit at a free time from check_availability. Only after the client confirmed the service, the time, the address and the price. The company messages the client (WhatsApp, or e-mail when given). Returns the request number and a token for get_request_status / cancel_request. Repeating the same call (same idempotency_key or the same data) returns the same booking.
- 2026-10-11 `diagnose` added
  - At the company chosen from find_companies (pass its `company`). A preliminary hint by the air conditioner's brand and the error code on its display: the probable cause (a breakdown type) and the company's starting price for it. It is not a diagnosis. Before giving it, tell the client it is an automatic hint, that the technician confirms the cause and the final price on site, and get their agreement — then pass client_accepted_disclaimer: true (also to book_appointment with the diagnosis). Brands: daikin, mitsubishi_electric, lg, samsung, gree, midea, panasonic, carrier, haier, tcl, other.
- 2026-10-11 `check_availability` added
  - At the company chosen from find_companies (pass its `company`). Free start times for the service (with these answers and units — they set how long the work takes) over the next days, from tomorrow. Each time has a slot_id for book_appointment. Times are the company's local time.
- 2026-10-11 `get_quote` added
  - At the company chosen from find_companies (pass its `company`). Checks the client's answers and gives the price and the duration. If an answer is missing or wrong, "problem" says which question.
- 2026-10-11 `list_services` added
  - At the company chosen from find_companies (pass its `company`). Every service with its starting price, how long it takes, whether it can be booked, and the questions the client answers (they set the price and the time). Questions may depend on an earlier answer (shown_if). "unknown_allowed" means "?" is a valid answer.
- 2026-10-11 `company_info` added
  - At the company chosen from find_companies (pass its `company`). The company: name, country and city, currency, languages, contacts, clients' rating, the districts it serves (main: fast arrival; secondary: next day or a call-out fee), today's date in its time zone and its booking page.

Full history: https://api.protogrid.dev/v1/servers/com.nadveo%2Fservice-booking/changes

## Remotes

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

## Packages

_none_

## Tools (9)

- `book_appointment`: At the company chosen from find_companies (pass its `company`). Books the visit at a free time from check_availability. Only after the client confirmed the service, the time, the address and the price. The company messages the client (WhatsApp, or e-mail when given). Returns the request number and a token for get_request_status / cancel_request. Repeating the same call (same idempotency_key or the same data) returns the same booking.
- `cancel_request`: At the company chosen from find_companies (pass its `company`). Cancels the booking (only when the client asked to). Needs the token from book_appointment.
- `check_availability`: At the company chosen from find_companies (pass its `company`). Free start times for the service (with these answers and units — they set how long the work takes) over the next days, from tomorrow. Each time has a slot_id for book_appointment. Times are the company's local time.
- `company_info`: At the company chosen from find_companies (pass its `company`). The company: name, country and city, currency, languages, contacts, clients' rating, the districts it serves (main: fast arrival; secondary: next day or a call-out fee), today's date in its time zone and its booking page.
- `diagnose`: At the company chosen from find_companies (pass its `company`). A preliminary hint by the air conditioner's brand and the error code on its display: the probable cause (a breakdown type) and the company's starting price for it. It is not a diagnosis. Before giving it, tell the client it is an automatic hint, that the technician confirms the cause and the final price on site, and get their agreement — then pass client_accepted_disclaimer: true (also to book_appointment with the diagnosis). Brands: daikin, mitsubishi_electric, lg, samsung, gree, midea, panasonic, carrier, haier, tcl, other.
- `find_companies`: Service companies in the Nadveo catalog, filtered by country (ISO code, e.g. AE), city, district, service and name, best first. Each has its districts (main: fast arrival; secondary: next day or a call-out fee), "from" prices, the next free day and clients' rating.
- `get_quote`: At the company chosen from find_companies (pass its `company`). Checks the client's answers and gives the price and the duration. If an answer is missing or wrong, "problem" says which question.
- `get_request_status`: At the company chosen from find_companies (pass its `company`). Where a booking stands: status, time, technician (once assigned), price. Needs the token from book_appointment.
- `list_services`: At the company chosen from find_companies (pass its `company`). Every service with its starting price, how long it takes, whether it can be booked, and the questions the client answers (they set the price and the time). Questions may depend on an earlier answer (shown_if). "unknown_allowed" means "?" is a valid answer.
