npi-providers-mcp-server
io.github.cyanheads/npi-providers-mcp-serverVersion 0.5.0Search NPPES providers and resolve NUCC specialty codes via MCP over STDIO or Streamable HTTP.
Status
Responds573 msAnswered our handshake without sign-in.- Last checked
- Nov 14, 2026, 14:48 UTC
- Latency
- 573 ms
- Remotes responding
- 1 of 1
- Sign-in
- No sign-in
- Hosting
- Hosted outside the EU (detected)
- Registry data as of
- Nov 14, 2026, 22:14 UTC
Data from the official MCP Registry, checked by run.zero. How we check
Connect
Streamable HTTP
https://npi-providers.caseyjhand.com/mcpResponds573 msNo sign-in
Claude Code
claude mcp add --transport http npi-providers-mcp-server https://npi-providers.caseyjhand.com/mcpClaude Desktop and claude.ai
Settings > Connectors > Add custom connector
Name: npi-providers-mcp-server
Remote MCP server URL: https://npi-providers.caseyjhand.com/mcpCursor
{
"mcpServers": {
"npi-providers-mcp-server": {
"url": "https://npi-providers.caseyjhand.com/mcp"
}
}
}VS Code
code --add-mcp '{"name":"npi-providers-mcp-server","type":"http","url":"https://npi-providers.caseyjhand.com/mcp"}'Streamable HTTP
npm: @cyanheads/npi-providers-mcp-server 0.5.0Package only
npm (npx)
claude mcp add npi-providers-mcp-server -- npx -y @cyanheads/npi-providers-mcp-server@0.5.0Streamable HTTP
npm: @cyanheads/npi-providers-mcp-server 0.5.0Package only
npm (npx)
claude mcp add npi-providers-mcp-server -- npx -y @cyanheads/npi-providers-mcp-server@0.5.0Built your own server? run.zero hosts MCP servers on European infrastructure.
Tools
3 tools
Read-only | Idempotent | Open world | ||
|---|---|---|---|---|
npi_get_providerFetch NPPES records from up to 100 raw NPI entries per call. Deduplicate in input order, validate check digits, and look up the first 10 distinct valid NPIs; remaining valid NPIs are listed in unprocessed and are never looked up. Decodes an NPI from a claim, prescription, or another health data source into the provider's professional-practice profile: every taxonomy with its primary flag, license number and state; practice addresses with phone and fax (only LOCATION rows are kept for individual providers, so their mailing address is withheld; organizations also carry their mailing address); credential, sex, sole-proprietor flag; enumeration and last-updated dates; active/deactivated status; secondary identifiers (Medicaid, etc.); and FHIR/Direct endpoints. Each NPI must be 10 digits with a valid check digit (its last digit); every NPI failing the check digit lands in invalid and is never looked up. Reports partial success: valid 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. | Not declared | Yes | Yes | Yes |
npi_lookup_taxonomyResolve 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 active taxonomy entries, excluding codes NUCC marks inactive; mode `get` returns the full entry for an exact code, including NUCC's Notes; mode `browse` walks the hierarchy (grouping → classification → specialization), optionally filtered by grouping and NUCC section. Individual includes Group codes; section does not determine NPI entity type, which comes from NPPES enumeration_type. Every entry carries its status, and an inactive code names its replacement when NUCC gives one; `get` and `browse` still return inactive codes. A resolved entry's specialization, or its classification when specialization is absent, maps directly to npi_search_providers.taxonomy_description. | Not declared | Yes | Yes | No |
npi_search_providersSearch the NPPES NPI registry for individual practitioners and healthcare organizations by name, organization name, location, provider type, and specialty. Plain-language specialty terms (e.g. "cardiologist", "pediatric cardiologist") resolve through the bundled NUCC taxonomy; the top match's specialization or classification becomes taxonomy_description, and all resolved candidates are returned in metadata. Location belongs in the dedicated city/state/postal_code inputs, not inside specialty. Each provider row includes the NPI, name, primary specialty, city/state/ZIP, type, and active/deactivated status; the NPI is the input for npi_get_provider when the full record is needed. At least one search criterion is required, and the registry rejects state-only searches. When city/state/postal_code are given, only practice addresses are searched, never mailing addresses: a provider is returned only when its primary practice location or one of its other practice locations matches all of them. A provider kept on another practice location names it in matchedLocation. Name searches also match former and other names, sorted by current name; such a row names the matching name in matchedOtherName. The registry never reports a true match total, and one search reaches only its first 1200 matches: a full page names the next in nextPage, and the terminal window (skip 1000, limit 200) returns continuationPostalCodes, postal_code prefixes that continue the search. | Not declared | Yes | Yes | Yes |
Details
- Registry status
- Active
- Published
- Oct 26, 2026
- Updated
- Oct 26, 2026
- Website
- Not given
- Categories (suggested)
- Search and webSuggested categories are assigned automatically from the registry text and may be wrong. Verified operators can correct them.
- GDPR
- Not declared