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

helpdental-mcp

v1.0.0

Published

MCP server for searching 10,000+ UK dental practices, treatment prices, emergency dentists, and practice details via HelpDental

Readme

HelpDental MCP Server

A Model Context Protocol server that gives AI assistants access to 10,000+ UK dental practices and 32,000+ treatment prices.

Ask your AI assistant questions like:

  • "Find a dentist near SW1A 1AA that does Invisalign"
  • "How much does teeth whitening cost in Manchester?"
  • "I need an emergency dentist in Birmingham"
  • "Tell me about Bupa Dental Care in Leeds"

Installation

Via npx (recommended)

No installation needed. Configure your MCP client to run:

npx helpdental-mcp

Via npm (global)

npm install -g helpdental-mcp

Then run with:

helpdental-mcp

Configuration

The server requires a Supabase connection to the HelpDental database.

| Variable | Required | Description | |----------|----------|-------------| | SUPABASE_URL | Yes | HelpDental Supabase project URL | | SUPABASE_ANON_KEY | Yes | HelpDental Supabase anonymous key |

Contact [email protected] for API access credentials.

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "helpdental": {
      "command": "npx",
      "args": ["-y", "helpdental-mcp"],
      "env": {
        "SUPABASE_URL": "your-supabase-url",
        "SUPABASE_ANON_KEY": "your-anon-key"
      }
    }
  }
}

Claude Code

claude mcp add helpdental -- npx -y helpdental-mcp

Then set the environment variables in your shell before launching Claude Code.

Cursor / Windsurf / Other MCP Clients

Use stdio transport with the command npx -y helpdental-mcp and set the environment variables as above.

Available Tools

search_practices

Find dental practices near a UK postcode.

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | postcode | string | Yes | UK postcode (e.g. "SW1A 1AA") | | treatment | string | No | Filter by treatment (e.g. "whitening", "implants") | | nhs_only | boolean | No | Only NHS-accepting practices | | limit | number | No | Max results (default 5, max 20) |

Example response:

{
  "practices": [
    {
      "name": "Smile Dental Clinic",
      "address": "123 High Street, London",
      "postcode": "SW1A 2AB",
      "google_rating": 4.7,
      "review_count": 312,
      "services": ["whitening", "implants", "invisalign"],
      "nhs_accepting": true,
      "consultation_fee": "from £50",
      "distance_miles": 0.3,
      "helpdental_url": "https://helpdental.ai/dental-practice/london/smile-dental-clinic"
    }
  ],
  "total": 42,
  "search_postcode": "SW1A 1AA"
}

get_treatment_prices

Get national and local average treatment prices across 24 categories.

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | treatment | string | Yes | Treatment name (e.g. "teeth-whitening", "crown", "implant_single") | | postcode | string | No | UK postcode for local price comparison |

Supported treatments: check-up, whitening, crown, filling, root canal, extraction, implant, invisalign, veneer, bridge, hygienist, dentures, composite bonding, emergency, wisdom teeth, scale and polish, x-ray, mouthguard, sedation, and more.

Example response:

{
  "treatment": "whitening",
  "label": "Teeth Whitening",
  "national_average": "£350",
  "national_count": 1842,
  "local_average": "£395",
  "local_count": 67,
  "local_min": "£149",
  "local_max": "£795",
  "nhs_band": null,
  "postcode_area": "SW"
}

find_emergency_dentist

Find emergency dental care near a postcode. Returns up to 10 practices with emergency services, sorted by distance.

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | postcode | string | Yes | UK postcode where emergency care is needed |

get_practice_details

Get full details for a specific practice including services, pricing, opening hours, CQC rating, and quality score.

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | practice_id | number | No | Numeric practice ID | | practice_name | string | No | Practice name (partial match) |

One of practice_id or practice_name is required. When a single practice is matched, treatment prices are included in the response.

How It Works

  • Queries the HelpDental database via Supabase REST API (PostgREST)
  • Geocodes postcodes using postcodes.io (free, no API key needed)
  • Calculates distances using the haversine formula
  • Returns structured JSON that AI assistants present naturally

Data Sources

  • Practice data: 10,000+ CQC-registered dental practices, enriched with Google Places ratings, photos, and reviews
  • Pricing data: 32,000+ treatment prices extracted from practice websites, covering 24 categories
  • NHS status: Verified against the NHS Find a Dentist directory
  • Quality scores: Composite scoring based on ratings, reviews, services, and data completeness

Development

git clone https://github.com/tris686/helpdental.git
cd helpdental/mcp-server
npm install
npm run build
npm start

Watch mode for development:

npm run dev

License

MIT