Server definition
- Hash
- sha256:fed0098f56de6118452d69481fa01d356f894f27e9e4ef230f4bfe90135f2590
- What it is
- What a remote MCP server returned when asked what it offers: 4 tools
The blob, as servednamed by its sha256
{
"instructions": "Sanovia è un gestionale per studi medici italiani. Questi strumenti leggono solo dati che i professionisti hanno scelto di rendere pubblici: chi sono, dove ricevono, cosa offrono, quanto costa e quando sono liberi. Non prenotano: per prenotare, dai al paziente il booking_url, dove conferma lui stesso. Non chiedere mai dati sanitari del paziente per usare questi strumenti. / Sanovia is practice-management software for Italian doctors. These tools only read data practitioners chose to publish. They never book: give the patient the booking_url, where they confirm themselves. Never ask for the patient's health data to use them.",
"tools": [
{
"description": "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.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"code": {
"description": "Codice pubblico del medico restituito da search_doctors (campo `code`). / The doctor's public code from search_doctors (`code`).",
"type": "string"
},
"days": {
"description": "Numero di giorni (default 7, max 14). / Number of days.",
"maximum": 14,
"minimum": 1,
"type": "integer"
},
"from": {
"description": "Primo giorno AAAA-MM-GG (default oggi, fuso Europe/Rome). / First day YYYY-MM-DD (default today, Europe/Rome).",
"format": "date",
"type": "string"
},
"location_ref": {
"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.",
"maximum": 50,
"minimum": 1,
"type": "integer"
},
"visit_type": {
"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.",
"type": "string"
}
},
"required": [
"code"
],
"type": "object"
},
"name": "get_availability",
"outputSchema": {
"properties": {
"booking_url": {
"type": "string"
},
"days": {
"type": "number"
},
"free_slots": {
"items": {
"properties": {
"booking_urls": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"date": {
"type": "string"
},
"slots": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"date",
"slots",
"booking_urls"
],
"type": "object"
},
"type": "array"
},
"from": {
"type": "string"
},
"location": {
"properties": {
"city": {
"type": [
"string",
"null"
]
},
"location_ref": {
"type": "number"
},
"name": {
"type": "string"
}
},
"required": [
"location_ref",
"name",
"city"
],
"type": "object"
},
"other_locations": {
"items": {
"properties": {
"city": {
"type": [
"string",
"null"
]
},
"location_ref": {
"type": "number"
},
"name": {
"type": "string"
}
},
"required": [
"location_ref",
"name",
"city"
],
"type": "object"
},
"type": "array"
},
"visit_type": {
"properties": {
"duration_min": {
"type": [
"number",
"null"
]
},
"name": {
"type": "string"
}
},
"required": [
"name",
"duration_min"
],
"type": "object"
}
},
"required": [
"location",
"other_locations",
"from",
"days",
"free_slots",
"booking_url"
],
"type": "object"
}
},
{
"description": "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.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"code": {
"description": "Codice pubblico del medico restituito da search_doctors (campo `code`). / The doctor's public code from search_doctors (`code`).",
"type": "string"
}
},
"required": [
"code"
],
"type": "object"
},
"name": "get_doctor_profile",
"outputSchema": {
"properties": {
"booking_url": {
"type": [
"string",
"null"
]
},
"code": {
"type": [
"string",
"null"
]
},
"external_site_url": {
"type": [
"string",
"null"
]
},
"locations": {
"items": {
"properties": {
"address": {
"type": [
"string",
"null"
]
},
"city": {
"type": [
"string",
"null"
]
},
"location_ref": {
"type": "number"
},
"name": {
"type": "string"
},
"online_booking": {
"type": "boolean"
},
"phone": {
"type": [
"string",
"null"
]
}
},
"required": [
"name",
"online_booking"
],
"type": "object"
},
"type": "array"
},
"name": {
"type": "string"
},
"online_booking": {
"type": "boolean"
},
"opening_hours": {
"items": {
"properties": {
"day": {
"type": [
"string",
"null"
]
},
"from": {
"type": "string"
},
"location": {
"type": [
"string",
"null"
]
},
"to": {
"type": "string"
}
},
"required": [
"location",
"day",
"from",
"to"
],
"type": "object"
},
"type": "array"
},
"practice_name": {
"type": [
"string",
"null"
]
},
"profession_types": {
"items": {
"type": "string"
},
"type": "array"
},
"rating": {
"properties": {
"average": {
"type": "number"
},
"count": {
"type": "number"
}
},
"type": [
"object",
"null"
]
},
"registration": {
"properties": {
"number": {
"type": "string"
},
"province": {
"type": [
"string",
"null"
]
}
},
"type": [
"object",
"null"
]
},
"services": {
"items": {
"properties": {
"description": {
"type": [
"string",
"null"
]
},
"duration_min": {
"type": [
"number",
"null"
]
},
"name": {
"type": "string"
},
"price_eur": {
"type": [
"number",
"null"
]
},
"remote": {
"type": "boolean"
}
},
"required": [
"name",
"duration_min",
"price_eur",
"remote",
"description"
],
"type": "object"
},
"type": "array"
},
"site_url": {
"type": [
"string",
"null"
]
},
"specialty": {
"type": [
"string",
"null"
]
}
},
"required": [
"code",
"name",
"specialty",
"practice_name",
"profession_types",
"online_booking",
"booking_url",
"site_url",
"registration",
"locations",
"opening_hours",
"services",
"rating",
"external_site_url"
],
"type": "object"
}
},
{
"description": "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.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"code": {
"description": "Codice pubblico del medico restituito da search_doctors (campo `code`). / The doctor's public code from search_doctors (`code`).",
"type": "string"
},
"location_ref": {
"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.",
"maximum": 50,
"minimum": 1,
"type": "integer"
}
},
"required": [
"code"
],
"type": "object"
},
"name": "get_visit_types",
"outputSchema": {
"properties": {
"booking_url": {
"type": "string"
},
"location": {
"properties": {
"city": {
"type": [
"string",
"null"
]
},
"location_ref": {
"type": "number"
},
"name": {
"type": "string"
}
},
"required": [
"location_ref",
"name",
"city"
],
"type": "object"
},
"visit_types": {
"items": {
"properties": {
"description": {
"type": [
"string",
"null"
]
},
"duration_min": {
"type": [
"number",
"null"
]
},
"name": {
"type": "string"
},
"price_eur": {
"type": [
"number",
"null"
]
},
"requires_online_payment": {
"type": "boolean"
}
},
"required": [
"name",
"duration_min",
"price_eur",
"requires_online_payment",
"description"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"location",
"visit_types",
"booking_url"
],
"type": "object"
}
},
{
"description": "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.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"city": {
"description": "Città della sede, es. «Bologna». / City of the practice.",
"type": "string"
},
"limit": {
"description": "Massimo risultati (default 10, max 20). / Max results.",
"maximum": 20,
"minimum": 1,
"type": "integer"
},
"specialty": {
"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»).",
"type": "string"
}
},
"type": "object"
},
"name": "search_doctors",
"outputSchema": {
"properties": {
"doctors": {
"items": {
"properties": {
"booking_url": {
"type": [
"string",
"null"
]
},
"cities": {
"items": {
"type": "string"
},
"type": "array"
},
"code": {
"type": [
"string",
"null"
]
},
"name": {
"type": "string"
},
"online_booking": {
"type": "boolean"
},
"practice_name": {
"type": [
"string",
"null"
]
},
"profession_types": {
"items": {
"type": "string"
},
"type": "array"
},
"site_url": {
"type": [
"string",
"null"
]
},
"specialty": {
"type": [
"string",
"null"
]
}
},
"required": [
"code",
"name",
"specialty",
"practice_name",
"profession_types",
"online_booking",
"booking_url",
"site_url",
"cities"
],
"type": "object"
},
"type": "array"
},
"truncated": {
"type": "boolean"
}
},
"required": [
"doctors",
"truncated"
],
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:fed0098f56de6118452d69481fa01d356f894f27e9e4ef230f4bfe90135f2590 | sha256sum