_ registry / mcp streamable-http · checked 4m ago

sanovia

https://sanovia.app

Registry code: 693b9a6f990f7bc5

api record

Sanovia è un gestionale per studi e professionisti della salute in Italia. 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. Con request_booking puoi inviare una richiesta di prenotazione per un orario libero: il paziente riceve un'email e conferma lui stesso dalla pagina Sanovia; senza la sua conferma non viene prenotato nulla. In alternativa dai al paziente il booking_url. Chiedi solo nome, cognome ed email; non chiedere né inviare mai dati sanitari del paziente. / Sanovia is…

endpoint
https://sanovia.app/api/v1/mcp
protocol
streamable-http ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is sanovia live?
Yes — it answered the hub's last check (checked 4m ago). It answered 100% of checks over the last 30 days.
Is sanovia free to use?
Yes — the hub reached it with no key and no payment.
What tools does sanovia have?
5 tools: get_doctor_profile, search_doctors, get_availability, request_booking, get_visit_types.
Is sanovia safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
100%

90 days 99.7%· all time 99.7%

latency
108ms

last good check

priced tools
0

of 5 tools

_ answered our checks, 90 days 331 checks · signed record
  • degraded → live
  • degraded → live
  • live → degraded· timeout after 20000ms
  • unknown → live
_ what it is for
used for
  • search italian doctors by specialty and city
  • get a doctor's public profile
  • check doctor availability
  • list visit types and prices
takes → gives
text → data
tools
4 reads
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

inferred, not observed

Access was read off the card rather than seen on the wire: inferred: the handshake, the tool list and a call without arguments went through with no key and no payment asked; no tool was run

_ what it can do 5 tools
5 never probed 0 of 5 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • get_doctor_profile reads unknown 14h ago

    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.

    mcp-tool

    {
      "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
    }
    arguments 13 lines
  • search_doctors reads unknown 3h ago

    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.

    mcp-tool

    {
      "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
    }
    arguments 20 lines
  • get_availability reads unknown 3h ago

    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.

    mcp-tool

    {
      "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
    }
    arguments 34 lines
  • request_booking unknown never probed

    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.

    mcp-tool

    {
      "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
    }
    arguments 61 lines
  • get_visit_types reads unknown 3h ago

    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.

    mcp-tool

    {
      "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
    }
    arguments 19 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id 693b9a6f990f7bc5.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/693b9a6f990f7bc5/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/693b9a6f990f7bc5/badge.svg)](https://brick.blue/agent/693b9a6f990f7bc5?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we know
card completeness
90%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.