FindADoctor.si

France

Quickstart

Two calls: search for a short list, then open the evidence for the doctors you are seriously considering. For surgery or a procedure, a third tool shows which hospitals and clinics do it most. The MCP server and the HTTP API have the same tools and return the same JSON. This is the France service. The United States and New Zealand have their own, at /us/docs/ and /nz/docs/, and one MCP address serves all three.

No sign-up. Short lists and hospital procedure volumes are free; full evidence has a daily allowance.

1. Connect

Address
MCP (Streamable HTTP), every country: pass country: "FR"https://api.findadoctor.si/mcp
MCP (Streamable HTTP), France onlyhttps://api-fr.findadoctor.si/mcp
HTTP APIhttps://api-fr.findadoctor.si/api/v1/… (GET, JSON)
OpenAPI 3.1 (parameters and response fields)https://api-fr.findadoctor.si/openapi.json
MCP server cardhttps://api-fr.findadoctor.si/mcp/server-card
Guide for agentshttps://api-fr.findadoctor.si/llms.txt

MCP clients that support remote servers connect to either MCP URL above. No sign-in or key is needed. An optional account key (by invitation), sent as Authorization: Bearer, raises the daily allowance.

Decide the country first

With the address for every country, first work out where the person wants to see a doctor. Use the place they mention, or what you know about where they live.

Add it to your client

In Claude (Free, Pro, Max, Team and Enterprise; the Free plan allows one custom connector):

  1. Go to Customize → Connectors → + Add → Add custom connector.
  2. Enter a name and the MCP URL, then click Continue. Under Authentication choose No sign in (or add an account key under Request headers as Authorization: Bearer), then Add.
  3. On Team and Enterprise, an Owner first adds it under Organization settings → Connectors; members then Connect it.
  4. Turn it on in a chat with + → Connectors.

See Claude’s guide.

In ChatGPT, where your plan and workspace allow custom MCP servers:

  1. Go to Plugins → + → Add custom MCP server.
  2. Enter a name and the MCP URL, and set authentication. Choose no authentication.
  3. Create it as a plugin and install it.
  4. In a chat, type @ and pick it.

See OpenAI’s guide.

In Claude Code, Codex CLI, Gemini CLI and other MCP clients: add a remote (Streamable HTTP) MCP server with the URL above.

Give at least one of need, specialty, place, name or hospital_finess.

GET https://api-fr.findadoctor.si/api/v1/search?need=endom%C3%A9triose&place=Lyon

What each result has

A trimmed example (the doctors’ names and ids are made up; … marks shortened text):

{
  "provider": { "name": "FindADoctor.si France", "url": "https://findadoctor.si/fr/", "data_version": "fr-public-2026-10-16.3" },
  "before_you_answer": "This is the free short list: who the doctors are, not the evidence. Before recommending anyone, call get_doctor …",
  "count": 10,
  "more": true,
  "offset": 0,
  "doctors": [
    {
      "doctor_id": "fr_4k9m2x7qph3t",
      "name": "Dr Example Doctor",
      "gender": "female",
      "specialties": ["Gynécologie-obstétrique"],
      "specialties_en": ["Obstetrics and gynaecology"],
      "places": ["Cabinet médical, 69006 Lyon", "Clinique Exemple, 69003 Lyon"],
      "fee_sectors": ["Secteur 2"],
      "optam": true,
      "match_basis": "stated_expertise",
      "register": "rpps",
      "detail_has": ["stated_expertise", "procedures", "university_diplomas", "practices_with_phone_and_fee_category"]
    }
  ],
  "need_note": "…"
}

How results are ordered

With a need, results are ranked by how directly the doctor’s own data matches it, in the order of the match_basis table above: stated expertise first, down to some of the words. Without a need, doctors with more data (stated expertise, official competences, profile pages) come first, then the rest in a fixed shuffled order. Results are never ranked by quality, outcomes, fees or industry links.

Notes in the reply

Paging

Up to 10 results per search; paging stops at 30. Narrow the need or the place instead of paging.

3. Open the evidence

GET https://api-fr.findadoctor.si/api/v1/doctors?ids=fr_4k9m2x7qph3t,fr_8w2c5n1kd7ra

