Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
DOCTOLIB_MCP_DATANoDossier des surveillances (watches.json) et de la configuration des alertes (config.json)~/.doctolib-mcp
DOCTOLIB_MCP_USER_AGENTNoUser-Agent envoyé (obligatoire pour les créneaux)Chrome récent
DOCTOLIB_MCP_MIN_INTERVALNoDélai minimal entre deux requêtes vers Doctolib (secondes)0.35

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_specialitiesA

Liste des 123 spécialités Doctolib (slug à utiliser dans les autres outils, nom, id). query filtre sans tenir compte des accents (ex. 'derma', 'kiné', 'ophtal').

autocompleteA

Autocomplétion Doctolib : spécialités / actes (searchEntries) et praticiens ou centres par nom (profiles). Astuce : le moteur préfère les préfixes courts ('derma' plutôt que 'dermatologue').

search_filtersB

Filtres de recherche proposés par Doctolib pour une spécialité (délais, secteurs, langues, vidéo).

search_cityB

Communes françaises par nom ou code postal, avec coordonnées (geo.api.gouv.fr).

geocode_addressB

Adresse précise → coordonnées (api-adresse.data.gouv.fr), pour centrer une recherche sur un domicile.

place_autocompleteA

Autocomplétion de lieux côté Doctolib (villes, codes postaux, adresses). Ne renvoie pas de coordonnées.

search_practitionersA

Praticiens d'une spécialité autour d'un lieu (ville/code postal/adresse ou lat+lng), triés par distance.

Chaque résultat donne : distance, adresse, motif principal (id, nom, nouveaux patients acceptés ?), agendas, secteur de conventionnement, moyens de paiement, langues, profile_id (→ practitioner_practical_info), slug (→ practitioner_booking_info) et booking_url.

  • available_within_days : seulement ceux avec un créneau sous N jours (filtre Doctolib, incomplet).

  • languages : codes Doctolib (gb, es, de, it, ar, pt, ru, cn…).

  • Les bornes de téléconsultation en pharmacie sont exclues par défaut.

  • online_booking_only=False inclut les fiches annuaire (pas de RDV en ligne, souvent téléphone uniquement).

find_slotsB

TOUS les créneaux libres d'une spécialité autour d'un lieu, sur N jours, en un appel.

Renvoie la liste chronologique des créneaux (heure, praticien, distance, motif, remplaçant, lien de réservation) et l'état de chaque praticien (nb de créneaux, premier créneau, prochain créneau hors période, agenda fermé…). Peut prendre 10 à 60 s selon le nombre de praticiens (≈ 3 requêtes/s vers Doctolib).

practitioner_booking_infoB

Données du tunnel de réservation d'un praticien : lieux (adresse, GPS, téléphone), agendas (fermés ?), tous les motifs (vidéo, réservés aux patients déjà suivis sur tel agenda, restrictions d'âge, où ils sont réservables).

practitioner_practical_infoA

Infos pratiques : horaires d'ouverture, accepte les nouveaux patients, téléconsultation, secteur, carte Vitale, moyens de paiement, langues, adresses. profile_id vient de search_practitioners ; sinon fournir url_or_slug (résolu via le tunnel de réservation).

practitioner_messagingB

Catégories de demandes par messagerie Doctolib (renouvellement, résultats…) si le praticien l'a activée.

get_availabilitiesA

Créneaux d'un praticien pour un motif, sur N jours (Doctolib limite à 15 j par appel : l'outil enchaîne).

Deux usages :

  • url_or_slug (+ motive_id / practice_id optionnels) : agendas résolus automatiquement ; sans motive_id, TOUS les motifs réservables sont interrogés.

  • motive_id + agenda_ids (+ practice_id) : appel direct (ids issus de search_practitioners). Renvoie slots, substitutes (créneaux assurés par un remplaçant), next_slot si rien dans la période, reason (agenda fermé / pas encore ouvert) et booking_url.

search_availabilitiesC

Variante « vue liste » de Doctolib (7 jours max) avec filtre de régime d'assurance. Réponse brute.

booking_linkB

Lien vers le tunnel de réservation Doctolib avec lieu et motif pré-sélectionnés (le créneau ne peut pas l'être).

sitemapB

Sitemaps publics Doctolib : 'sitemap' (index), 'sitemap_specialities/1', 'sitemap_skills/1' (1604 actes), 'sitemap_practitioner_doctors/1'… (≈ 295 000 fiches au total). Renvoie les URL.

watch_practitionerB

Surveille un praticien : notification dès qu'un nouveau créneau s'ouvre (via doctolib-mcp-watch, à planifier). Sans motive_id : motif de l'URL, sinon le premier motif réservable. before = AAAA-MM-JJ ignore les créneaux plus tardifs.

watch_areaC

Surveille TOUTE une zone : notification dès qu'un nouveau créneau apparaît chez n'importe quel praticien de la spécialité dans le rayon (via doctolib-mcp-watch, à planifier).

list_watchesB

Surveillances et leur état (dernière vérification, nb de créneaux, dernière alerte, erreur).

stop_watchA

Met en pause (ou supprime avec delete=True) une surveillance.

run_watches_nowA

Lance immédiatement une passe de surveillance (notifie les nouveaux créneaux).

configure_notificationsC

Canaux d'alerte : notification macOS, push téléphone via ntfy.sh (app gratuite, s'abonner au topic), webhook JSON (POST {title, message, url}) vers n8n, Slack, Discord… Envoie une notification de test.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
specialitiesLes 123 spécialités Doctolib (slug, nom, id)

TDQS

B3.1/5.0

Scored across 21 tools

Disambiguation3/5

Most tools are distinguishable, but availability retrieval is split across search_practitioners, find_slots, get_availabilities, and search_availabilities, which an agent could easily confuse. Location resolution also overlaps across autocomplete, place_autocomplete, search_city, and geocode_address, though the descriptions provide useful distinctions.

Naming Consistency4/5

Tool names are consistently snake_case and mostly readable. However, the set mixes verb-led names (list_specialities, search_practitioners, get_availabilities) with noun-led names (practitioner_booking_info, sitemap), so it is not a perfect verb_noun pattern throughout.

Tool Count3/5

With 21 tools, the surface is on the heavy side for a Doctolib search and booking assistant. Many functions are justified, but some availability and location tools could potentially be consolidated or nested.

Completeness4/5

The server covers specialty lookup, location resolution, practitioner search, practical details, availability retrieval, booking links, watches, and notifications. The main gap is that it does not actually create, modify, or cancel appointments, but this may be intentional because booking is handled through the external Doctolib tunnel.

Maintenance

ActivityMaintained
ResponsivenessNo issues