NPILayer MCP Server

NPILayer runs a remote MCP (Model Context Protocol) server, so an AI agent like ChatGPT or Claude can look up and search U.S. healthcare providers directly in conversation — no copy-pasting API responses, no custom integration code. Connect it once and ask things like "find cardiologists near 46220" or "look up NPI 1003000126."

Server URL
https://npilayer.com/mcp
Streamable HTTP transport (JSON-RPC 2.0, one request per message — no SSE stream).

Connect ChatGPT

  1. Open connector settings In ChatGPT, go to Settings → Connectors and choose to add a custom connector.
  2. Paste the server URL Enter https://npilayer.com/mcp. ChatGPT discovers everything else automatically — it reads NPILayer's OAuth metadata, registers itself as a client, and redirects you to sign in.
  3. Sign in and approve Log into your NPILayer account (or create one — the free plan needs no credit card) and approve the connection on the consent screen.

ChatGPT now authenticates every call with an OAuth access token tied to your NPILayer account, and lookup_npi/search_providers/providers_near all appear as tools it can call.

Connect Claude

Claude supports two ways in, depending on which client you use.

claude.ai or Claude Desktop (OAuth)

Open Settings → Connectors, add a custom connector, and paste https://npilayer.com/mcp. The flow is identical to ChatGPT's above: Claude registers itself and redirects you to sign in and approve.

Claude Code (Bearer API key)

For a CLI/agent context where a static header is easier than a browser OAuth flow, use your NPILayer API key directly:

claude mcp add npilayer --transport http https://npilayer.com/mcp \
  --header "Authorization: Bearer YOUR_API_KEY"

Get a key from your dashboard the same way you would for the REST API — see Authentication.

Available tools

ToolAuthDescription
lookup_npi Optional Look up a single provider by 10-digit NPI.
search_providers Optional Search providers by name, location, specialty, or taxonomy code.
providers_near Required Find providers within a radius of a ZIP code or coordinates.

These wrap the exact same services as the REST API, so results and field names match — see Providers for the full field reference. Parameters specific to each tool:

lookup_npi

ParameterTypeDescription
npi requiredstring10-digit NPI number.

search_providers

ParameterTypeDescription
name, first_name, last_name, organizationstringName matching.
entity_typestringindividual or organization.
city, state, zipstringLocation filters, matched against the provider's primary practice address.
taxonomystringExact NUCC taxonomy code, e.g. 207RC0000X.
specialtystringPlain-language specialty, e.g. cardiology.
limit, pageintegerPagination. limit defaults to 25, maximum 100.

providers_near

ParameterTypeDescription
zip required*string5-digit ZIP code to search around.
lat, lng required*numberCoordinates, as an alternative to zip.
radiusnumberSearch radius in miles. Default 25.
entity_typestringindividual or organization — exclude group practices from, say, a "find a cardiologist" search.
taxonomy, specialtystringSame as search_providers.
limit, pageintegerPagination.

* Provide either zip or both lat and lng.

Example

A tools/call request for search_providers:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "search_providers",
    "arguments": {
      "zip": "49684",
      "taxonomy": "207RC0000X",
      "entity_type": "individual",
      "limit": 10
    }
  }
}
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "structuredContent": {
      "data": [
        {
          "npi": "1003000126",
          "entity_type": "individual",
          "name": "Jane Smith, MD",
          "specialty": "Cardiovascular Disease Physician",
          "city": "Traverse City",
          "state": "MI",
          "status": "active"
        }
      ],
      "meta": { "count": 1, "has_more": false, "page": 1, "limit": 10 }
    },
    "isError": false
  }
}

Authentication and limits

Three ways to call the server, depending on the tool:

CredentialApplies toLimit
None lookup_npi, search_providers 30 calls/hour per IP address.
Bearer API key All three tools Your plan's monthly quota and burst limit — see pricing.
OAuth access token All three tools Same as a Bearer key — an OAuth connection is tied to one NPILayer account and counts against that account's plan.

providers_near — the geographic search — always requires a credential, either kind. The other two tools allow a limited number of anonymous calls so a new ChatGPT or Claude user can try the server before connecting an account.

Provider information is based on publicly available NPPES data. An NPI does not indicate licensure, credentialing, network participation, or current practice status.