Skip to main content
Glama

npi-providers-mcp-server

Server Details

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

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.6/5 across 3 of 3 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool has a clearly distinct purpose: fetching by NPI, browsing taxonomy codes, and searching by criteria. No overlap in functionality.

Naming Consistency5/5

All tool names follow a consistent 'npi_verb_noun' pattern: npi_get_provider, npi_lookup_taxonomy, npi_search_providers.

Tool Count5/5

Three tools are appropriate for the focused domain of NPI provider lookup, covering the core operations without unnecessary clutter.

Completeness5/5

The set covers the full workflow: taxonomy resolution for precise searching, search by multiple criteria, and retrieval of full provider records. No obvious gaps.

Available Tools

3 tools
npi_get_providerNpi Get ProviderA
Read-onlyIdempotent
Inspect

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 rather than failing the whole call.

ParametersJSON Schema
NameRequiredDescriptionDefault
npisYesA single 10-digit NPI, or an array of up to 10. Each is validated as exactly 10 digits before any API call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
foundYesFully decoded records for NPIs that resolved.
noticeNoGuidance when some or all NPIs returned nothing.
notFoundYesNPIs that were well-formed but returned no record (deactivated or never enumerated).
totalCountYesNumber of provider records that resolved from the requested NPIs.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds significant behavioral details beyond annotations: it validates NPI format before API calls, reports partial success with notFound for missing records (deactivated or never enumerated), and lists included fields. All annotations are consistent (readOnly, openWorld, idempotent), and no contradictions exist.

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?

The description is well-structured and front-loaded: first sentence states the core ability and limit, then details the returned fields, validation, and error behavior. Every sentence adds value, and there is no redundant or excessive information.

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?

Given the tool's complexity (fetching full provider records with many fields), the description is thorough. It covers input constraints, output fields summarization, validation, and partial success behavior. With an output schema present, the description provides sufficient contextual completeness for an agent to use the tool correctly.

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 coverage is 100%, so the schema fully describes the parameter format and constraints. The description reinforces the validation but does not add new semantic meaning beyond what the schema provides. Baseline of 3 is appropriate.

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 clearly states the tool's purpose: 'Fetch the complete NPPES record for one or more NPI numbers (up to 10 per call).' It specifies the action (fetch), resource (NPPES record), and constraints (up to 10). This distinguishes it from siblings like npi_lookup_taxonomy and npi_search_providers, which focus on different tasks.

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?

The description provides context for use, such as 'Decodes an NPI from a claim, prescription, or another health data source,' implying when to use the tool. However, it does not explicitly exclude alternatives or provide when-not-to-use guidance, but the sibling tools are sufficiently different to infer appropriate scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

npi_lookup_taxonomyNpi Lookup TaxonomyA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeNoFor mode "get": the exact NUCC taxonomy code (e.g. "207RC0000X").
modeYesresolve: plain term → codes. get: exact code → entry. browse: walk the hierarchy.
limitNoMaximum entries to return for resolve/browse (1–50). Ignored for get.
queryNoFor mode "resolve": the plain-language specialty term to resolve (e.g. "pediatric cardiologist").
sectionNoFor mode "browse": filter by NPI section — Individual (NPI-1) or Non-Individual (NPI-2).
groupingNoFor mode "browse": filter to a top-level grouping by case-insensitive substring (e.g. "physicians").

Output Schema

ParametersJSON Schema
NameRequiredDescription
capNoThe limit that was applied.
shownNoNumber of entries returned.
noticeNoGuidance when nothing matched — suggests broadening or browsing the hierarchy.
matchesYesMatching taxonomy entries. For mode "get" this is the single requested entry; for "resolve"/"browse" it is the ranked/sorted matches up to limit.
truncatedNoTrue when the list was capped at `limit` (more entries may match).
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds value by noting the tool is fully offline/bundled, describes hierarchical browsing, and outlines mode behavior. No contradictions. Some details like error handling are absent but not critical.

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 a single paragraph that effectively front-loads the main purpose. It covers all modes and usage hints without excessive verbosity. Could be slightly more concise, but structure is clear.

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?

