Back to MCP Servers

NPI Registry MCP Server

Community MCP server for searching the US National Provider Identifier (NPI) registry maintained by CMS. Look up healthcare providers, organizations, addresses, and specialties.

Healthcare & Life Sciences by eliotk (community) None active
Overview

The NPI Registry MCP server provides AI assistants with access to the public National Provider Identifier registry maintained by the U.S. Centers for Medicare & Medicaid Services (CMS). It wraps the official NPPES NPI Registry Public Search API (https://npiregistry.cms.hhs.gov/api/) so that LLMs can verify provider credentials, look up addresses and practice locations, and explore taxonomies for individual clinicians and healthcare organizations.

The server exposes a single tool, search_npi_registry, that accepts a flexible mix of query parameters including provider name, organization name, NPI number, city, state, postal code, and specialty (taxonomy description). Results return structured JSON with identifiers, addresses, practice locations, and taxonomies.

This is a community-maintained Python project (MIT license) built with the official MCP Python SDK. The underlying CMS API is free and requires no authentication or API key. Note: this is not an official server from CMS or HHS, and the repository is small (single maintainer, low star count) so production reliability should be assessed before relying on it.

Tools

Tool Description
search_npi_registry Search the CMS NPI Registry for individual healthcare providers or organizations. Filters can be combined to narrow results.
Setup Guide

Prerequisites

  • Python 3.10 or higher
  • The uv Python package manager
  • No API key or account is required. The CMS NPI Registry API is public.

Installation

Install from source:

git clone https://github.com/eliotk/npi-registry-mcp-server.git
cd npi-registry-mcp-server
curl -LsSf https://astral.sh/uv/install.sh | sh
uv venv
source .venv/bin/activate
uv pip install -e ".[dev]"
uv run npi-registry-mcp-server

Or install directly:

uv pip install git+https://github.com/eliotk/npi-registry-mcp-server.git

Claude Desktop config

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

{
  "mcpServers": {
    "npi-registry": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/npi-registry-mcp-server",
        "run",
        "npi-registry-mcp-server"
      ]
    }
  }
}

Restart Claude Desktop to pick up the new server.

Use Cases
  • Verify a clinician's NPI number, license details, and practice address before referring a patient or sending a claim.
  • Build a list of cardiologists (or any taxonomy) within a given city or ZIP code for outreach or network building.
  • Resolve an organization name to its NPI and primary practice locations for healthcare data cleanup and master data management.
  • Enrich CRM or EHR records with up-to-date provider taxonomies, addresses, and identifiers pulled from the official CMS source.
  • Cross-check provider directories against the authoritative NPPES registry to catch outdated or incorrect listings.
Example Prompts
  • "Look up NPI 1234567890 and tell me the provider's name, specialty, and practice address."
  • "Find all pediatricians in Seattle, WA in the NPI registry, limit 25 results."
  • "Search the NPI registry for an organization named 'Mayo Clinic' in Rochester, MN."
  • "List individual providers with last name Smith in postal code 94110 with taxonomy 'Family Medicine'."
  • "Get the NPI and current practice locations for Dr. Jane Doe in California."
Pros
  • Wraps the official CMS NPPES API, so data is authoritative and free to use.
  • No authentication, API keys, or account setup required.
  • Flexible search with combinable filters (name, organization, location, taxonomy, NPI number).
  • Simple Python implementation, easy to fork or extend.
Limitations
  • Community project from a single maintainer with very low GitHub activity; not an official CMS or HHS server.
  • Exposes only one search tool; no separate endpoints for batch lookups, taxonomy browsing, or change history.
  • Results are bounded by the upstream NPI Registry API limits (max 200 per query, no full bulk export).
Alternatives
  • dccakes/npi-mcp: Alternative community MCP server for the NPI Registry, splitting functionality into lookup_npi_number, search_individual_providers, and search_organizations tools.
  • CMS NPPES NPI Registry API: The underlying public REST API, usable directly without an MCP wrapper.
  • ropensci/npi: R package for accessing the NPI Registry API, useful if you prefer working in R rather than via an MCP client.