Skip to main content
Glama

SimpleNPI

Server Details

Free NPI lookup and verification (CMS registry) and free NPI applications filed for you.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL

TDQS

A3.9/5.0

Scored across 7 tools

Disambiguation2/5

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.

Naming Consistency3/5

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.

Tool Count5/5

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.

Completeness4/5

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 tools
check_npi_statusCheck the status of a SimpleNPI applicationA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
idNoApplication id (a_...) if the key is passed separately.
keyNoThe k= value from the status link.
status_urlNoThe status link from the SimpleNPI email, e.g. https://simplenpi.com/s/a_abcdefghij?k=....

TDQS

A3.9/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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 recordA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
idYesThe 10-digit NPI.

TDQS

A3.9/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 numberA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
stateNoTwo-letter US state of the license, e.g. UT. Optional.
professionNoProfession or license type, e.g. "Massage Therapist (LMT)", "LPC", "Nurse Practitioner". Optional; picks the taxonomy code.

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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 nameA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
lastNoLast name.
firstNoFirst name (2+ letters; a trailing * matches the rest).
stateNoTwo-letter US state to narrow results, e.g. UT. Optional.
organizationNoBusiness / practice / organization name for an NPI-2 search (also matches DBA names). Use instead of first + last.

TDQS

A4.6/5.0
Behavior5/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

start_npi_applicationGet an NPI number (start a free application)A
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
lastNoLast name as it appears on the license.
emailNoEmail for the NPI delivery. Optional.
firstNoFirst name as it appears on the license.
stateNoTwo-letter state of the professional license, e.g. UT.
mobileNoUS mobile number for the NPI text. Optional.
professionNoLicense type, e.g. "Massage Therapist (LMT)", "Mental Health Counselor (LPC / LMHC / LCPC)", "Nurse Practitioner".

TDQS

A4.4/5.0
Behavior5/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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 numberA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
npiYesThe 10-digit NPI.

TDQS

A4/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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.

  1. 7 tool updates
    • First observedcheck_npi_status
    • First observedfetch
    • First observedhow_to_get_an_npi
    • First observedlookup_npi
    • First observedsearch
    • First observedstart_npi_application
    • First observedverify_npi

Related MCP Connectors

Related MCP Servers

  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables 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.
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables querying the NPPES NPI Registry for provider searches, specialty lookups, NPI format validation, and referral-eligibility checks over MCP.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources