Healthcare Provider NPI Enricher MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Healthcare Provider NPI Enricher MCP ServerLook up NPI 1003000126 and show taxonomy, license, and practice phone."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Healthcare Provider NPI Enricher MCP Server
An MCP server for the Mamba Labs Healthcare Provider NPI Enricher actor on Apify. Turn NPIs or provider names into NPI Registry records.
What's Inside
Related MCP server: npi-providers-mcp-server
What it does
Give NPIs, individual names, organization names, or a taxonomy with a state. The actor reads the official US NPI Registry and returns one row per provider with taxonomy, license, practice address and phone, other identifiers, and organization official. It returns only what the registry publishes. An invalid NPI, a lookup with no match, and a summary row are free.
All of the work runs on Apify. This package is a thin client that starts the actor run, waits for it, and hands back the dataset rows.
Quick start
You need Node.js 18 or newer and an Apify account with an API token.
Add this to your Claude Desktop config (claude_desktop_config.json), Cursor, or any MCP client:
{
"mcpServers": {
"mamba-healthcare-provider-npi-enricher": {
"command": "npx",
"args": [
"-y",
"@mambalabsdev/mcp-healthcare-provider-npi-enricher"
],
"env": {
"APIFY_TOKEN": "your-apify-token"
}
}
}
}Restart the client. The enrich_healthcare_providers_npi tool appears.
Prerequisites
Node.js 18 or newer.
An Apify API token from console.apify.com/account/integrations, set as
APIFY_TOKEN. The server lists its tool without a token; a call needs one.
Example prompts
"Look up NPI 1003000126."
"Find cardiovascular disease specialists in Boston in the NPI Registry."
"Enrich these provider names in California with taxonomy and practice phone."
Tool
enrich_healthcare_providers_npi. One tool. Example arguments:
{
"npis": [
"1003000126"
],
"organization_names": [
"mayo clinic"
],
"state": "MN",
"max_results_per_lookup": 5
}Inputs
Every buyer facing input of the actor. Omitted inputs take the actor's own defaults.
Input | Type | Required | Description |
| array | no | 10 digit NPIs. Each returns its record. An invalid NPI or one with no record is a free row. |
| array | no | People, as Jane Doe, Doe, Jane, or Dr. Jane Doe MD. The registry also matches common first name aliases. A trailing * after 2 or more letters is a wildcard. Add state to narrow common names. |
| array | no | Organizations. The registry matches whole words, so add a trailing , such as kaiser, to widen the match. |
| string | no | Filter or search by the registry's taxonomy wording, such as cardiovascular disease, or cardio* as a wildcard. Cardiology alone matches only Pharmacist, Cardiology. Applies to names and to the search. Does not apply to NPIs. |
| string | no | Two letter state code. Applies to names and to the search. The registry refuses state alone, so give it with a name, taxonomy, city, or postal code. |
| string | no | City filter. Applies to names and to the search. |
| string | no | 5 or 9 digit postal code, with a trailing * after 2 or more digits as a wildcard. |
| string | no | For the taxonomy, city, or postal code search: both (default), individual, or organization. |
| number | no | Provider rows per name or search, from 1 to 1200. Default 25. The registry serves at most 1200 records per search. |
| string | no | Optional. The run stops before a charge that would pass this amount. Summary rows are always returned. |
Pricing
Pay per event on Apify, billed to your Apify account. Prices in USD.
Event | Free plan | Bronze | Silver | Gold |
| $0.002 | $0.0019 | $0.0018 | $0.0017 |
| $0.002 | $0.002 | $0.002 | $0.002 |
Lookup summaries, NPIs not found, invalid NPIs, and refused input are free. Mamba Labs pays the platform costs of the run. Mamba Labs pays the platform costs of the run, Apify proxy traffic included.
Full actor documentation
apify.com/mambalabs/healthcare-provider-npi-enricher
License
MIT. See LICENSE.
Available Tools
1 toolenrich_healthcare_providers_npiEnrich healthcare providers from the NPI RegistryARead-onlyIdempotent
Give NPIs, individual names, organization names, or a taxonomy with a state. Returns one row per provider from the official US NPI Registry with taxonomy, license, practice address and phone, and organization official. Invalid and unmatched lookups are free. Pay per event on Apify: 0.002 USD per provider row.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | City filter. Applies to names and to the search. | |
| npis | No | 10 digit NPIs. Each returns its record. An invalid NPI or one with no record is a free row. | |
| state | No | Two letter state code. Applies to names and to the search. The registry refuses state alone, so give it with a name, taxonomy, city, or postal code. | |
| taxonomy | No | Filter or search by the registry's taxonomy wording, such as cardiovascular disease, or cardio* as a wildcard. Cardiology alone matches only Pharmacist, Cardiology. Applies to names and to the search. Does not apply to NPIs. | |
| postal_code | No | 5 or 9 digit postal code, with a trailing * after 2 or more digits as a wildcard. | |
| provider_type | No | For the taxonomy, city, or postal code search: both (default), individual, or organization. | |
| max_charge_usd | No | Optional. The run stops before a charge that would pass this amount. Summary rows are always returned. | |
| individual_names | No | People, as Jane Doe, Doe, Jane, or Dr. Jane Doe MD. The registry also matches common first name aliases. A trailing * after 2 or more letters is a wildcard. Add state to narrow common names. | |
| organization_names | No | Organizations. The registry matches whole words, so add a trailing *, such as kaiser*, to widen the match. | |
| max_results_per_lookup | No | Provider rows per name or search, from 1 to 1200. Default 25. The registry serves at most 1200 records per search. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, open-world, non-destructive behavior, so the bar is lower. The description adds real value beyond them: one row per provider, free invalid/unmatched lookups, and Apify's 0.002 USD per-row charge. It omits rate limits and result ordering, but the cost and outcome semantics are meaningful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences: inputs, return shape, then billing/free-lookup policy, with inputs front-loaded. Nothing is redundant. The pricing sentence packs two distinct facts (free failures, per-row charge) into one tight line.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter, zero-required, open-world enrichment tool with no output schema, it covers output fields and billing, which is important. It does not explain how input modes combine (e.g., NPIs plus names, or taxonomy with names), max_results defaults, or whether all filters can be mixed, leaving key call-shaping behavior undocumented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3; the description reinforces the input modes and mentions state pairing with taxonomy. Per-parameter nuances (wildcards, city/state applicability, provider_type default, NPI exclusivity) remain in the schema, so the description adds framing rather than new detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb and resource: enriches healthcare providers from the official US NPI Registry, and it enumerates accepted input modes (NPIs, individual names, organization names, taxonomy with state) plus returned fields (taxonomy, license, practice address, phone, organization official). There are no siblings to differentiate from, but the scope is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Input modes are listed, implying how to use it, but the description never says when to prefer exact NPI lookup versus name/taxonomy search, nor when not to use it. The 'registry refuses state alone' constraint lives only in the schema, so an agent reading the description alone could mis-call the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v0.1.0- First observed
enrich_healthcare_providers_npi
TDQS
Scored across 1 tool
There is only one tool, so there is no possibility of misselection between competing tools. Its purpose (NPI provider lookup/enrichment) is stated clearly and unambiguously.
The single name enrich_healthcare_providers_npi follows a clear snake_case verb_noun convention that is descriptive and readable. With only one tool there is no pattern to verify consistency against, which keeps it just short of a perfect score.
A single tool is thin, but the server's scope is deliberately narrow (one enrichment lookup against the NPI Registry), so it is defensible. Still, agents needing batch processing or different lookup modes have no alternative entry point.
The tool accepts the main lookup keys (NPI, individual name, organization name, taxonomy + state) and returns a rich provider record, covering the core enrichment workflow. Minor gaps exist around explicit bulk/batch handling, pagination limits, and output shaping options.
Maintenance
Related MCP Connectors
Bulk phone validation for an Apify dataset, CSV/Excel/JSON file or Google Sheet
Returns rows of any Apify dataset, CSV/Excel/JSON file URL or Google Sheet that pass filter...
Find Actors in the Scrape.ly Store, run them, and read their datasets, key-value stores and logs.
64 public Apify Actors for public-record, jobs, lead, SEO and social data, as MCP tools.
Related MCP Servers
- -licenseNot gradedqualityNot gradedmaintenanceEnables interaction with the CMS NPPES NPI Registry to search, lookup, and validate National Provider Identifier records. It features offline-capable search using a local SQLite database that automatically updates with the latest provider data.-
- AlicenseNot gradedqualityBmaintenanceLook up US healthcare providers in the NPPES NPI registry and resolve NUCC specialty codes via MCP.139 npm1Apache 2.0
- AlicenseAqualityDmaintenanceSearch official US government data from any MCP client: building permits from 10 city open-data portals, federal contract opportunities from SAM.gov with contracting-officer contacts, and the CMS NPI healthcare-provider registry. Open-source TypeScript server; data delivered via Apify's pay-per-result actors using your own Apify token.3MIT
- AlicenseNot gradedqualityCmaintenanceEnables querying healthcare provider information from the CMS NPI Registry using a 10-digit National Provider Identifier (NPI).451 npmMIT