npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@find-doc/finddoc-mcp

v0.4.1

Published

MCP server for finding doctors and specialists in the Greater Toronto Area through 10 structured Ontario health-navigation tools.

Readme

FindDoc MCP — GTA doctor, specialist, and clinic search

Search Greater Toronto Area doctors, specialists, and clinics by specialty, location, language, gender, and accepting-new-patients status, with CPSO profiles, review signals, and per-result freshness.

10 tools · stdio transport · Node.js 20+ · free Sandbox access · no account required

@find-doc/finddoc-mcp is the public Model Context Protocol (MCP) server for FindDoc. It gives Claude, Codex, Cursor, and other MCP clients structured access to Ontario health-navigation data through the FindDoc REST API.

Quick start

Run the server immediately with the published, rate-limited Sandbox key:

npx -y @find-doc/finddoc-mcp

Or add it to an MCP client:

{
  "mcpServers": {
    "finddoc": {
      "command": "npx",
      "args": ["-y", "@find-doc/finddoc-mcp"]
    }
  }
}

No environment variables are required. Set FINDDOC_API_KEY to a key from FindDoc API keys for full access.

What this server solves

Finding an Ontario doctor who matches a person's specialty, language, location, and intake needs usually means searching fragmented directories and then guessing whether the listings are current. FindDoc gives AI assistants one structured interface for GTA doctors, specialists, and clinics, including accepting-new-patients signals, contact details, review dimensions, and freshness timestamps.

Capabilities

  • Find family doctors and specialists accepting new patients in the Greater Toronto Area.
  • Filter doctors by specialty, location, language, gender, and acceptance status.
  • Search clinics by GTA location and accepting-new-patients status.
  • Look up an Ontario physician by CPSO registration number.
  • Retrieve clinic reviews and structured doctor or clinic care signals for dimensions such as communication, wait times, and staff.
  • Inspect supported specialties and languages with doctor counts.
  • Surface each result's own availability timestamp so an agent can communicate uncertainty.

Example prompts:

  • “Find French-speaking family doctors accepting new patients in Scarborough.”
  • “Look up this doctor by CPSO number and tell me which clinic to call.”
  • “Compare these clinics on wait-time and communication review signals.”

Tools

| Tool | What it does | | ---------------------------- | ------------------------------------------------------------------------------------------------------ | | search_doctors | Searches doctors by specialty, location, language, gender, and accepting-new-patients status. | | get_doctor | Returns a doctor profile by CPSO number, including specialties, languages, clinic, and review summary. | | search_clinics | Searches clinics by GTA location and accepting-new-patients status. | | get_clinic | Returns a clinic by FindDoc clinic ID. | | get_clinic_reviews | Returns a clinic's aggregate review data, per-dimension breakdown, and individual reviews. | | get_doctor_signals | Returns per-dimension doctor care signals as band, strength, and derived score. | | get_clinic_signals | Returns per-dimension clinic care signals as band, strength, and derived score. | | get_availability_freshness | Explains the availability freshness contract and how to interpret availability_updated_at. | | list_specialties | Lists normalized specialty names accepted by search_doctors, with doctor counts. | | list_languages | Lists supported language names with doctor counts. |

For complete arguments and response shapes, see the FindDoc MCP documentation.

Client setup

The same npm package runs as a local stdio server in every client.

Claude Code

claude mcp add --transport stdio finddoc \
  -- npx -y @find-doc/finddoc-mcp

To share the configuration with a team, commit the JSON from Quick start as .mcp.json in the project root.

Codex CLI

Add this to ~/.codex/config.toml:

[mcp_servers.finddoc]
command = "npx"
args = ["-y", "@find-doc/finddoc-mcp"]

Claude Desktop and Cursor

Merge the JSON from Quick start into the client's MCP configuration. Claude Desktop uses ~/Library/Application Support/Claude/claude_desktop_config.json on macOS and %APPDATA%/Claude/claude_desktop_config.json on Windows.

Global install

npm install -g @find-doc/finddoc-mcp
finddoc-mcp

Data scope and safety

  • Coverage: doctors, specialists, and clinics in the Greater Toronto Area, Ontario, Canada.
  • Source boundary: this package is a thin adapter over FindDoc's public REST API; it does not connect directly to the database.
  • Freshness: clinic availability results include a nullable availability_updated_at from that clinic's record. Doctor results include source freshness where available. FindDoc does not claim a corpus-wide refresh timestamp or coverage percentage.
  • Confirmation: availability is best-effort. Every tool tells the calling agent to report the result's freshness and ask the user to phone the clinic before relying on it.
  • Privacy: tool outputs contain public physician, clinic, and review information—not appointment records, clinical notes, or patient health information.
  • Booking: FindDoc surfaces clinic contact information; it does not book appointments.

Environment variables

| Name | Required | Default | Description | | ---------------------- | -------- | ------------------------ | -------------------------------------------------------------------------------- | | FINDDOC_API_KEY | No | Published Sandbox key | Use a paid key for full access; Sandbox use is shared, capped, and rate-limited. | | FINDDOC_API_BASE_URL | No | https://www.finddoc.ca | Override the API origin for local development or staging. |

When FINDDOC_API_KEY is absent, the server writes a Sandbox notice to stderr. MCP protocol output remains isolated on stdout.

Development

pnpm --filter @find-doc/finddoc-mcp run typecheck
pnpm --filter @find-doc/finddoc-mcp run test
pnpm --filter @find-doc/finddoc-mcp run build

The package lives in the FindDoc monorepo.

License

MIT