# npi-providers-mcp-server MCP server

Look up US healthcare providers in the NPPES NPI registry and resolve NUCC specialty codes.

## Links
- Registry page: https://www.getdrio.com/mcp/io-github-cyanheads-npi-providers-mcp-server
- Repository: https://github.com/cyanheads/npi-providers-mcp-server

## Install
- Command: `npx -y @cyanheads/npi-providers-mcp-server`
- Endpoint: https://npi-providers.caseyjhand.com/mcp
- Auth: Not captured

## Setup notes
- Package: Npm @cyanheads/npi-providers-mcp-server v0.1.7
- Environment variable: MCP_LOG_LEVEL (default info)
- Environment variable: NPPES_API_BASE_URL (default https://npiregistry.cms.hhs.gov/api)
- Environment variable: NPPES_TIMEOUT_MS (default 15000)
- Package: Npm @cyanheads/npi-providers-mcp-server v0.1.7
- Environment variable: MCP_HTTP_HOST (default 127.0.0.1)
- Environment variable: MCP_HTTP_PORT (default 3010)
- Environment variable: MCP_HTTP_ENDPOINT_PATH (default /mcp)
- Environment variable: MCP_AUTH_MODE (default none)
- Environment variable: MCP_LOG_LEVEL (default info)
- Environment variable: NPPES_API_BASE_URL (default https://npiregistry.cms.hhs.gov/api)
- Environment variable: NPPES_TIMEOUT_MS (default 15000)
- Remote endpoint: https://npi-providers.caseyjhand.com/mcp

## Tools
- npi_search_providers (Npi Search Providers) - Search the NPPES NPI registry for individual practitioners and healthcare organizations by name, organization name, location, provider type, and specialty. The specialty filter accepts plain-language terms (e.g. "cardiologist", "pediatric cardiologist") and resolves them through the bundled NUCC taxonomy to the registry's exact taxonomy descriptions before searching; the resolved taxonomy is echoed back so you can see what was actually searched. Pass location as the dedicated city/state/postal_code inputs, not inside specialty. Returns a compact row per provider — NPI, name, primary specialty, city/state/ZIP, type, and active/deactivated status — suitable for disambiguation; call npi_get_provider with an NPI for the full record. At least one search criterion is required, and the registry rejects state-only searches (pair state with another filter). The registry does not treat location as a hard filter for specialty searches, so location-constrained results are post-filtered server-side to the requested city/state/postal_code. The registry never reports a true match total and only the first 1200 matches are reachable, so broad queries are capped — narrow with more filters. Endpoint: https://npi-providers.caseyjhand.com/mcp
- npi_get_provider (Npi Get Provider) - Fetch the complete NPPES record for one or more NPI numbers (up to 10 per call). Decodes an NPI from a claim, prescription, or another health data source into a fully populated provider profile: every taxonomy with its primary flag, license number and state; all practice and mailing addresses; credential, sex, sole-proprietor flag; enumeration and last-updated dates; active/deactivated status; secondary identifiers (Medicaid, etc.); and FHIR/Direct endpoints. The 10-digit NPI format is validated before any API call. Reports partial success: well-formed NPIs with no registry record (deactivated or never enumerated) land in notFound, while NPIs whose lookup hit an upstream error (registry unavailable, timeout) land in errored — kept distinct from confirmed misses — rather than failing the whole call. Endpoint: https://npi-providers.caseyjhand.com/mcp
- npi_lookup_taxonomy (Npi Lookup Taxonomy) - Resolve and browse the NUCC Healthcare Provider Taxonomy — the specialty code set NPPES uses — fully offline (bundled). Mode `resolve` turns a plain-language specialty (e.g. "cardiologist", "heart doctor") into matching taxonomy codes and their canonical descriptions; mode `get` returns the full entry for an exact code; mode `browse` walks the hierarchy (grouping → classification → specialization), optionally filtered by grouping and by NPI section (Individual/NPI-1 vs Non-Individual/NPI-2). Grounding a plain-language specialty here before calling npi_search_providers ensures the correct taxonomy code is sent rather than returning nothing. Endpoint: https://npi-providers.caseyjhand.com/mcp

## Resources
Not captured

## Prompts
Not captured

## Metadata
- Owner: io.github.cyanheads
- Version: 0.1.7
- Runtime: Npm
- Transports: STDIO, HTTP
- License: Not captured
- Language: Not captured
- Stars: Not captured
- Updated: Jul 11, 2026
- Source: https://registry.modelcontextprotocol.io
