ASL Doctor Search
Server Details
Find US healthcare providers by name, specialty, location or NPI from the CMS NPPES registry.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 2 tools
The two tools are mostly distinct: doctor_npi_lookup requires an exact 10-digit NPI, while doctor_search accepts name, specialty, location, or radius criteria. There is some overlap because both return NPI registry records, but the input contract makes the right choice clear.
Both names use snake_case and share the doctor_ prefix, which provides a predictable namespace. The structures differ slightly (doctor_search vs. doctor_npi_lookup), but the convention remains readable and consistent overall.
Two tools is thin for a doctor-search server, though the pair covers exact lookup and broader search. It is borderline appropriate rather than clearly well-scoped.
The surface covers the core workflows: finding clinicians by criteria and retrieving a specific clinician by NPI. Minor gaps such as specialty listing, autocomplete, or pagination details are not essential for the stated search purpose.
Available Tools
2 toolsdoctor_npi_lookupLook up an NPIARead-onlyIdempotentInspect
Return the NPI registry record for one 10-digit National Provider Identifier: names, credentials, taxonomy, practice and mailing addresses, status.
| Name | Required | Description | Default |
|---|---|---|---|
| npi | Yes | The 10-digit NPI. | |
| language | No | Language for labels and notices (default en). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds a useful enumeration of the returned data, which matters since there is no output schema, but it says nothing about missing/invalid NPI behavior, rate limits, or external registry availability.
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; the resource is front-loaded and the returned fields follow immediately. Nothing is repeated unnecessarily and nothing could be removed without losing information.
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?
This is a simple two-parameter read tool with full schema coverage and complete annotations, so requirements are low. Listing the returned fields compensates for the absent output schema; only the sibling routing and error behavior are thin.
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%, with the npi pattern and the language enum already documented in the schema, so the baseline is 3. The description restates the 10-digit constraint but adds no meaning for the language parameter or for what happens when an NPI is unregistered.
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 gives a specific verb (return) and resource (NPI registry record) and enumerates the data returned: names, credentials, taxonomy, addresses, status. It is clearly a single-record exact-identifier lookup, but it never names or contrasts with its sibling doctor_search, so the distinction must be inferred.
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?
Usage is implied by 'for one 10-digit National Provider Identifier' — call this when you already have the exact NPI. There is no explicit statement about when to prefer doctor_search, no note that this requires an exact identifier, and no guidance on prerequisites or failure modes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
doctor_searchSearch healthcare providersBRead-onlyIdempotentInspect
Find US clinicians or healthcare organizations by name, specialty, city, state, ZIP code, or within a radius of a ZIP code. Returns NPI registry records.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| skip | No | Results to skip, for paging. | |
| type | No | Limit to individual clinicians or to organizations. | |
| limit | No | Results to return (default 10). | |
| state | No | Two-letter state code, for example CO. | |
| language | No | Language for labels and notices (default en). | |
| lastName | No | Last name of an individual provider. | |
| firstName | No | First name of an individual provider. | |
| originZip | No | Center ZIP code for a distance search. | |
| specialty | No | Specialty or taxonomy description, for example "Family Medicine" or "Cardiology". | |
| postalCode | No | ZIP code of the practice location. | |
| radiusMiles | No | Radius around originZip in miles (default 25). | |
| organization | No | Organization name (clinic, hospital, group, pharmacy). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, covering the safety profile. The description adds useful context by stating the return data source ('NPI registry records') and geographic scope ('US'), but it does not describe pagination behavior or result limits beyond what the schema provides.
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 sentences, front-loaded with the core purpose and a compact list of search dimensions. No redundant or filler wording, and the second sentence efficiently conveys the return type.
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 13-parameter search tool with no output schema, the description is adequate because the richly described input schema carries parameter meaning. However, it lacks guidance on sibling selection and does not mention result volume or pagination behavior, leaving some context incomplete.
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 high at 92%, so the schema already documents all parameters thoroughly, including enums and formats. The description restates the searchable fields but adds no syntax or format details beyond what the schema provides, 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 verb and resource ('Find US clinicians or healthcare organizations') and lists searchable attributes. It is clear what the tool does, but it does not differentiate from the sibling doctor_npi_lookup, which an agent would need to distinguish the two.
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?
There is no explicit guidance on when to use this tool versus alternatives, and the sibling doctor_npi_lookup is never mentioned. The list of searchable fields implies usage but does not provide rules for selection or exclusions.
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.
2 tool updates
- First observed
doctor_npi_lookup - First observed
doctor_search
Related MCP Connectors
Look up U.S. healthcare providers by NPI, name, specialty and ZIP radius from CMS NPPES data.
US health care providers by NPI, name or phone, with payments, Medicare, OIG and facility data.
Look up US healthcare providers and organisations by NPI.
Validate, look up and count US NPI providers from the public CMS registry; not affiliated with CMS.
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 gradedqualityAmaintenanceLook up US healthcare providers in the NPPES NPI registry and resolve NUCC specialty codes via MCP.480 npm1Apache 2.0
- AlicenseNot gradedqualityBmaintenanceEnables querying healthcare provider information from the CMS NPI Registry using a 10-digit National Provider Identifier (NPI).451 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.-
Glama MCP Gateway
Add one secure layer between your agents and this server.