Find Italian doctors and health practitioners: profile, services, prices, free booking slots.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Orari di inizio liberi per la prenotazione online di un professionista, giorno per giorno (massimo 14 giorni). Mostra solo gli orari liberi, mai chi ha prenotato. Indica visit_type per avere solo gli orari in cui quella visita ci sta. Non prenota: per l'orario scelto dai al paziente il link di booking_urls di quel giorno (pagina di prenotazione con sede, giorno, orario e tipo di visita già scelti; il paziente inserisce i suoi dati e conferma), altrimenti booking_url. / Free start times for online booking, day by day (max 14 days). Shows free times only, never who booked. Pass visit_type to get only the times that visit fits. Does not book: for the chosen time give the patient that day's booking_urls link (the booking page with location, day, time and visit type preselected; the patient enters their details and confirms), otherwise booking_url.
Codice pubblico del medico restituito da search_doctors (campo `code`). / The doctor's public code from search_doctors (`code`).
Numero di giorni (default 7, max 14). / Number of days.
Primo giorno AAAA-MM-GG (default oggi, fuso Europe/Rome). / First day YYYY-MM-DD (default today, Europe/Rome).
Opzionale ma consigliato: il nome esatto di un tipo di visita da get_visit_types (stessa sede). Con il nome, solo gli orari in cui quella visita (con la sua durata) è prenotabile. / Optional but recommended: the exact visit type name from get_visit_types (same location); only start times where a visit of that length fits are returned.
Opzionale: numero della sede (location_ref) da get_doctor_profile. Senza, la sede principale. / Optional location number (location_ref) from get_doctor_profile; defaults to the primary location.
Orari di inizio liberi per la prenotazione online di un professionista, giorno per giorno (massimo 14 giorni). Mostra solo gli orari liberi, mai chi ha prenotato. Indica visit_type per avere solo gli orari in cui quella visita ci sta. Non prenota: per l'orario scelto dai al paziente il link di booking_urls di quel giorno (pagina di prenotazione con sede, giorno, orario e tipo di visita già scelti; il paziente inserisce i suoi dati e conferma), altrimenti booking_url. / Free start times for online booking, day by day (max 14 days). Shows free times only, never who booked. Pass visit_type to get only the times that visit fits. Does not book: for the chosen time give the patient that day's booking_urls link (the booking page with location, day, time and visit type preselected; the patient enters their details and confirms), otherwise booking_url.
| Argument | Type | Description |
|---|---|---|
| code* | string | Codice pubblico del medico restituito da search_doctors (campo `code`). / The doctor's public code from search_doctors (`code`). |
| days | integer | Numero di giorni (default 7, max 14). / Number of days. |
| from | string | Primo giorno AAAA-MM-GG (default oggi, fuso Europe/Rome). / First day YYYY-MM-DD (default today, Europe/Rome). |
| visit_type | string | Opzionale ma consigliato: il nome esatto di un tipo di visita da get_visit_types (stessa sede). Con il nome, solo gli orari in cui quella visita (con la sua durata) è prenotabile. / Optional but recommended: the exact visit type name from get_visit_types (same location); only start times where a visit of that length fits are returned. |
| location_ref | integer | Opzionale: numero della sede (location_ref) da get_doctor_profile. Senza, la sede principale. / Optional location number (location_ref) from get_doctor_profile; defaults to the primary location. |
{
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"description": "Codice pubblico del medico restituito da search_doctors (campo `code`). / The doctor's public code from search_doctors (`code`)."
},
"days": {
"type": "integer",
"maximum": 14,
"minimum": 1,
"description": "Numero di giorni (default 7, max 14). / Number of days."
},
"from": {
"type": "string",
"format": "date",
"description": "Primo giorno AAAA-MM-GG (default oggi, fuso Europe/Rome). / First day YYYY-MM-DD (default today, Europe/Rome)."
},
"visit_type": {
"type": "string",
"description": "Opzionale ma consigliato: il nome esatto di un tipo di visita da get_visit_types (stessa sede). Con il nome, solo gli orari in cui quella visita (con la sua durata) è prenotabile. / Optional but recommended: the exact visit type name from get_visit_types (same location); only start times where a visit of that length fits are returned."
},
"location_ref": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Opzionale: numero della sede (location_ref) da get_doctor_profile. Senza, la sede principale. / Optional location number (location_ref) from get_doctor_profile; defaults to the primary location."
}
},
"additionalProperties": false
}Profilo pubblico di un professionista: specialità, iscrizione all'Albo, sedi, orari, prestazioni con durata e prezzo (null = prezzo non indicato o non mostrato online), valutazione verificata, link al suo sito e alla prenotazione. Non prenota. / Public profile: specialty, professional registration, locations, opening hours, services with duration and price (null = price not stated or not shown online), verified rating, links to their website and booking page. Does not book.
| Argument | Type | Description |
|---|---|---|
| code* | string | Codice pubblico del medico restituito da search_doctors (campo `code`). / The doctor's public code from search_doctors (`code`). |
{
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"description": "Codice pubblico del medico restituito da search_doctors (campo `code`). / The doctor's public code from search_doctors (`code`)."
}
},
"additionalProperties": false
}Tipi di visita prenotabili online da un professionista, con durata, prezzo in euro (null = prezzo non indicato o non mostrato online, NON gratuito) e se il pagamento è online. Non prenota. / Visit types bookable online, with duration, price in EUR (null = price not stated or not shown online, NOT free) and whether payment is online. Does not book.
| Argument | Type | Description |
|---|---|---|
| code* | string | Codice pubblico del medico restituito da search_doctors (campo `code`). / The doctor's public code from search_doctors (`code`). |
| location_ref | integer | Opzionale: numero della sede (location_ref) da get_doctor_profile. Senza, la sede principale. / Optional location number (location_ref) from get_doctor_profile; defaults to the primary location. |
{
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"description": "Codice pubblico del medico restituito da search_doctors (campo `code`). / The doctor's public code from search_doctors (`code`)."
},
"location_ref": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Opzionale: numero della sede (location_ref) da get_doctor_profile. Senza, la sede principale. / Optional location number (location_ref) from get_doctor_profile; defaults to the primary location."
}
},
"additionalProperties": false
}Invia una richiesta di prenotazione per un orario libero. Non prenota subito: Sanovia manda al paziente un'email con un link valido 30 minuti; la visita esiste solo quando il paziente la conferma dalla pagina Sanovia (accetta Termini e Privacy e, se previsto, paga online). L'orario non è bloccato fino alla conferma. Chiedi al paziente SOLO nome, cognome ed email: non inviare mai dati sanitari, sintomi, telefono o codice fiscale. Usa un time di free_slots da get_availability per la stessa sede e lo stesso visit_type. / Sends a booking request for a free time. It does not book: Sanovia emails the patient a link valid for 30 minutes; the visit exists only once the patient confirms on the Sanovia page (accepting Terms and Privacy and, when required, paying online). The time is not held until then. Ask the patient ONLY for first name, last name and email: never send health data, symptoms, phone number or tax code. Use a time from get_availability's free_slots for the same location and visit_type.
| Argument | Type | Description |
|---|---|---|
| code* | string | Codice pubblico del medico restituito da search_doctors (campo `code`). / The doctor's public code from search_doctors (`code`). |
| date* | string | Giorno AAAA-MM-GG (fuso Europe/Rome), come in free_slots. / Day YYYY-MM-DD (Europe/Rome), as in free_slots. |
| time* | string | Orario di inizio HH:MM, uno di free_slots per quel giorno. / Start time HH:MM, one of that day's free_slots. |
| email* | string | Email del paziente: riceverà il link di conferma. / Patient's email: the confirmation link goes there. |
Cerca medici e professionisti sanitari italiani iscritti a Sanovia per specialità e/o città. Elenca solo chi ha la pagina di prenotazione online e un sito pubblicato: il proprio, oppure quello della struttura (poliambulatorio, centro) in cui riceve — in quel caso site_url è il sito della struttura. Non prenota: restituisce il link di prenotazione. / Search Italian doctors and health practitioners on Sanovia by specialty and/or city. Lists only practitioners with an online booking page and a published website: their own, or that of the structure (clinic) they practise in — then site_url is the structure's site. Does not book; returns the booking link.
| Argument | Type | Description |
|---|---|---|
| city | string | Città della sede, es. «Bologna». / City of the practice. |
| limit | integer | Massimo risultati (default 10, max 20). / Max results. |
| specialty | string | Specialità o professione, in italiano: la disciplina («Cardiologia», «Odontoiatria», «Medicina Generale», «Fisioterapia», «Osteopatia») oppure il professionista («cardiologo», «dentista», «medico di base», «fisioterapista», «osteopata»). / Specialty or profession, in Italian: the discipline (e.g. «Cardiologia») or the practitioner noun (e.g. «cardiologo»). |
{
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "Città della sede, es. «Bologna». / City of the practice."
},
"limit": {
"type": "integer",
"maximum": 20,
"minimum": 1,
"description": "Massimo risultati (default 10, max 20). / Max results."
},
"specialty": {
"type": "string",
"description": "Specialità o professione, in italiano: la disciplina («Cardiologia», «Odontoiatria», «Medicina Generale», «Fisioterapia», «Osteopatia») oppure il professionista («cardiologo», «dentista», «medico di base», «fisioterapista», «osteopata»). / Specialty or profession, in Italian: the discipline (e.g. «Cardiologia») or the practitioner noun (e.g. «cardiologo»)."
}
},
"additionalProperties": false
}| language |
| string |
| Lingua dell'email (default it). / Email language (default it). |
| last_name* | string | Cognome del paziente (solo lettere). / Patient's last name (letters only). |
| first_name* | string | Nome del paziente (solo lettere). / Patient's first name (letters only). |
| visit_type | string | Il nome esatto di un tipo di visita da get_visit_types (stessa sede). Obbligatorio se il medico ne pubblica. / The exact visit type name from get_visit_types (same location). Required when the doctor publishes any. |
| location_ref | integer | Opzionale: numero della sede (location_ref) da get_doctor_profile. Senza, la sede principale. / Optional location number (location_ref) from get_doctor_profile; defaults to the primary location. |
{
"type": "object",
"required": [
"code",
"date",
"time",
"first_name",
"last_name",
"email"
],
"properties": {
"code": {
"type": "string",
"description": "Codice pubblico del medico restituito da search_doctors (campo `code`). / The doctor's public code from search_doctors (`code`)."
},
"date": {
"type": "string",
"format": "date",
"description": "Giorno AAAA-MM-GG (fuso Europe/Rome), come in free_slots. / Day YYYY-MM-DD (Europe/Rome), as in free_slots."
},
"time": {
"type": "string",
"pattern": "^([01][0-9]|2[0-3]):[0-5][0-9]$",
"description": "Orario di inizio HH:MM, uno di free_slots per quel giorno. / Start time HH:MM, one of that day's free_slots."
},
"email": {
"type": "string",
"format": "email",
"description": "Email del paziente: riceverà il link di conferma. / Patient's email: the confirmation link goes there."
},
"language": {
"enum": [
"it",
"en"
],
"type": "string",
"description": "Lingua dell'email (default it). / Email language (default it)."
},
"last_name": {
"type": "string",
"maxLength": 60,
"description": "Cognome del paziente (solo lettere). / Patient's last name (letters only)."
},
"first_name": {
"type": "string",
"maxLength": 60,
"description": "Nome del paziente (solo lettere). / Patient's first name (letters only)."
},
"visit_type": {
"type": "string",
"description": "Il nome esatto di un tipo di visita da get_visit_types (stessa sede). Obbligatorio se il medico ne pubblica. / The exact visit type name from get_visit_types (same location). Required when the doctor publishes any."
},
"location_ref": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Opzionale: numero della sede (location_ref) da get_doctor_profile. Senza, la sede principale. / Optional location number (location_ref) from get_doctor_profile; defaults to the primary location."
}
},
"additionalProperties": false
}