Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Authorization not required, issuer https://api.authrice.com
Authorization not required, issuer https://api.authrice.com
Authorization not required, issuer https://api.authrice.com
Changed the definition of "open_dododentist"
OpenUseDodoDentistthisDentalwhenClinicsomeone wants to open DodoDentist and browseownedtheir clinics, aggregate schedule counts, booking availability and procedurecatalogpricesprices.inRead-onlyanclinicinteractiveadministration.sidebar.ExcludesReturns up to 100 clinics to start from (no
Added "open_dododentist" (8 tools before, 9 now)
DodoDentist Dental Clinic — Open DodoDentist Dental Clinic to browse owned clinics, aggregate schedule counts, booking availability and procedure catalog prices. Read-only clinic administration. Excludes patient records, individual appointments, contact details, diagnoses and clinical data; cannot book, edit or make medical decisions.
Authorization not required, issuer https://api.authrice.com
Certificate recorded, valid to 2027-03-24
Authorization not required, issuer https://api.authrice.com
Changed the definition of "get_clinic", "get_clinic_availability", "get_clinic_schedule_summary" and 5 more
Getclinicdental practice details
FetchUsesafethismetadatawhenforsomeone asks about onetenant-owneddentalDodoDentistpractice's
Unknown → Live
First tool surface recorded: 8 tools (server version 0.1.1)
https://mcp.dododentist.com/mcp (mcp_streamable_http) — from mcp_registry, with the record
Showing the latest 12 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
⟨5 unchanged words⟩ ,"properties":{"clinicId":{"description":"ClinicPractice id:(24-character24hex)lowercase hexadecimal characters","pattern":"^[0-9a-f]{24}$" ⟨6 unchanged words⟩
⟨80 unchanged words⟩ :"object"},{"type":"null"}],"description":"Administrative practice metadata only; opening hours, staff, patient and appointment data are not included. Null when not found."},"status":{"enum":["found", ⟨8 unchanged words⟩
⟨5 unchanged words⟩ :false,"readOnlyHint":true,"title":"Getclinicdental practice details"}
GetFindclinicfreeavailabilityappointment times
ListUsebookablethis when someone asks when their dental practice has free appointmentslotstimesfororonethetenant-ownednextDodoDentistavailableclinic.slot.OnlyReturnsday,eachslotopen online-booking slot's start,andslotend,aregroupedreturnedby—day,neverfor the next days with openings: up to 7 days and 100 slots (no patient,provider,or dentist details). Not for booking orclinicalholdingdata.a slot.
⟨5 unchanged words⟩ ,"properties":{"clinicId":{"description":"ClinicPractice id:(24-character24hex)lowercase hexadecimal characters","pattern":"^[0-9a-f]{24}$" ⟨6 unchanged words⟩
⟨3 unchanged words⟩ additionalProperties":false,"properties":{"days":{"description":"One row per day with open online-booking slots, in date order, holding at most 100 slots in total. Slot times only; patients, dentists, treatments and clinical data are never included.","items":{"additionalProperties":false,"properties":{" ⟨48 unchanged words⟩
⟨4 unchanged words⟩ openWorldHint":false,"readOnlyHint":true,"title":"GetFindclinicfreeavailabilityappointment times"}
GetCountclinicappointmentsschedulepersummaryday
CountUsescheduledthisrecordswhenbysomeoneUTCasksdayhowforbusyonetheirtenant-owneddentalDodoDentistpracticeclinicisoverorahowrangemanyofappointmentsataremostbooked31eachdays.day. Returnsaggregate administrativeappointment countsonly—neverperappointmentUTCidentifiersdayorfortimesone practice,patientwhateverinformation,theirproceduresstatus,diagnoses,fornotes,the next 7 days by default and at most 31 days; counting stops at 100. Not for counting cancellations orotherseeingclinicalwhodata.is booked.
⟨5 unchanged words⟩ ,"properties":{"clinicId":{"description":"ClinicPractice id:(24-character24hex)lowercase hexadecimal characters","pattern":"^[0-9a-f]{24}$" ⟨3 unchanged words⟩ ":{"$ref":"#/properties/startTime","description":"RangeEndendof the range as an ISO 8601value;date-time, after startTime and at most 31 days later; defaults toseven7 dayslaterafter the start"},"startTime":{"description":"RangeStartstartof the range as an ISO 8601value;
⟨11 unchanged words⟩ ,"type":"integer"},"appointmentCountIsLowerBound":{"description":"True when more than 100 appointments fall in the range","type":"boolean"},"days":{"description":"One row per UTC day that has appointments, canceled ones included, counting only appointments the signed-in account can view. Aggregate counts only: appointment identifiers and times, patient information, procedures, diagnoses and notes are never returned.","items":{"additionalProperties":false,"properties":{ ⟨51 unchanged words⟩
⟨4 unchanged words⟩ openWorldHint":false,"readOnlyHint":true,"title":"GetCountclinicappointmentsschedulepersummaryday"}
Listcalendarclosures,eventsholidays and blocked chair time
ListUsetenant-scopedthisnon-appointmentwhencalendarsomeoneblocksasks(when their dental practice is closed, or when a dentist or chair is blocked for holidays, courses, meetings,daysoroff,maintenance.closures)Returnswitheachboundedblockpagination.orEventextraidentifiers,openingstaffwithreferencesstart,titlesend, all-day flag, scope and type (no titles or notes).areNotneverforreturned.patient appointments.
⟨5 unchanged words⟩ ,"properties":{"clinicId":{"description":"FilterOnlybythisclinicpracticeid(24 lowercase hexadecimal characters); every practice when absent","pattern":"^[0-9a-f]{24}$","type":"string"},"cursor":{"description":"OpaqueThecursornextCursorfromofathepriorpreviousresultpage with the same filters; absent for the first page","maxLength":4096,"type":"string"},"endTime":{"$ref":"#/properties/startTime","description":"Onlyeventsblocks ending before this ISO 8601timedate-time"},"limit":{"description":"Blocks per page, from 1 to 100; defaults to 20","
⟨3 unchanged words⟩ additionalProperties":false,"properties":{"calendarEvents":{"description":"Non-appointment calendar blocks, earliest first. Event identifiers, staff and chair references, titles, notes and patient links are never returned.","items":{"additionalProperties":false,"properties":{" ⟨9 unchanged words⟩ :"string"},{"type":"null"}],"description":"BLOCK removes bookable time; OPEN adds hours on a normally closed time"},"endTime":{"anyOf":[{"$ref" ⟨10 unchanged words⟩ :"string"},{"type":"null"}],"description":"CLINIC: the whole practice; PROVIDER: one or more staff; SEAT: one chair"},"startTime":{"anyOf":[{"maxLength" ⟨37 unchanged words⟩ :"string"},{"type":"null"}],"description":"Cursor for the next page; null on the last page"}},"required":["calendarEvents","nextCursor"] ⟨2 unchanged words⟩
⟨5 unchanged words⟩ :false,"readOnlyHint":true,"title":"Listcalendarclosures,eventsholidays and blocked chair time"}
Listclinicdentistsprovidersand staff who take bookings
ListUsedisplaythisnameswhenforsomeonetheasksbookablewhichprovidersdentists,ofdentalonenursestenant-ownedorDodoDentistassistantsclinic.patientsContactcan book at their practice. Returns up to 100 staff display names for one practice (no contact details,roleorrecords,roles).identifiers,Notandforclinicalstaffdataholidaysareorneverdaysreturned.off.
⟨5 unchanged words⟩ ,"properties":{"clinicId":{"description":"ClinicPractice id:(24-character24hex)lowercase hexadecimal characters","pattern":"^[0-9a-f]{24}$" ⟨6 unchanged words⟩
⟨3 unchanged words⟩ additionalProperties":false,"properties":{"providers":{"description":"Display names of staff with a dentist (doctor), nurse or assistant role. Staff identifiers, contact details, role records and clinical data are never returned.","items":{"additionalProperties":false,"properties":{" ⟨17 unchanged words⟩
⟨5 unchanged words⟩ :false,"readOnlyHint":true,"title":"Listclinicdentistsprovidersand staff who take bookings"}
Listclinicsyour dental practices
ListUsethethisauthenticatedwhenuser'ssomeone asks which dental practices they run in DodoDentist,clinicsorwithaboundedpractice's id is needed. Returns each practice's id,cursor-basedname,pagination.currency,Onlydefaultnon-clinicallanguageclinicandmetadatatimezone,is20returned.per page by default. Not for looking up a patient or appointment.
⟨5 unchanged words⟩ ,"properties":{"cursor":{"description":"OpaqueThecursornextCursorfromofathepriorpreviousresultpage of this listing; absent for the first page","maxLength":4096,"type":"string"},"limit":{"description":"Practices per page, from 1 to 100; defaults to 20","exclusiveMinimum":0,"maximum":100,"type": ⟨3 unchanged words⟩
⟨3 unchanged words⟩ additionalProperties":false,"properties":{"clinics":{"description":"Dental practices in the signed-in organization, administrative metadata only. Patient, appointment and clinical records are never returned.","items":{"additionalProperties":false,"properties":{" ⟨79 unchanged words⟩ :"string"},{"type":"null"}],"description":"Cursor for the next page; null on the last page"}},"required":["clinics","nextCursor"] ⟨2 unchanged words⟩
⟨5 unchanged words⟩ :false,"readOnlyHint":true,"title":"Listclinicsyour dental practices"}
ListLookprocedureupcatalogtreatment prices
ListUsethethisauthenticatedwhenuser'ssomeoneDodoDentistasksprocedurewhatcatalogtheirwithdentalboundedpracticepagination.chargesOnlyforcataloganamestreatment,pricessuch as a cleaning,andfilling,editcrowntimesorarewhitening.returned;Returnspatientcatalog treatmentdatanames with price andrecordlastidentifierseditaretime,excluded.alphabetically, 50 per page by default. Not for a patient's treatment history or tooth chart.
⟨5 unchanged words⟩ ,"properties":{"clinicId":{"description":"FilterOnlybythisclinicpracticeid(24 lowercase hexadecimal characters); every practice when absent","pattern":"^[0-9a-f]{24}$","type":"string"},"cursor":{"description":"OpaqueThecursornextCursorfromofathepriorpreviousresultpage with the same filters; absent for the first page","maxLength":4096,"type":"string"},"limit":{"description":"Treatments per page, from 1 to 100; defaults to 50","exclusiveMinimum":0,"maximum":100,"type": ⟨3 unchanged words⟩
⟨11 unchanged words⟩ :"string"},{"type":"null"}],"description":"Cursor for the next page; null on the last page"},"procedures":{"description":"Treatment catalog entries in name order. Patient-linked treatments, tooth charts, diagnoses and record identifiers are never returned.","items":{"additionalProperties":false,"properties":{" ⟨20 unchanged words⟩ :"number"},{"type":"null"}],"description":"Price in the practice's currency"}},"required":["name","price", ⟨12 unchanged words⟩
⟨4 unchanged words⟩ openWorldHint":false,"readOnlyHint":true,"title":"ListLookprocedureupcatalogtreatment prices"}
ShowDodoDentistdentalclinicpractice overview
RenderUseathisboundedwhenadministrativesomeone wants a quick overviewfororadashboardknownofDodoDentistoneclinic.dentalItpractice.combinesReturnssafeanclinicoverviewmetadata,cardaggregatewithseven-daytheschedulepractice'scountsdetails,providerappointmentandcountsavailabilityforcountsthe next 7 days,andhowprocedure-catalogmanypreviews.staffIttakeneverbookings,returnsopenindividualonline-bookingappointmentslotsrecords,andpatientupinformation,todiagnoses,12 treatmentdetails,pricesnotes,(noorpatientotheror clinicaldata.data). Not for a single patient or appointment.
⟨3 unchanged words⟩ ,"properties":{"clinicId":{"description":"DodoDentist clinicPractice id:to24renderlowercase hexadecimal characters","pattern":"^[0-9a-f]{24}$" ⟨6 unchanged words⟩
⟨127 unchanged words⟩ :"object"},{"type":"null"}],"description":"Administrative practice metadata; null when the practice was not found. The overview never includes individual appointment records, patient information, diagnoses, treatment details, notes or other clinical data."},"procedureCount":{"maximum":12,"minimum" ⟨121 unchanged words⟩
⟨5 unchanged words⟩ :false,"readOnlyHint":true,"title":"ShowDodoDentistdentalclinicpractice overview"}