FindADoctor.si France
Server Details
Find doctors in France by condition, procedure or place, with fee category and sources. No sign-up.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 5 tools
Each tool has a clearly distinct role: free lookup (search_doctors), paid detail (get_doctor), specialty enumeration (list_specialties), hospital procedure data (hospital_procedure_volumes), and metadata (about_database). The search/detail pair is a well-described two-step flow rather than an overlap, and descriptions explicitly say to call get_doctor with IDs returned by search_doctors.
Four tools follow a clean verb_noun pattern (about_database, get_doctor, search_doctors, list_specialties). The lone outlier, hospital_procedure_volumes, is a noun-only name, a minor but noticeable deviation.
Five tools is a tight, well-scoped set for a doctor-finding service: search, detail, specialty list, hospital data, and provenance info. Every tool earns its place with no redundancy.
The core workflow (list specialties -> search doctors -> open doctor detail) plus hospital procedure volumes and licensing metadata is well covered. Minor gaps exist, e.g. no way to look up hospital details by name or retrieve a doctor directly by RPPS, but these are workable around.
Available Tools
5 toolsabout_databaseAbout this databaseBRead-onlyIdempotentInspect
Sources, licences, read dates, coverage counts and known gaps. Free.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and closed-world scope, so the safety profile is fully covered. The description adds two pieces of genuinely new context: cost ('Free') and that the payload includes coverage counts and known gaps. It does not describe the return structure, but with the safety profile already supplied by annotations this is adequate.
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?
Roughly ten words, front-loaded, with zero filler sentences. The telegraphic noun-list style is slightly under-framed for an agent looking for an explicit action verb, which keeps it from a 5, but nothing is wasted.
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 trivially simple, zero-parameter, read-only tool with no output schema, the description covers the important gap by listing what the response contains, including provenance and limitations. Only minor ambiguity (format, language, licence detail) remains, and that is acceptable at this complexity.
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 schema has zero parameters, so per the rubric the baseline is 4. There is no parameter syntax or filtering behavior the description needs to compensate for, and it correctly implies a no-argument, static-information call.
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 enumerates exactly what the tool surfaces (sources, licences, read dates, coverage counts, known gaps), which for a zero-parameter metadata tool is effectively a purpose statement, and it is clearly distinguishable from the clinical siblings (get_doctor, search_doctors, list_specialties). It lacks an explicit verb/action, so an agent must infer that it returns database-level documentation rather than data.
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?
No statement of when to call this versus the sibling tools, nor any prerequisite. The mention of 'known gaps' weakly implies consulting it before relying on coverage, but that inference is left entirely to the agent. 'Free' is a cost note, not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_doctorOpen doctors in FranceARead-onlyIdempotentInspect
Evidence for doctors in France from search_doctors: pass doctor_ids (up to 10 at once) or one doctor_id. Each different doctor you open counts toward a daily limit for your connection (replies show daily_doctor_limit when it matters); opening a doctor again the same day is free. Open the doctors you are seriously considering, not every result. Each doctor: RPPS number (check on annuaire.sante.fr), official specialties, official extra competences and university diplomas (DU/DIU), practice modes; every practice from the RPPS register and the Ameli directory with address, phone, setting, role, fee category (Secteur 1/2, OPTAM) and hospital FINESS number; from Maiia or hospital pages when the doctor has one: stated expertise, procedures offered, hospital department and role, qualifications, languages, consultation fees, online booking, video consultations, whether online booking is open to new patients; source pages with read dates; and industry_links: Transparence Santé declarations by drug and device companies (agreements, benefits, payments) by year, company and purpose, shown as declared (licence CC BY-NC-SA 4.0; not evidence of expertise or wrongdoing). Profile text is not reproduced: give the person the source page link for the doctor's own words.
| Name | Required | Description | Default |
|---|---|---|---|
| doctor_id | No | One doctor_id from search_doctors, e.g. 'fr_4k9m2x7qph3t'. | |
| doctor_ids | No | Up to 10 doctor_ids from search_doctors, e.g. ['fr_4k9m2x7qph3t', 'fr_8w2c5n1kd7ra']. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnly/idempotent/destructive annotations by disclosing the daily unique-doctor rate limit, the fact that re-opening the same doctor the same day is free, the daily_doctor_limit reply field, and the licensing/attribution terms on industry_links. It even states a behavioral constraint the tool enforces (profile text is not reproduced; hand the user the source link) that no annotation conveys.
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?
Purpose and limits are front-loaded, but the middle section becomes a long semicolon-delimited enumeration of every returned field that is hard to scan and partly duplicates what a consumer of the results would discover anyway. Still, no sentence is purely wasted given the absent output schema.
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 no output schema, the description carries the return-shape burden and does so thoroughly: RPPS identity, specialties, DU/DIU, practice modes, addresses/phones from RPPS and Ameli, fees and sectors, hospital FINESS, booking/video flags, source pages with read dates, and industry_links provenance. Combined with the rate-limit and licensing disclosures, an agent has everything needed to call and interpret this 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% with pattern and maxItems constraints documented per property, so the schema already carries the semantics. The description's 'up to 10 at once' and 'one doctor_id' restate the schema's maxItems/minItems rather than adding format or edge-case meaning, 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?
States a specific verb+resource ('Evidence for doctors in France from search_doctors') and explicitly frames it as the follow-up detail fetch to search_doctors, so the agent can separate it from the sibling search tool without opening either schema. The opening clause also names the required inputs, making the tool's role unambiguous.
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?
Gives clear operating context: fetch up to 10 IDs at once or one ID, and 'Open the doctors you are seriously considering, not every result' — a real usage constraint tied to the daily cap. It names search_doctors as the ID source and explains the reuse-for-free rule, but does not spell out an explicit when-not-to-use or a hard alternative path for bulk browsing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hospital_procedure_volumesHospital procedure volumes in FranceARead-onlyIdempotentInspect
Which French hospitals and private clinics perform a procedure most, from Open CCAM (ATIH): number of acts per hospital site per year, 2021-2025, public and private. Counts hospital stays and day cases only (PMSI MCO); procedures done in a doctor's office or a hospital outpatient clinic are not counted, and a site with fewer than 11 stays for an act is not listed. procedure = English or French text ('cataract', 'knee replacement', 'prothèse genou', 'coloscopie', 'ablation fibrillation auriculaire') or CCAM codes; the reply lists the CCAM acts it added up, so check they fit the need (add-on codes and pathology are left out of text matches). For 'aneurysm' or 'stent' say where (brain, aorta, heart, carotid). place = city, postcode, Paris/Lyon/Marseille arrondissement, département number or a hospital FINESS number; without place it ranks all of France. Hospital-level only: it does not say which surgeon operates. Then use search_doctors with hospital_finess (salaried hospital doctors) or with the hospital's postcode and the specialty (self-employed surgeons at private clinics). Free.
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | Default latest (2025). | |
| codes | No | Exact CCAM codes to add up (use instead of procedure to narrow). | |
| limit | No | Default 10. | |
| place | No | City, postcode, arrondissement ('Paris 15'), département number (2A, 2B, 971-976), or hospital FINESS number. | |
| offset | No | For paging (at most 100). | |
| procedure | No | Procedure in English or French, or CCAM codes (e.g. 'BFGA427'; an 8th phase digit is dropped). |
TDQS
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 substantial domain behavior: the reply lists the CCAM acts summed so matches can be verified, add-on codes and pathology are excluded from text matches, and a minimum-stay suppression rule applies. This is well beyond what annotations or schema convey.
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?
Dense but front-loaded with the core purpose, and nearly every sentence carries usable constraint or routing information. It is longer than typical and could be tightened, but there is little filler to cut.
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 no output schema, the description compensates by explaining what the reply contains (ranked sites plus the CCAM acts aggregated), the geographic default, and the follow-up path for surgeon-level questions. An agent has everything needed to call this correctly.
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%, so the baseline is 3, but the description adds real semantics: procedure accepts English or French free text or CCAM codes with examples and an 8th phase digit dropped, and place accepts city/postcode/arrondissement/département/FINESS with 'without place it ranks all of France' default behavior.
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?
States a specific verb+resource with scope: which French hospitals/clinics perform a procedure most, sourced from Open CCAM (ATIH), 2021-2025. It is clearly distinct from the sibling doctor-lookup tools and even states the boundary ('Hospital-level only: it does not say which surgeon operates').
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 says what is and isn't counted (PMSI MCO stays/day cases; office and outpatient clinics excluded; sites under 11 stays suppressed) and when to use the alternative ('Then use search_doctors with hospital_finess ... or with the hospital's postcode and the specialty'). It also tells the agent to disambiguate vague terms like 'aneurysm'/'stent' by site.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_specialtiesList specialtiesBRead-onlyIdempotentInspect
Specialty names in this database (official French names from RPPS and Ameli, and English labels) with doctor counts. Free.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, non-destructive, and closed-world behavior. The description adds return content (French official names from RPPS/Ameli, English labels, doctor counts) and cost ('Free'), which is useful but does not address pagination, output format, or other behavioral traits.
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 a single compact sentence followed by 'Free.' Every word contributes, and the resource is front-loaded. The fragment structure slightly weakens clarity compared to a full verb-led sentence.
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 zero-parameter listing tool with rich annotations but no output schema, the description adequately states what is returned and that it is free. It could mention exhaustiveness or typical use, but it is sufficient to invoke the tool correctly.
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 tool takes zero parameters, so the baseline is 4 and the description does not need to explain any parameter semantics. The schema is empty with 100% coverage, as expected.
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 identifies the specific resource (specialty names with doctor counts) and distinguishes it from sibling tools like search_doctors or get_doctor. However, it is a noun phrase without an explicit verb, so the action is inferred from the tool name rather than stated outright.
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?
No when-to-use guidance is provided. The word 'Free' hints at cost but does not explain when to call this tool versus alternatives, and no context or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_doctorsSearch doctors in FranceARead-onlyIdempotentInspect
Free short list of doctors in France for a need; use it first whenever the person needs a doctor, specialist or GP in France. Give at least one of need, specialty, place, name or hospital_finess. need = condition, procedure or focus, in French or English (e.g. 'endométriose', 'prothèse genou', 'knee replacement', 'cataract'; common English words are also searched in French); matched against the expertise and procedures doctors state, their official competences and university diplomas, hospital departments and roles, and specialty. specialty = French or English (e.g. 'cardiologie', 'dermatology', 'pédiatre', 'ORL', 'GP', 'généraliste'). place = city ('Lyon', 'Paris' includes all arrondissements), postcode ('75015'), arrondissement ('Paris 15', 'Lyon 3e'), département number ('69', '2A') or a practice or hospital name; a text match on practice addresses, not a distance search. Each result: doctor_id, name, gender, specialties (French, as registered), specialties_en, places (up to 3 practices, the ones matching place first), fee_sectors (Ameli category: Secteur 1 = standard fees; Secteur 2 = may charge extra; Non conventionné = not contracted, little reimbursed), optam (agreed to limit extra fees), match_basis (with a need: stated_expertise, official_competence, hospital_department_or_training, several_fields, specialty, specialty_usually_treats, partial), register (rpps, ameli_only = only in the Assurance Maladie directory, website_only = not matched to the official registers), warnings (e.g. barred from practising) and detail_has (what get_doctor adds). With a need, results are ranked by how directly the doctor's own data matches it: all its words in the expertise or procedures the doctor states, then in official competences or university diplomas, then in hospital department, role or training, then spread over several fields, then in the specialty name; then, when the need is a condition few doctors list, doctors in the specialty that usually treats it (specialty_usually_treats); then doctors matching only some of the words. Without a need, doctors with more data (stated expertise, official competences, profile pages) come first, then in a fixed shuffled order. Not ranked by quality, outcomes, fees or industry links. Then call get_doctor with the doctor_ids you are considering. Up to 10 results per search and paging stops at 30: narrow the need or the place instead of paging.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Doctor's name or part of it, to check a named doctor. | |
| need | No | Condition, procedure or focus, in French or English. | |
| limit | No | Default 10. | |
| place | No | City, postcode, arrondissement ('Paris 15'), département number ('69', '2A') or a practice or hospital name. | |
| gender | No | Only when the person asks. From the register's civil title (Madame/Monsieur); recorded for almost all doctors. | |
| offset | No | For paging (at most 20, so 30 results in all: narrow the search instead). | |
| language | No | Language other than French, e.g. 'English', 'Arabic', 'anglais'. Only known for doctors with a Maiia or hospital profile (about 1,800 list one); many others speak it too. | |
| specialty | No | Specialty in French or English, e.g. 'cardiologie', 'dermatology', 'ORL', 'GP' (see list_specialties). | |
| fee_sector | No | Assurance Maladie fee category. secteur_1 = standard fees, no extra charges; secteur_1_or_optam = standard fees or agreed limits on extra fees; secteur_2 = may charge extra. Kept if ANY of the doctor's practices has it (it can differ by practice): check each practice in get_doctor. Most hospital-only doctors have no category. Default any. | |
| online_booking | No | True keeps doctors whose Maiia or hospital page shows online booking (Doctolib is not covered). | |
| hospital_finess | No | Keep doctors whose register address is this hospital site (FINESS number from hospital_procedure_volumes): mostly salaried hospital doctors. | |
| teleconsultation | No | True keeps doctors offering video consultations on Maiia. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover the safe-read profile, and the description goes well beyond them: ranking order and match_basis tiers, the fallback to specialty_usually_treats, the explicit 'not ranked by quality, outcomes, fees or industry links' disclaimer, register caveats (ameli_only, website_only, warnings such as barred from practising), and hard limits (10 per search, paging stops at 30). This is unusually rich disclosure for a read-only tool.
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?
Front-loaded with purpose and the use-first rule, then result fields, then ranking, then the get_doctor handoff. Every block carries information, though the result-field enumeration and the ranking walkthrough are dense and slightly repetitive ('common English words are also searched in French'), making it longer than strictly 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?
With no output schema, the description carries the full burden and does so: it enumerates the returned fields (doctor_id, specialties_en, fee_sectors, match_basis, register, warnings, detail_has) and explains what each means. Nothing an agent needs to call or interpret this tool is missing.
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%, so the baseline is 3, but the description adds cross-parameter meaning the schema cannot: the at-least-one-of constraint, that need is matched against stated expertise, official competences, diplomas, hospital departments and specialty, and that place is a text match on addresses rather than a distance search. Marginal value is added over an already thorough 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?
States a specific verb and resource ('short list of doctors in France for a need') and explicitly positions itself relative to the sibling it is not ('Then call get_doctor with the doctor_ids you are considering'). An agent can tell it apart from get_doctor, list_specialties and hospital_procedure_volumes 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit use-first rule ('use it first whenever the person needs a doctor, specialist or GP in France'), names the follow-up tool (get_doctor), and states the alternative to paging ('narrow the need or the place instead of paging'). It also states the minimum input requirement ('Give at least one of need, specialty, place, name or hospital_finess').
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.
5 tool updates
- First observed
about_database - First observed
get_doctor - First observed
hospital_procedure_volumes - First observed
list_specialties - First observed
search_doctors
Related MCP Connectors
Find US, New Zealand and France doctors by condition, procedure or place, with sources. No sign-up.
Book medical appointments with French doctors by specialty and city via AI agents.
Find New Zealand doctors and GP practices by condition, procedure or place, with sources. No signup.
Research 7,400+ US doctors: search, semantic search, profiles, reviews & procedure pricing.
Related MCP Servers
- AlicenseBqualityCmaintenanceEnables 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.21MIT
- AlicenseNot gradedqualityCmaintenanceEnables users to find and contact building tradespeople in France, and lets independent tradespeople create free profiles.Apache 2.0
- AlicenseNot gradedqualityBmaintenanceEnables finding doctors in Romania by county, speciality, language, name, and weekly availability, with fuzzy name matching and nearby-county fallback.58 npmMIT
- AlicenseAqualityAmaintenanceEnables 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.12377 PyPI3MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.