Up to 10 doctor ids per call. Without an account, each network address can open 5 different doctors' evidence a day; with an account key (by invitation), 100. Opening the same doctor again the same day is free. Doctors that do not fit in one reply come back under not_returned_yet, already counted, so ask again for them at no extra cost.

What each doctor can have

The doctor’s own profile text is not reproduced; give the person the source page link (sources).

Fees, phone numbers and availability change. Tell the person to confirm them with the practice, and to book on Doctolib or with the practice.

4. Hospital procedure volumes

GET https://api-fr.findadoctor.si/api/v1/procedure-volumes?procedure=cataract&place=Lyon

From Open CCAM (ATIH): which hospitals and private clinics performed the procedure most, per year, 2021–2025. Each hospital comes with its FINESS number, the acts counted by year and by CCAM code, and the share done as day cases.

Hospital volumes are free: they do not count toward the daily doctor allowance.

Tools

MCP toolHTTPWhat it does
search_doctorsGET /api/v1/searchFree short list for a need, specialty, place, name or hospital.
get_doctorGET /api/v1/doctors?ids=… or /api/v1/doctors/{doctor_id}Evidence for up to 10 doctors. Counted per day.
hospital_procedure_volumesGET /api/v1/procedure-volumesWhich hospitals and clinics perform a procedure most (Open CCAM). Not counted.
list_specialtiesGET /api/v1/specialtiesSpecialty names (official French and English) with doctor counts.
about_databaseGET /api/v1/aboutSources, licences, read dates, coverage counts and known gaps.

search_doctors parameters

ParameterMeaning
needCondition, procedure or focus, in French or English, e.g. endométriose, prothèse genou, knee replacement, cataract. Matched against the expertise and procedures doctors state, their official competences and university diplomas, hospital departments and roles, and specialty.
specialtyFrench or English, e.g. cardiologie, dermatology, pédiatre, ORL, GP, généraliste (see list_specialties).
placeCity, postcode, arrondissement (Paris 15), département number (69, 2A) or a practice or hospital name. A text match, not a distance search.
nameThe doctor’s name or part of it, to check a named doctor.
genderfemale or male. Only when the person asks. From the register’s civil title; recorded for almost all doctors.
languageA language other than French, e.g. English, Arabic. Only known for doctors with a profile page (about 1,840 list one); many others speak it too.
fee_sectorany (default), secteur_1 (standard fees), secteur_1_or_optam (standard fees, or extra fees the doctor agreed to limit) or secteur_2 (may charge extra). A doctor is kept if any practice has it; check each practice in get_doctor. Most hospital-only doctors have no category.
online_bookingtrue keeps doctors whose Maiia or hospital page shows online booking (Doctolib is not covered).
teleconsultationtrue keeps doctors offering video consultations on Maiia.
hospital_finessA hospital site’s FINESS number (from hospital_procedure_volumes): doctors whose register address is that site, mostly salaried hospital doctors.
limit, offsetUp to 10 results per page; paging stops at 30 results.

get_doctor parameters

ParameterMeaning
doctor_idsUp to 10 doctor_ids from search results (HTTP: ids, comma-separated).
doctor_idOne doctor_id.

A doctor keeps the same doctor_id when the database is rebuilt.

hospital_procedure_volumes parameters

ParameterMeaning
procedureThe procedure in English or French (cataract, knee replacement, prothèse genou, coloscopie), or CCAM codes.
codesMCP only: exact CCAM codes to add up, instead of procedure, to narrow it (e.g. BFGA427).
placeCity, postcode, arrondissement, département number, or a hospital FINESS number. Without it, all of France is ranked.
year2021–2025; default the latest year.
limit, offsetUp to 20 hospitals per page; paging stops at 120.

Errors

StatusMeaningWhat to do
400A parameter is missing or invalidThe message names what to change.
401The account key is not validSend a valid key, or none.
403A web page on another site asked for doctor details from a visitor’s browser (cross_site)Call from your agent or server, not from another site’s page.
404No doctor with that idUse a doctor_id from a search.
429Rate limit or daily doctor allowance used upTell the person; the message says when it resets.
503Busy or startingRetry shortly.

Limits per connection: Limits. What the data holds and where it comes from: Data.