accueil / serveurs / Communication / com.nadveo/service-booking
com.nadveo/service-booking
serveur MCP (Model Context Protocol) · nadveo 1.0.0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que com.nadveo/service-booking est sûr ?
Au dernier audit MCP Hub, le serveur MCP « com.nadveo/service-booking » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 9 outils
- book_appointment≈ 632 tokens
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.
Paramètres, retour & exemple (14)
Paramètreslang· string · optionnel
Language for names and labels: ru, es, en, ar, pt, fr, de, it, tr, id, vi, th. Default en.units· integer · optionnel
How many units (air conditioners…) — only for services that count units. Default 1.address· string · requis
Where the work is done: street, building, apartment, city.answers· object · optionnel
Answers to the service's questions: { question_id: option_id | [option_ids] | number | text }. Use the ids from list_services.company· string · requis
The company: the `company` of a find_companies result.service· string · requis
The service key from list_services.slot_id· integer · requis
A slot_id from check_availability.district· string · optionnel
When company_info lists service_zones: the client's district as its zone id (e.g. "dubai:jlt"), or "other" when it is not in the list.diagnosis· object · optionnel
Optional: { brand, code } from diagnose — the technician sees it.client_name· string · requisclient_email· string · optionnel
Optional: messages go to this e-mail instead of WhatsApp.client_phone· string · requis
With the country code, e.g. +971 50 123 4567.idempotency_key· string · optionnel
Optional, 8–100 of A-Z a-z 0-9 _ -: the same key never books twice.client_accepted_disclaimer· boolean · optionnel
Needed with diagnosis: the client agreed it is a hint, not a diagnosis.
Exemple d'appel{"name": "book_appointment", "arguments": {"address": "texte", "company": "texte", "service": "texte", "slot_id": 1, "client_name": "texte", "client_phone": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - cancel_request≈ 140 tokens
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.
Paramètres, retour & exemple (2)
Paramètrestoken· string · requiscompany· string · requis
The company: the `company` of a find_companies result.
Exemple d'appel{"name": "cancel_request", "arguments": {"token": "texte", "company": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - check_availability≈ 290 tokens
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.
Paramètres, retour & exemple (5)
Paramètresdays· integer · optionnel
How many days ahead to look. Default 7.units· integer · optionnel
How many units (air conditioners…) — only for services that count units. Default 1.answers· object · optionnel
Answers to the service's questions: { question_id: option_id | [option_ids] | number | text }. Use the ids from list_services.company· string · requis
The company: the `company` of a find_companies result.service· string · requis
The service key from list_services.
Exemple d'appel{"name": "check_availability", "arguments": {"company": "texte", "service": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - company_info≈ 184 tokens
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.
Paramètres, retour & exemple (2)
Paramètreslang· string · optionnel
Language for names and labels: ru, es, en, ar, pt, fr, de, it, tr, id, vi, th. Default en.company· string · requis
The company: the `company` of a find_companies result.
Exemple d'appel{"name": "company_info", "arguments": {"company": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - diagnose≈ 354 tokens
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.
Paramètres, retour & exemple (5)
Paramètrescode· string · requis
The code on the display, e.g. U4, E1, CH05.lang· string · optionnel
Language for names and labels: ru, es, en, ar, pt, fr, de, it, tr, id, vi, th. Default en.brand· string · requis
Brand key (see the description), or "other".company· string · requis
The company: the `company` of a find_companies result.client_accepted_disclaimer· boolean · requis
The client agreed that this is an automatic hint, not a diagnosis.
Exemple d'appel{"name": "diagnose", "arguments": {"code": "texte", "brand": "texte", "company": "texte", "client_accepted_disclaimer": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - find_companies≈ 300 tokens
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.
Paramètres, retour & exemple (6)
Paramètrescity· string · optionnel
The city, e.g. Dubai, Abu Dhabi, Sharjah (part of the name is enough).query· string · optionnel
Part of the company name.trade· string · optionnel · hvac | repair | rental
hvac = air conditioning and heating.country· string · optionnel
ISO 3166 code, e.g. AE, MX, ID, TH, VN.service· string · optionnel · maintenance | repair | installation
maintenance = cleaning and service; repair = repairs and gas recharge; installation.district· string · optionnel
The client's district in that city, e.g. "JLT", "Dubai Marina", "Al Nahda" (part of the name is enough).
Exemple d'appel{"name": "find_companies", "arguments": {"city": "texte", "query": "texte", "trade": "hvac", "country": "texte", "service": "maintenance", "district": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_quote≈ 275 tokens
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.
Paramètres, retour & exemple (5)
Paramètreslang· string · optionnel
Language for names and labels: ru, es, en, ar, pt, fr, de, it, tr, id, vi, th. Default en.units· integer · optionnel
How many units (air conditioners…) — only for services that count units. Default 1.answers· object · optionnel
Answers to the service's questions: { question_id: option_id | [option_ids] | number | text }. Use the ids from list_services.company· string · requis
The company: the `company` of a find_companies result.service· string · requis
The service key from list_services.
Exemple d'appel{"name": "get_quote", "arguments": {"company": "texte", "service": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_request_status≈ 134 tokens
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.
Paramètres, retour & exemple (2)
Paramètrestoken· string · requiscompany· string · requis
The company: the `company` of a find_companies result.
Exemple d'appel{"name": "get_request_status", "arguments": {"token": "texte", "company": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_services≈ 198 tokens
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.
Paramètres, retour & exemple (2)
Paramètreslang· string · optionnel
Language for names and labels: ru, es, en, ar, pt, fr, de, it, tr, id, vi, th. Default en.company· string · requis
The company: the `company` of a find_companies result.
Exemple d'appel{"name": "list_services", "arguments": {"company": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».