Given the tool's complexity (three modes, hierarchy, sibling relationship), the description is highly complete. It covers all modes, parameter constraints, offline nature, and integration with npi_search_providers. Output schema exists to handle return values, so no gap there.

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 description coverage is 100%, so baseline is 3. The description adds meaning by explaining how parameters interact with modes (e.g., query for resolve, code for get, grouping and section for browse). It also notes that grouping is case-insensitive substring matching, going beyond 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?

The description clearly states it resolves and browses the NUCC Healthcare Provider Taxonomy, and distinguishes three modes (resolve, get, browse). It also relates to sibling tool npi_search_providers, ensuring the agent knows the tool's role. No ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly tells when to use each mode (resolve for plain term, get for exact code, browse for hierarchy). It advises grounding via resolve before calling npi_search_providers, providing clear usage context. Alternatives are implied through mode selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

npi_search_providersNpi Search ProvidersA
Read-onlyIdempotent
Inspect

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", "endocrinologist in Seattle") 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. Returns a compact row per provider — NPI, name, primary specialty, city/state, 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 never reports a true match total and only the first 1200 matches are reachable, so broad queries are capped — narrow with more filters.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNoPractice-location city.
skipNoResults to skip for pagination (0–1000). Only the first 1200 matches are reachable; skip beyond 1000 silently returns the same window — narrow the query instead of paging further.
limitNoMaximum providers to return (1–200; the registry caps at 200).
stateNo2-letter state code (e.g. "WA"). The registry rejects state-only searches — pair it with another criterion.
last_nameNoIndividual last name. Trailing wildcard "*" allowed with at least 2 leading characters.
specialtyNoPlain-language specialty (e.g. "pediatric cardiologist"), resolved through the bundled NUCC taxonomy to exact descriptions before searching. The matched taxonomy is echoed in the result. Mutually exclusive with taxonomy_description.
first_nameNoIndividual first name. Trailing wildcard "*" allowed with at least 2 leading characters.
name_searchNoConvenience shortcut: a single person's name, split into first/last heuristically. For precise control use first_name/last_name.
postal_codeNoPractice-location postal/ZIP code (5 or 9 digits).
provider_typeNoRestrict to individuals (NPI-1) or organizations (NPI-2). Omit to search both.
organization_nameNoOrganization name (implies provider_type organization). Trailing wildcard "*" allowed with at least 2 leading characters.
taxonomy_descriptionNoExact NUCC taxonomy description for direct passthrough — use when the taxonomy description is already known. Mutually exclusive with specialty.

Output Schema

ParametersJSON Schema
NameRequiredDescription
capNoThe limit that was applied.
shownNoNumber of providers returned.
noticeNoGuidance — pagination ceiling, page-size-not-total caveat, or how to broaden an empty result.
providersYesMatching provider rows (up to limit).
truncatedNoTrue when the returned page hit the limit — more may match.
resolvedTaxonomiesNoThe taxonomy candidates the specialty term resolved to; the first was sent to the registry. Re-run with taxonomy_description to pick a different one.
appliedTaxonomyDescriptionNoThe single taxonomy_description sent to the registry (from specialty resolution or the raw escape hatch).
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations (readOnlyHint, openWorldHint, idempotentHint), description adds key behavioral traits: specialty resolution via NUCC taxonomy, return format, pagination limitations, and the requirement of multiple filters.

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?

Description is detailed but well-structured and front-loaded. Could be slightly more concise, but every sentence adds essential information.

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?

Given the complexity (12 parameters, pagination, specialty resolution) and presence of output schema, the description is fully complete, covering all necessary usage and behavioral details.

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 covers all 12 parameters with descriptions. Description adds value by explaining specialty resolution process, name_search heuristic, wildcard rules, and mutual exclusivity of specialty and taxonomy_description.

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 clearly states it searches the NPPES NPI registry for individuals and organizations by multiple criteria. It distinguishes itself from sibling tools (npi_get_provider, npi_lookup_taxonomy) by specifying that full records are obtained via npi_get_provider.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit guidance on when to use this tool vs alternatives, including when to call npi_get_provider for full records. Also provides constraints: at least one criterion required, state-only searches rejected, and broad queries are capped.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources