Skip to main content
Glama

Sanovia — medici e professionisti sanitari in Italia

Server Details

Find Italian doctors and health practitioners: profile, services, prices, free booking slots.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 21 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.4/5.0

Scored across 4 tools

Disambiguation5/5

Each tool targets a distinct stage of the pre-booking journey: searching doctors, viewing a profile, listing visit types, and retrieving free availability. Descriptions explicitly clarify boundaries, especially that none of the tools perform booking itself.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun pattern: get_availability, get_doctor_profile, get_visit_types, and search_doctors. The get_* family shares a predictable structure, with search_doctors as a natural variation.

Tool Count5/5

Four tools is well-scoped for a read-only booking-referral server. Each tool earns its place by covering a separate step: discovery, detailed profile, service options, and availability.

Completeness4/5

The set covers the core pre-booking lifecycle: search by specialty/city, inspect profile, view visit types, check availability, and hand off to a booking link. Minor gaps exist, such as no name-based doctor lookup or specialty enumeration, but agents can generally work around these using the provided search parameters.

Available Tools

4 tools
get_availabilityOrari liberi / Free time slotsA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesCodice pubblico del medico restituito da search_doctors (campo `code`). / The doctor's public code from search_doctors (`code`).
daysNoNumero di giorni (default 7, max 14). / Number of days.
fromNoPrimo giorno AAAA-MM-GG (default oggi, fuso Europe/Rome). / First day YYYY-MM-DD (default today, Europe/Rome).
visit_typeNoOpzionale 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_refNoOpzionale: 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.

Output Schema

ParametersJSON Schema
NameRequiredDescription
daysYes
fromYes
locationYes
free_slotsYes
visit_typeNo
booking_urlYes
other_locationsYes

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations cover the safety profile (readOnly/idempotent/non-destructive), and the description adds real substance beyond them: a 14-day ceiling, that only free times are returned and never the booker's identity, and that each day's output carries booking_urls with preselected context. It stops short of pagination or empty-result behavior, so not a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads what the tool returns, then the no-booking constraint, then the parameter hint. The bilingual duplication inflates length, but no sentence is padding — the structure is clean and scannable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and annotations covering safety, the description supplies exactly the missing pieces: return-shape landmarks (booking_urls/booking_url) and the intended downstream workflow. An agent needs nothing further to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, but the description adds meaning the schema can't: visit_type must be the exact name from get_visit_types for the same location, and it filters by duration-fits semantics rather than simple equality. That is genuine added value over the field descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a concrete verb+resource (free start times for online booking) with scope (day by day, max 14 days) and explicitly disambiguates itself from booking behavior. An agent can distinguish it from search_doctors/get_visit_types/get_doctor_profile without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a clear when-not ('Non prenota') plus the alternative workflow: hand the patient the booking_urls link for the chosen slot, falling back to booking_url. It also says when to pass visit_type (to restrict to times a visit of that duration fits). Nothing is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_doctor_profileProfilo del professionista / Practitioner profileA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesCodice pubblico del medico restituito da search_doctors (campo `code`). / The doctor's public code from search_doctors (`code`).

Output Schema

ParametersJSON Schema
NameRequiredDescription
codeYes
nameYes
ratingYes
servicesYes
site_urlYes
locationsYes
specialtyYes
booking_urlYes
registrationYes
opening_hoursYes
practice_nameYes
online_bookingYes
profession_typesYes
external_site_urlYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover readOnly/idempotent/non-destructive behavior, so the bar is lower. The description adds valuable context beyond annotations: `null = price not stated or not shown online` clarifies data semantics, and 'Does not book' clarifies the operational boundary. This helps an agent interpret results correctly without contradicting the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with 'Public profile' and uses a compact, dense comma-separated list of fields. The bilingual repetition doubles length without adding information for an English-only agent, but it is still focused and every substantive detail serves a purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter read-only tool with an output schema, the description is complete: it enumerates all major fields, explains null pricing semantics, and clarifies that booking is not performed. Sibling tools and the code source are known from context/schema, so nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the sole `code` parameter is already well documented in the schema as the doctor's public code from search_doctors. The description adds no parameter-level detail, but given the high schema coverage, the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb/resource ('Public profile of a professional') and enumerates the exact content: specialty, registration, locations, hours, services with duration/price, rating, and links. The closing 'Does not book' disambiguates it from booking-related actions, and the field list clearly separates it from sibling tools like get_availability or get_visit_types.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description makes clear this tool is for retrieving a public practitioner profile and explicitly states what it does not do ('Does not book'). The schema adds that the `code` comes from search_doctors, which implies a workflow. However, the description itself does not explicitly name alternative tools or say when to prefer them.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_visit_typesTipi di visita e prezzi / Visit types and pricesA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesCodice pubblico del medico restituito da search_doctors (campo `code`). / The doctor's public code from search_doctors (`code`).
location_refNoOpzionale: 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.

Output Schema

ParametersJSON Schema
NameRequiredDescription
locationYes
booking_urlYes
visit_typesYes

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering safety. The description adds valuable behavioral context beyond annotations: null price means 'not stated or not shown online, NOT free', and the tool does not perform booking. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences in bilingual form deliver the core purpose, return attributes, null semantics, and non-booking behavior with no wasted content. Key information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists, annotations cover read-only/idempotent behavior, and the schema documents all parameters, the description fills remaining gaps (null price meaning, no booking side effect). Nothing an agent needs to invoke this correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%: both parameters (code and location_ref) are fully described in the input schema, including defaults and relationships to search_doctors/get_doctor_profile. The description does not need to add parameter detail, so a baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the resource: visit types bookable online, with duration, price in EUR, and online-payment flag. The explicit 'Does not book' distinguishes it from booking-related actions and makes the tool's scope unambiguous to an agent.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool (when you need visit types and prices for a doctor) and states a notable exclusion ('Does not book'). However, it does not explicitly name sibling tools or describe conditions for choosing this over get_availability or search_doctors.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_doctorsCerca professionisti / Search practitionersA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNoCittà della sede, es. «Bologna». / City of the practice.
limitNoMassimo risultati (default 10, max 20). / Max results.
specialtyNoSpecialità 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»).

Output Schema

ParametersJSON Schema
NameRequiredDescription
doctorsYes
truncatedYes

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so safety is covered. The description still adds real value beyond that: entries are constrained to practitioners with a live booking page and published site, site_url may actually point to the clinic rather than the practitioner, and the tool returns a booking link rather than booking. This is meaningful behavioral context, though rate limits/caching are unmentioned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The scoping and non-booking constraint are front-loaded and each sentence earns its place. The cost is full bilingual duplication, which is redundant for a single-language agent consumer, so it is efficient but not maximally tight.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and annotations covering the safety profile, the description does not need to explain return values, and it already clarifies the notable site_url semantics and the listing constraint. It is essentially complete for calling the tool correctly; only the absence of sibling routing leaves a small gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and all three parameters (city, specialty, limit) are documented inline with examples and constraints. The description only restates the specialty-and-city filtering, adding no syntax or behavior beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb (search/list) and resource (Italian doctors and health practitioners on Sanovia) and bounds the scope to specialty and/or city. It also disambiguates against siblings like get_availability and get_doctor_profile by stating it does not book and only returns a booking link, and it specifies the inclusion filter (only practitioners with a booking page and published website).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear when-to-use context: find practitioners filtered by specialty and/or city, and explicitly notes it does not perform bookings. However, it never names the sibling alternatives (get_doctor_profile, get_availability) or states when a caller should prefer them, so the routing guidance stops short of explicit exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updates
    • Changedget_availability4 fields changed
      • addedInput schema / properties / visit_type
        Added value: +{
        +  "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"
        +}
      • addedOutput schema / properties / free_slots / items / properties / booking_urls
        Added value: +{
        +  "additionalProperties": {
        +    "type": "string"
        +  },
        +  "type": "object"
        +}
      • changedOutput schema / properties / free_slots / items / required
        Previous value: -[
        -  "date",
        -  "slots"
        -]New value: +[
        +  "date",
        +  "slots",
        +  "booking_urls"
        +]
      • addedOutput schema / properties / visit_type
        Added value: +{
        +  "properties": {
        +    "duration_min": {
        +      "type": [
        +        "number",
        +        "null"
        +      ]
        +    },
        +    "name": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "name",
        +    "duration_min"
        +  ],
        +  "type": "object"
        +}
    • Changedsearch_doctors1 field changed
      • changedInput schema / properties / specialty / description
        Previous value: -"Specialità o professione, es. «cardiologo», «fisioterapista». / Specialty or profession."New value: +"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»)."
  2. 4 tool updates
    • Changedget_availability1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "booking_url": {
        +      "type": "string"
        +    },
        +    "days": {
        +      "type": "number"
        +    },
        +    "free_slots": {
        +      "items": {
        +        "properties": {
        +          "date": {
        +            "type": "string"
        +          },
        +          "slots": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          }
        +        },
        +        "required": [
        +          "date",
        +          "slots"
        +        ],
        +        "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"
        +    }
        +  },
        +  "required": [
        +    "location",
        +    "other_locations",
        +    "from",
        +    "days",
        +    "free_slots",
        +    "booking_url"
        +  ],
        +  "type": "object"
        +}
    • Changedget_doctor_profile1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "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"
        +}
    • Changedget_visit_types1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "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"
        +}
    • Changedsearch_doctors1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "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"
        +}
  3. 4 tool updates
    • First observedget_availability
    • First observedget_doctor_profile
    • First observedget_visit_types
    • First observedsearch_doctors

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables finding doctors in Romania by county, speciality, language, name, and weekly availability, with fuzzy name matching and nearby-county fallback.
    58 npm
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    Enables querying Doctolib's public data to find practitioners, retrieve all available appointment slots in a geographic area, access practice details, and receive alerts when new slots open.
    21
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enables AI agents to search Iranian doctors, hospitals and clinics by specialty, city, name, gender and online visit, then read profiles, ratings, insurances, patient reviews, visit prices in Toman and free appointment times. Read-only, with no login, booking or payment, so users compare options and get a profile link to book themselves.
    12
    3
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enables AI agents to search Iranian doctors by speciality, city, neighborhood, insurance and visit type, compare office and online consultation fees, check free appointment times up to a month ahead, and read reviews. Also covers hospitals, clinics, labs, pharmacies, fixed-price clinic offers and health articles, all read-only so booking happens on the site via a returned link.
    14
    2
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources