Anteos Health — Medical Appointment Booking
Server Details
Book medical appointments with French doctors by specialty and city via AI agents.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- Anteos-Health/anteos-mcp
- GitHub Stars
- 0
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.1/5 across 10 of 10 tools scored.
Each tool has a clearly distinct purpose: booking, cancellation, rescheduling, searching for available slots (differentiated by scope), retrieving appointment details, listing appointments, resending tokens, and searching doctors. No ambiguity between tools.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., book_appointment, find_next_available). This makes the API predictable and easy to use.
With 10 tools, the server is well-scoped for a medical appointment booking system. Each tool serves a necessary function without redundancy or excessive granularity.
The tool set covers the full appointment lifecycle: searching doctors and profiles, checking availability, booking, canceling, rescheduling, retrieving appointment details, listing appointments, and resending tokens. No obvious gaps for the intended domain.
Available Tools
10 toolsbook_appointmentAInspect
Prend un rendez-vous pour un patient chez un médecin Anteos. Le rendez-vous est immédiatement confirmé dans l'agenda du médecin.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Date du rendez-vous au format YYYY-MM-DD (ex: "2026-04-20") | |
| time | Yes | Heure du rendez-vous au format HH:MM (ex: "14:30") | |
| motif | No | Motif de la consultation en texte libre (optionnel, ex: "Suivi traitement", "Renouvellement ordonnance") | |
| motif_id | No | Identifiant du motif de consultation (optionnel, obtenu via get_doctor_profile). Détermine la durée du RDV et est enregistré dans l'agenda du médecin. | |
| doctor_id | Yes | Identifiant du médecin (obtenu via search_doctors) | |
| patient_dob | Yes | Date de naissance du patient au format YYYY-MM-DD. Obligatoire. | |
| patient_sex | Yes | Sexe du patient : M (Masculin), F (Féminin) ou autre. Obligatoire. | |
| patient_email | Yes | Email du patient — OBLIGATOIRE. Utilisé pour l'envoi de la confirmation et des rappels de rendez-vous. | |
| patient_phone | No | Téléphone du patient (optionnel — format: 0612345678 ou +33612345678) | |
| patient_lastname | Yes | Nom de famille du patient (en majuscules de préférence) | |
| patient_firstname | Yes | Prénom du patient | |
| send_confirmation_email | No | Envoyer un email de confirmation au patient avec des liens de gestion du RDV. Défaut: true. Passer false si votre plateforme envoie sa propre confirmation. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate a mutation (readOnlyHint false, idempotentHint false). The description adds that the appointment is 'immediately confirmed,' which is useful but does not disclose potential conflicts or error handling beyond that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the main action, and contains no redundant information. Every word is necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 12 parameters and no output schema, the description covers the core behavior but does not address typical flow, required fields summary, or what the agent should expect after calling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The description adds no extra parameter-level meaning beyond what's in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action: booking an appointment for a patient with an Anteos doctor. It clearly distinguishes from sibling tools like cancel_appointment or reschedule_appointment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives. While it implies booking, it lacks context like prerequisites (e.g., needing doctor_id from search_doctors) or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cancel_appointmentADestructiveIdempotentInspect
Annule un rendez-vous existant. L'annulation est définitive. Requiert le appointment_token reçu lors de la réservation (book_appointment).
| Name | Required | Description | Default |
|---|---|---|---|
| appointment_id | Yes | Identifiant unique du rendez-vous à annuler | |
| appointment_token | Yes | Token de sécurité reçu dans la réponse de book_appointment. Révoqué définitivement après annulation. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already signal destructive and idempotent behavior. The description adds that cancellation is definitive and that the token is revoked afterwards, providing behavioral context beyond annotations. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no wasted words. The first sentence immediately conveys the action and irreversibility. Every sentence earns its place, making it easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (two parameters, no output schema, clear annotations), the description is fully adequate. It covers the essential behavior, prerequisite, and consequence. No additional information is needed for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already has 100% coverage with detailed descriptions for both parameters. The description adds value by specifying that the appointment_token originates from book_appointment, linking the parameters to their source. This aids understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (cancel) and the resource (existing appointment). It emphasizes that cancellation is definitive, distinguishing it from other operations like rescheduling. The verb 'Annule' is specific and directly matches the tool's purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit context by stating the prerequisite: the appointment_token must have been received from book_appointment. This guides the agent on when to use this tool. However, it does not explicitly mention when not to use it or list alternatives, but the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_next_availableARead-onlyIdempotentInspect
Cherche les prochains créneaux disponibles sur une période, pour un ou plusieurs médecins filtrés par spécialité et/ou ville. À préférer à get_available_slots quand l'utilisateur demande "quand est-ce que X est libre" ou "y a-t-il un RDV disponible cette semaine". Retourne au maximum max_slots créneaux par médecin pour ne pas surcharger le contexte.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | Ville (ex: "Paris"). Ignoré si doctor_id est fourni. | |
| days | No | Nombre de jours à couvrir depuis from_date (défaut: 7, max: 30) | |
| motif_id | No | Identifiant du motif de consultation (optionnel, obtenu via get_doctor_profile). Adapte la grille de créneaux à la durée du motif. | |
| doctor_id | No | Chercher uniquement pour ce médecin (obtenu via search_doctors). Court-circuite specialty et city. | |
| from_date | Yes | Date de début de la recherche au format YYYY-MM-DD | |
| max_slots | No | Nombre maximum de créneaux retournés par médecin (défaut: 5, max: 20) | |
| specialty | No | Spécialité médicale (ex: "neurologue", "cardiologue"). Ignoré si doctor_id est fourni. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint true, idempotentHint true, destructiveHint false. The description adds context about returning slots per doctor and limiting to max_slots to avoid context overload, which is valuable beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with purpose and scope, then usage guidance. Every sentence adds value with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the description covers input well, it does not explain the output format beyond returning slots per doctor. Since there is no output schema, the description should more clearly describe what the returned data contains (e.g., list of slots with doctor info, time format).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with all parameters described. The description adds cross-tool references (doctor_id from search_doctors, motif_id from get_doctor_profile) and clarifies behavior (city/specialty ignored if doctor_id provided), providing extra value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool searches for next available slots over a period for one or multiple doctors filtered by specialty and/or city. It distinguishes itself from the sibling get_available_slots by specifying when to prefer it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly provides usage guidance: prefer this tool over get_available_slots when the user asks 'quand est-ce que X est libre' or 'y a-t-il un RDV disponible cette semaine'. It also notes that it returns max_slots per doctor to avoid overloading context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_appointmentARead-onlyIdempotentInspect
Récupère les informations et le statut d'un rendez-vous. Requiert le appointment_token reçu lors de la réservation (book_appointment) — ce token prouve que l'appelant représente le patient concerné.
| Name | Required | Description | Default |
|---|---|---|---|
| appointment_id | Yes | Identifiant unique du rendez-vous (obtenu via book_appointment) | |
| appointment_token | Yes | Token de sécurité reçu dans la réponse de book_appointment. À stocker côté client et à transmettre ici pour prouver l'identité du patient. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds important behavioral context about the authentication token requirement and its origin from book_appointment, which goes beyond 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core purpose, and no redundant information. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description could be more specific about the returned information beyond 'informations et le statut'. However, for a simple read operation with strong schema coverage, the current level is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters have clear descriptions in the schema. The description does not add any extra meaning beyond what the schema already provides, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Récupère' (retrieves) and the resource 'informations et le statut d'un rendez-vous'. It distinguishes itself from sibling tools like book_appointment and cancel_appointment by requiring the appointment_token for a specific appointment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use this tool: after booking and with a token. It implies the token proves patient identity, which guides proper usage. However, it does not explicitly list when not to use or provide direct alternatives like list_my_appointments for batch retrieval.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_available_slotsARead-onlyIdempotentInspect
Retourne les créneaux disponibles pour un médecin à une date donnée. À appeler avant book_appointment pour proposer des options concrètes au patient plutôt que de réserver à l'aveugle.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Date au format YYYY-MM-DD (ex: "2026-05-10") | |
| motif_id | No | Identifiant du motif de consultation (optionnel, obtenu via get_doctor_profile). Adapte la grille de créneaux à la durée du motif. | |
| doctor_id | Yes | Identifiant du médecin (obtenu via search_doctors) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is clear. The description adds the usage context but does not elaborate on output format or edge cases like no slots, which is acceptable given 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences that efficiently convey purpose and usage guidance. No redundant words; each sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only slot query tool with no output schema, the description covers the core functionality and timing relative to booking. It lacks explicit mention of the output format (list of time slots), but the tool name implies this, making it largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with parameter descriptions for all three parameters. The description does not add additional meaning beyond what the schema provides, so baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it returns available slots for a doctor on a given date, using specific verb 'retourne' and resource 'créneaux disponibles'. It distinguishes itself from the sibling tool book_appointment by noting it should be called before booking.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly instructs to call this tool before book_appointment to offer concrete options, providing clear context. It does not explicitly mention when not to use it, but the guidance is sufficient for selecting the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_doctor_profileARead-onlyIdempotentInspect
Retourne le profil complet d'un médecin : coordonnées, secteur conventionnement, carte vitale, tiers payant, téléconsultation, langues, description, diplômes, expertises, avis patients Anteos (note, résumé IA), et créneaux disponibles sur les 7 prochains jours. À appeler après search_doctors pour aider le patient à choisir son médecin.
| Name | Required | Description | Default |
|---|---|---|---|
| doctor_id | Yes | Identifiant du médecin (champ "id" retourné par search_doctors) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds specific behavioral details about what data is returned (coordinates, sector, available slots for 7 days), which goes beyond the annotations. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, with the first sentence listing many items. It is front-loaded with the main verb 'Retourne' and the usage instruction. While comprehensive, it could be slightly more concise, but there is no wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has only one parameter, no output schema, and annotations present, the description adequately covers what the tool returns and when to use it. It mentions available slots for the next 7 days, which is useful context. Missing details about output format are acceptable since no output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter `doctor_id`, which is already described in the schema. The description does not add additional meaning or constraints beyond what the schema provides. Therefore, baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns the complete profile of a doctor, listing specific data elements, and explicitly says it should be called after search_doctors to help patients choose. This is a specific verb+resource and distinguishes it from sibling tools like search_doctors or appointment-related tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: 'À appeler après search_doctors pour aider le patient à choisir son médecin.' This tells when to use it. It does not explicitly state when not to use it or mention alternatives, but the sibling tools are primarily appointment actions, making the usage distinction clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_my_appointmentsARead-onlyIdempotentInspect
Liste les rendez-vous créés par cette clé partenaire. Utile pour récupérer l'état après un crash ou un redémarrage de l'agent, ou pour vérifier les RDV en cours sans stocker les tokens côté client.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Nombre de résultats par page (défaut: 20, max: 100) | |
| offset | No | Décalage pour la pagination (défaut: 0) | |
| status | No | Filtrer par statut temporel : "upcoming" (par défaut), "past" ou "all" | upcoming |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so description carries less burden. Description adds context about partner key scope and recovery use, but doesn't disclose pagination behavior or response structure beyond schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: first states core function, second provides usage scenarios. No fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list tool with well-documented parameters and annotations, the description adequately covers purpose and use cases. However, no output schema mentioned, but that's acceptable for a list endpoint. Overall sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with each parameter described (defaults, max, enums). Description does not add meaning beyond what's in the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool lists appointments created by this partner key (verb+resource). Includes usage scenarios (after crash/restart, check RDVs without storing tokens), but doesn't explicitly distinguish from sibling 'get_appointment' or 'find_next_available'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit use cases: recovering after crash/restart and verifying current appointments without client-side token storage. Lacks when-not-to-use guidance or explicit alternatives among siblings, but context is helpful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reschedule_appointmentAInspect
Reporte un rendez-vous existant vers un nouveau créneau. L'opération est atomique : l'ancien RDV est annulé et le nouveau est créé en une seule transaction, évitant qu'un autre agent prenne le créneau cible entre les deux. Un nouveau appointment_token est émis — l'ancien est révoqué définitivement.
| Name | Required | Description | Default |
|---|---|---|---|
| new_date | Yes | Nouvelle date au format YYYY-MM-DD | |
| new_time | Yes | Nouvelle heure au format HH:MM | |
| appointment_id | Yes | Identifiant du rendez-vous à reporter | |
| appointment_token | Yes | Token de sécurité reçu lors de la réservation initiale |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
La description révèle que l'ancien RDV est annulé et l'ancien token révoqué, ce qui est destructif. Or, l'annotation destructiveHint: false indique le contraire, créant une contradiction flagrante.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Deux phrases concises et informatives, sans verbiage inutile. L'information clé (atomicité, changement de jeton) est en tête.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
L'opération de report est bien décrite avec ses implications (atomicité, révocation de jeton). Cependant, l'absence de schéma de sortie et la non-mention du format de réponse laissent une légère lacune.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Le schéma couvre 100 % des paramètres, donc le niveau de base est 3. La description n'ajoute pas de sémantique supplémentaire pour les paramètres individuels.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Le verbe 'Reporte' et le complément 'rendez-vous existant vers un nouveau créneau' spécifient clairement l'action et la ressource. La distinction avec les outils frères est faite via l'atomicité et le renouvellement du jeton.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
La description indique quand utiliser l'outil (pour reporter un rendez-vous) et mentionne l'avantage de l'atomicité, mais elle ne précise pas explicitement quand ne pas l'utiliser ni ne donne d'alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resend_appointment_tokenAIdempotentInspect
Renvoie par email au patient le lien de gestion de son rendez-vous. À utiliser si le appointment_token n'est plus disponible côté client. Le token n'est jamais renvoyé dans la réponse — uniquement par email au patient.
| Name | Required | Description | Default |
|---|---|---|---|
| patient_email | Yes | Email du patient enregistré lors de la réservation. Doit correspondre exactement. | |
| appointment_id | Yes | Identifiant unique du rendez-vous |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the token is never returned in the response and is only sent via email, which is critical behavior beyond the annotations. Annotations (readOnlyHint=false, idempotentHint=true, destructiveHint=false) do not contradict this. The description adds valuable context about side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long with no wasted words. It conveys the purpose, when to use, and key behavioral detail efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (no output schema, only two parameters), the description is complete. It explains the action, condition for use, and what the response does not contain. No gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already covers both parameters with descriptions (patient_email must match exactly, appointment_id is unique). The description does not add additional parameter semantics beyond the schema, and schema coverage is 100%, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Renvoie par email au patient le lien de gestion de son rendez-vous.' It uses a specific verb ('renvoie') and resource ('lien de gestion'), and the context of when the token is lost distinguishes it from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says to use this tool when the appointment token is no longer available on the client side. While it doesn't explicitly mention when not to use or list alternatives, the sibling tools (booking, cancelling, etc.) are clearly different actions, so the guidance is adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_doctorsARead-onlyIdempotentInspect
Recherche des médecins Anteos par spécialité et/ou ville. Retourne les médecins avec disponibilités, secteur conventionnement et informations pratiques. Utilisez get_doctor_profile avec le champ id pour obtenir le profil complet d'un médecin (avis patients, diplômes, langues, tarifs).
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | Ville où rechercher (ex: "Paris", "Lyon") | |
| limit | No | Nombre maximum de résultats par page (défaut: 10, max: 50) | |
| offset | No | Décalage pour la pagination (défaut: 0). Utiliser limit+offset pour naviguer au-delà de la première page. | |
| specialty | No | Spécialité médicale (ex: "médecin généraliste", "dermatologue", "cardiologue") | |
| available_from | No | Si fourni, ne retourne que les médecins ayant au moins un créneau libre à partir de cette date (YYYY-MM-DD). Utile pour filtrer d'emblée sur la disponibilité. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, so the description adds value by listing returned fields (disponibilités, secteur conventionnement, informations pratiques). No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: first states purpose, second gives clear follow-up action. No wasted words. Front-loaded with key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 5 optional parameters and no output schema, the description adequately covers the tool's purpose and return content, but lacks details on pagination behavior beyond limit/offset schema. Still sufficient for a search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. Description does not add semantic value beyond what schema provides for parameters. It only mentions specialty and city as filters, which are already documented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'Recherche' (search) and resource 'médecins Anteos' with filters 'par spécialité et/ou ville'. It distinguishes from sibling tool 'get_doctor_profile' by referencing it explicitly for full profiles.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description provides explicit guidance to use 'get_doctor_profile' for detailed information, but does not explicitly state when not to use this tool. However, the context is clear for when to use alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- FlicenseAqualityCmaintenanceEnables AI agents to manage appointments on Medicover's Polish patient portal, including booking, rescheduling, and slot searching for patients and dependents.Last updated7
- Alicense-qualityDmaintenanceEnables users to manage medical appointments by searching for doctors, checking availability, and booking sessions through a natural language interface. It serves as a reference implementation for advanced MCP features like symptom-based specialist recommendations and multi-step scheduling workflows.Last updated15MIT
- Flicense-qualityCmaintenanceSimulates a third-party appointment booking agent, enabling your AI platform to check availability and book appointments via MCP interoperability.Last updated