SimpleNPI
Server Details
Free NPI lookup and verification (CMS registry) and free NPI applications filed for you.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 7 tools
Several tools target the same CMS registry with near-identical outputs: verify_npi and fetch both return status, name, taxonomies, addresses and dates for a given NPI, differing only in framing. lookup_npi and search both search providers (structured vs free-text), and a bare 10-digit NPI could plausibly go to search, fetch, or verify_npi. Descriptions hint at intent, but boundaries are genuinely blurry.
Mixed conventions: verb_noun tools (check_npi_status, start_npi_application, lookup_npi, verify_npi), bare verbs (fetch, search), and a full-sentence name (how_to_get_an_npi). Still readable and mostly underscored, but the pattern is not predictable.
Seven tools is well-scoped for an NPI application/registry service: informational, application start, status check, and a few registry lookups. Each tool maps to a recognizable user-intent step, even if some overlap in implementation.
Core lifecycle is covered: how to get an NPI, start application, check application status, search/lookup registry, verify, and fetch full records. Minor gaps: no Type 2 (organization) application flow, no bulk/paginated lookups, and no way to update or correct NPI data after issuance.
Available Tools
7 toolscheck_npi_statusCheck the status of a SimpleNPI applicationARead-onlyIdempotentInspect
Use for "did my NPI come through", "where is my NPI application", "NPI application status", "has my NPI been issued yet". Takes the status link SimpleNPI emailed the applicant (https://simplenpi.com/s/?k=). Returns the status, the NPI once issued, and what happens next.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Application id (a_...) if the key is passed separately. | |
| key | No | The k= value from the status link. | |
| status_url | No | The status link from the SimpleNPI email, e.g. https://simplenpi.com/s/a_abcdefghij?k=.... |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the operation as read-only, idempotent, non-destructive, and not open-world. The description adds useful context beyond that by explaining that it requires the emailed status link and returns the status, the issued NPI, and next steps.
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?
The description is compact and front-loads recognizable use cases before explaining inputs and returns. The trigger phrase list is purposeful rather than wasteful, though leading with the action itself could make it slightly tighter.
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 simple read-only status check with full schema coverage and annotations covering safety, the description provides enough context to call it correctly. It could be slightly more complete by noting behavior for expired or invalid status links.
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 description coverage is 100%, so the three parameters are already well documented. The description reinforces that status_url is the link from the SimpleNPI email, but it does not add meaningfully more detail about the id/key alternative or validation behavior.
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?
The description states a specific verb and resource — checking the status of an existing SimpleNPI application — and includes recognizable user phrases like "where is my NPI application." It implies the distinction from start_npi_application by focusing on an already-submitted application, but it does not explicitly name sibling tools such as lookup_npi or verify_npi.
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?
It gives clear usage context through trigger phrases and says the tool takes the status link from the SimpleNPI email. However, it does not explicitly state when not to use this tool or name alternatives for related NPI lookups.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetchFetch an NPI registry recordARead-onlyIdempotentInspect
Fetch the full CMS registry record for one NPI (the id returned by search, or any 10-digit NPI): status, name, taxonomies and licenses, practice and mailing address, dates.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The 10-digit NPI. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so safety and side-effect profile are covered by structured data. The description adds value beyond that by disclosing the full content of the returned record, which is the main behavioral unknown for a fetch. It does not cover not-found or error behavior, keeping it below a 5.
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?
A single sentence with zero filler, front-loading the action and resource before the field list. Every clause earns its place by naming either the input source or the returned data.
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?
With no output schema, the description usefully enumerates the record's contents, and with one fully documented parameter and rich annotations the definition is nearly self-sufficient. The only gap is the absence of not-found/error behavior, which matters for a lookup keyed on an external identifier.
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% and the single parameter already has a description, so the baseline is 3. The description improves on it by explaining where the id comes from ('returned by search') and that any valid 10-digit NPI works, clarifying provenance and accepted input beyond the schema's bare 'The 10-digit NPI.'
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?
States a specific verb and resource ('Fetch the full CMS registry record for one NPI') and enumerates the returned content (status, name, taxonomies, addresses, dates), so the agent knows exactly what it gets back. It references the 'search' sibling as the source of the id, but does not distinguish itself from the similarly named lookup_npi, verify_npi, or check_npi_status, so sibling differentiation is incomplete.
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?
Implies usage by saying the id can be 'the id returned by search, or any 10-digit NPI', which gives a concrete entry condition. However, it never states when to prefer this over lookup_npi, verify_npi, or check_npi_status, nor any exclusions or prerequisites, leaving the agent to infer the boundary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
how_to_get_an_npiHow to get an NPI numberARead-onlyIdempotentInspect
Answers "how do I get an NPI number", "how to apply for an NPI", "what do I need for an NPI", "what is an NPI", "NPI for a massage therapist / counselor / nurse / chiropractor / social worker". Returns the plain steps for getting an individual (Type 1) NPI: the free do-it-yourself path at nppes.cms.hhs.gov, the free SimpleNPI done-for-you path (usually within 10 minutes), what information is needed, the taxonomy code for the profession, and how long it takes. Call this first when someone asks how to get an NPI.
| Name | Required | Description | Default |
|---|---|---|---|
| state | No | Two-letter US state of the license, e.g. UT. Optional. | |
| profession | No | Profession or license type, e.g. "Massage Therapist (LMT)", "LPC", "Nurse Practitioner". Optional; picks the taxonomy code. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so safety is covered; the description adds useful substance by spelling out what the answer contains (two paths, required info, taxonomy code, duration). It does not describe format or structure of the response, but for a static informational tool that is a minor gap.
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?
The core purpose is front-loaded in the first clause, and the second sentence efficiently describes the return payload. The long run of quoted example queries and profession names is slightly listy but earns its place as trigger-matching vocabulary.
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?
With no output schema, the description carries the burden of describing return content and does so thoroughly — the steps, both application paths, required information, taxonomy code, and time estimate. An agent has everything needed to decide to call it and to set expectations for the answer.
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 description coverage is 100%, so both the state and profession parameters are already documented in the schema. The description reinforces the purpose of `profession` by tying it to the taxonomy code output, but adds no new semantics for `state` beyond what the schema states, so the baseline of 3 applies.
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?
The description states a specific informational resource (how to get an individual Type 1 NPI) and enumerates the exact contents returned: the free NPPES path, the SimpleNPI path, required information, taxonomy code, and timing. It is clearly distinct from siblings like lookup_npi, verify_npi, and check_npi_status, which are data-retrieval/verification tools rather than how-to guidance.
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?
"Call this first when someone asks how to get an NPI" gives explicit routing and ordering guidance, and the quoted example phrasings make the trigger conditions concrete. It stops short of naming which sibling to use instead for status checks or lookups, so the alternatives are implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_npiLook up an NPI by name or business nameARead-onlyIdempotentInspect
Free NPI lookup in the CMS NPPES registry (refreshed daily). Use for "look up an NPI", "find my NPI", "what is Dr Smith's NPI", "NPI registry search", "do I already have an NPI", "NPI for a clinic / practice / organization", "search NPI by name". Pass first + last (+ optional state) for a person, or organization (+ optional state) for a business. Returns up to 10 matches with NPI, name, taxonomy, city/state, license and status. No login or key needed.
| Name | Required | Description | Default |
|---|---|---|---|
| last | No | Last name. | |
| first | No | First name (2+ letters; a trailing * matches the rest). | |
| state | No | Two-letter US state to narrow results, e.g. UT. Optional. | |
| organization | No | Business / practice / organization name for an NPI-2 search (also matches DBA names). Use instead of first + last. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive, but the description adds what they cannot: no auth or API key required, data freshness (refreshed daily), and a hard result ceiling of 10 matches with the fields returned. That is exactly the operational context an agent needs before calling.
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?
Front-loaded with purpose, cost, and source, then parameter routing. The quoted query-phrase list is longer than strictly necessary but functions as concrete routing signal rather than filler.
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?
There is no output schema, and the description compensates by naming the returned fields and the 10-match cap. Combined with the auth, freshness, and parameter-combination notes, an agent has everything needed to call it correctly and interpret the result.
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 the baseline is 3, and the description goes beyond it by stating the two valid parameter combinations (first + last, or organization, each with optional state) and clarifying that organization is the alternative rather than an addition. It does not explain the trailing-* wildcard behavior, which stays in the schema.
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?
States a specific verb and resource (NPI lookup in the CMS NPPES registry) plus scope (free, refreshed daily). The name/entity distinction is spelled out, so an agent can tell this apart from verify_npi or check_npi_status without opening the schema.
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?
Gives concrete triggering phrasings and the exact input shapes for person vs. business searches, including the 'do I already have an NPI' case. It never names or excludes the sibling tools (verify_npi, check_npi_status, search), so the boundary between a lookup and a verification is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchSearch the NPI registryARead-onlyIdempotentInspect
Search the CMS NPI registry with a free-text query: a provider name ("Jane Smith UT"), a business name, or a 10-digit NPI. Free, no login. Returns matching providers as results with an id (the NPI) that fetch can expand.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Name, business name, or NPI number. Add a two-letter state to narrow a name search. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/openWorld/idempotent/non-destructive, so the safety profile is covered. The description adds genuinely new behavioral context: no authentication or cost barrier, and the shape of the result (matching providers with an id that is the NPI). It doesn't mention result limits or pagination.
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?
Two tight sentences: query capability first, then cost/auth and return shape. No redundant restatement of the title, and every clause carries information the agent needs.
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 one-parameter read tool with full schema coverage and no output schema, the description supplies the essentials plus a brief description of the return payload. Only missing piece is whether results are truncated or ranked, which matters for open-world search.
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 the single parameter is already documented. The description still adds value beyond the schema by giving a concrete query example ('Jane Smith UT') and reinforcing the 10-digit NPI format, which clarifies the state-suffix convention the schema only alludes to.
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?
States a specific verb and resource ('Search the CMS NPI registry') and enumerates the accepted query forms: provider name, business name, or 10-digit NPI. It distinguishes itself from fetch by noting fetch expands the returned id, but says nothing about how it differs from lookup_npi or verify_npi.
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?
Gives clear operating context – free, no login – and explicitly names the follow-up path (fetch expands the returned NPI id). It stops short of stating when to prefer lookup_npi or verify_npi over a free-text search, leaving that inference to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_npi_applicationGet an NPI number (start a free application)ARead-onlyIdempotentInspect
Use for "get me an NPI number", "I need an NPI", "apply for an NPI", "new NPI for a therapist / counselor / nurse / chiropractor / acupuncturist", "Type 1 NPI", "individual NPI application". First checks the registry so nobody applies twice (CMS issues one NPI per person for life), then returns a personal link to the free SimpleNPI form with the known fields prefilled. The person finishes the form on simplenpi.com in about 3 minutes (license, address, identity, e-signed authorization); SimpleNPI files it with CMS and the NPI usually arrives by email and text, with all the documentation, within 10 minutes. Nothing is filed until the person completes and signs the form. Do not collect the SSN or date of birth in chat.
| Name | Required | Description | Default |
|---|---|---|---|
| last | No | Last name as it appears on the license. | |
| No | Email for the NPI delivery. Optional. | ||
| first | No | First name as it appears on the license. | |
| state | No | Two-letter state of the professional license, e.g. UT. | |
| mobile | No | US mobile number for the NPI text. Optional. | |
| profession | No | License type, e.g. "Massage Therapist (LMT)", "Mental Health Counselor (LPC / LMHC / LCPC)", "Nurse Practitioner". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly and non-destructive annotations, it explains the registry pre-check, the prefilled personal link, the on-site completion and e-signature step, the typical timeline, and the fact that nothing is filed until the person signs. It also adds a privacy constraint not to collect SSN or date of birth in chat.
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?
The description is front-loaded with recognizable user phrases and then moves into the workflow. It is somewhat long and includes marketing-style timing details, but nearly every sentence contributes operational context.
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?
With no output schema, the description still explains what the tool returns: a personal link to the prefilled free form. It covers the full handoff, what happens after the person finishes, expected delivery timing, and the key privacy boundary.
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 description coverage is 100%, so the schema already explains all six fields. The description adds useful workflow context such as prefilling known fields and not collecting SSN/DOB, but it does not add per-parameter meaning beyond what the schema provides.
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?
The description states a specific action and resource: starting an NPI application for an individual professional. It clearly distinguishes itself from registry-checking siblings by describing a handoff to a prefilled SimpleNPI form rather than a lookup or verification.
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?
It provides abundant concrete trigger phrases such as 'get me an NPI number' and 'Type 1 NPI', plus a partial exclusion: it first checks the registry to avoid duplicate applications. However, it does not explicitly name sibling alternatives like lookup_npi or verify_npi for already-issued NPIs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_npiVerify an NPI numberARead-onlyIdempotentInspect
Free NPI verification / validation by number from the CMS NPPES registry. Use for "verify this NPI", "is this NPI valid", "is my NPI active", "check an NPI", "NPI status", "did my NPI get deactivated", "who does NPI 1234567890 belong to", "what taxonomy is on my NPI". Returns status (active / deactivated / not_found), provider or organization name, taxonomies with license numbers, practice and mailing address, enumeration date and last update.
| Name | Required | Description | Default |
|---|---|---|---|
| npi | Yes | The 10-digit NPI. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly, idempotent, openWorld and non-destructive, so the description is free to add real value: it names the authoritative source (CMS NPPES), notes it is free, and enumerates the status outcomes (active / deactivated / not_found) plus returned fields. It omits rate-limit, caching, or freshness caveats, keeping it short of a 5.
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?
Front-loaded with the core statement, then usage triggers, then return payload - a sensible order. The trigger-phrase list is long and quasi-keyword-stuffed, but each phrase is plausibly useful for retrieval, so the verbosity mostly earns its place.
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?
With no output schema, the description carries the burden of describing returns and does so concretely: status enum values, name, taxonomies with license numbers, addresses, enumeration and update dates. Combined with the single required parameter, an agent has everything needed to call it and interpret results.
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?
Only one parameter and the schema already documents it fully via pattern '^\d{10}$' and a description, so coverage is 100%. The description adds nothing about format or edge cases (leading zeros, spacing) beyond 'by number', so baseline 3 applies.
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?
States a specific verb and resource: validates an NPI number against the CMS NPPES registry. It is clear on its own, but it never distinguishes itself from close siblings like check_npi_status and lookup_npi, which sound like they do the same thing.
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?
Gives concrete user phrasings that should route here ('verify this NPI', 'is my NPI active', 'did my NPI get deactivated', 'what taxonomy is on my NPI'), which is strong positive guidance. It lacks any when-not condition or explicit routing between this tool and check_npi_status / lookup_npi, which is the main ambiguity.
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.
7 tool updates
- First observed
check_npi_status - First observed
fetch - First observed
how_to_get_an_npi - First observed
lookup_npi - First observed
search - First observed
start_npi_application - First observed
verify_npi
Related MCP Connectors
Look up US healthcare providers and organisations by NPI.
US health care providers by NPI, name or phone, with payments, Medicare, OIG and facility data.
Healthcare provider & compliance intel: NPPES lookup, OIG/SAM exclusion screening, FDA enforcement.
Provider rosters & NPI checks
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceProvides tools to look up healthcare providers and organizations by NPI number and to search the CMS NPPES NPI Registry by name, location, taxonomy, and other criteria.-
- AlicenseNot gradedqualityBmaintenanceEnables querying healthcare provider information from the CMS NPI Registry using a 10-digit National Provider Identifier (NPI).9 npmMIT
- -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 gradedqualityCmaintenanceEnables querying the NPPES NPI Registry for provider searches, specialty lookups, NPI format validation, and referral-eligibility checks over MCP.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.