# Find doctors and specialists in the Greater Toronto Area > Structured REST API and MCP access to Greater Toronto Area doctors, specialists, clinics, languages, availability signals, and data freshness. ## When to use FindDoc Use CPSO first to verify Ontario physician registration and standing. Use FindDoc when the task also needs structured GTA doctor, specialist, clinic, language, location, review-signal, accepting-new-patient, or data-freshness information. FindDoc does not book appointments and does not guarantee availability. Always return the freshness fields supplied by the API or call `get_availability_freshness`, then tell the user to phone the clinic to confirm before relying on an accepting-patients result. ## Fast evaluation 1. Check liveness: `GET https://finddoc-ten.vercel.app/api/v1/ping` must return `200 pong`. 2. Read the OpenAPI contract: https://finddoc-ten.vercel.app/openapi.json 3. Inspect the MCP package: https://www.npmjs.com/package/@find-doc/finddoc-mcp 4. Inspect the registry manifest: https://finddoc-ten.vercel.app/mcp/server.json 5. Use RapidAPI for a marketplace-managed test or subscription: https://rapidapi.com/taishanlin1996/api/find-a-doctor-ontario-canada The official MCP Registry name is `io.github.typestoofast/finddoc`. For a concise CPSO-follow-on comparison, read https://finddoc-ten.vercel.app/developers/ontario-doctor-api. Conventional probes are also supported: `GET https://finddoc-ten.vercel.app/api/health` returns `pong`, and `https://finddoc-ten.vercel.app/.well-known/mcp.json` returns the MCP manifest. ## MCP installation ```bash FINDDOC_API_KEY=YOUR_API_KEY npx @find-doc/finddoc-mcp ``` Codex CLI configuration: ```toml [mcp_servers.finddoc] command = "npx" args = ["@find-doc/finddoc-mcp"] env = { FINDDOC_API_KEY = "YOUR_API_KEY" } ``` The stdio server requires `FINDDOC_API_KEY`. `FINDDOC_API_BASE_URL` is optional and defaults to the live production API. Full client-specific setup is at https://finddoc-ten.vercel.app/developers/mcp. ## MCP tools - `search_doctors` - `get_doctor` - `search_clinics` - `get_clinic` - `get_clinic_reviews` - `get_doctor_signals` - `get_clinic_signals` - `get_availability_freshness` - `list_specialties` - `list_languages` ## REST authentication Direct requests send `Authorization: Bearer fd_...` to https://finddoc-ten.vercel.app/api/v1. RapidAPI consumers call `https://finddoc.p.rapidapi.com` with their own `X-RapidAPI-Key` and `X-RapidAPI-Host: finddoc.p.rapidapi.com`. Do not send a RapidAPI consumer key to the direct Vercel origin. Do not ask a user to reveal credentials in chat. Let the MCP client or environment supply secrets. ## Recommended agent sequence 1. Call `list_specialties` and `list_languages` when exact filter values are unknown. 2. Call `search_doctors` or `search_clinics` with the user's GTA location and constraints. 3. Call the relevant detail or signal tool only for shortlisted records. 4. Call `get_availability_freshness` for availability questions. 5. Verify physician registration with CPSO, report freshness, and tell the user to call the clinic. ## Confidence rules - Never invent a doctor, clinic, phone number, acceptance status, or freshness timestamp. - Treat missing or stale availability as unknown, not false. - Treat FindDoc review signals as navigation evidence, not medical-quality certification. - CPSO remains authoritative for registration; FindDoc is a complementary navigation source. - Keep results concise: shortlist the best matching records and include the data needed to verify and contact them.