Ask your assistant to get you an NPI

SimpleNPI runs one remote MCP (Model Context Protocol) server that any assistant can connect to. Once connected, "get me an NPI number", "look up my NPI" or "is this NPI active" just work. Free, no key, no account.

https://simplenpi.com/mcpStreamable HTTP, stateless, no authentication. Same server for every assistant.

Connect it

Claude (claude.ai, desktop, mobile)
  1. Settings, then Connectors, then Add custom connector.
  2. Name: SimpleNPI. Remote MCP server URL: the URL above. Leave authentication empty. Add.
  3. In a chat, enable SimpleNPI under the tools menu and ask "How do I get an NPI number?" or "Get me an NPI".
Claude Code / Cursor / VS Code / Windsurf

Claude Code:

claude mcp add --transport http simplenpi https://simplenpi.com/mcp

Cursor, VS Code (Copilot agent mode), Windsurf and most editors take the same shape in their MCP config:

{ "mcpServers": { "simplenpi": { "url": "https://simplenpi.com/mcp" } } }
ChatGPT
  1. Settings, then Connectors (or Apps), then Create / Add a custom connector (Developer mode where required).
  2. Name: SimpleNPI. MCP server URL: the URL above. Authentication: none. Create.
  3. Turn SimpleNPI on in the chat's tools and ask away. The server exposes the search and fetch tools ChatGPT connectors expect, plus the NPI tools.
Gemini CLI

Add to ~/.gemini/settings.json:

{ "mcpServers": { "simplenpi": { "httpUrl": "https://simplenpi.com/mcp" } } }
Microsoft Copilot Studio
  1. In your agent, Tools, then Add a tool, then Model Context Protocol.
  2. Server URL: the URL above. Authentication: none. Save, then enable the tools you want (lookup_npi, verify_npi, start_npi_application, how_to_get_an_npi).
Any other MCP client

Transport: streamable HTTP, POST JSON-RPC to the URL above (JSON responses, no SSE stream, no session id). Methods: initialize, tools/list, tools/call, resources/list, resources/read, ping. Protocol versions 2024-11-05 through 2025-06-18.

curl -s -X POST https://simplenpi.com/mcp -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"verify_npi","arguments":{"npi":"1841054533"}}}'

What the assistant can do

ToolAnswersNeeds
how_to_get_an_npi"How do I get an NPI?" The two free paths, what you need, the taxonomy code for a profession.Nothing (profession and state optional)
lookup_npi"Find my NPI", "What is Dr Smith's NPI?", "NPI for a clinic".Name or business name, state optional
verify_npi"Is this NPI active?", "Who is NPI 1234567890?"The 10-digit NPI
start_npi_application"Get me an NPI." Checks the registry first, then returns a prefilled link to the free form.Name, state, profession (all optional)
check_npi_status"Did my NPI come through?"The status link from the SimpleNPI email
search, fetchFree-text registry search and record fetch (the pair ChatGPT connectors expect).A query, or an NPI
What never happens in chat: no Social Security number, date of birth or signature. The application link opens the form on simplenpi.com, and the applicant enters identity details there. The assistant only ever sees public registry data and the link.

Without a connector

Assistants that browse the web can still answer from the how-to guide, llms.txt and llms-full.txt, and agentic browsers can open simplenpi.com/start with the name, state and profession in the query string (?first=&last=&state=UT&profession=). Developers: OpenAPI 3.1 for the free lookup and verify endpoints; registry metadata at /.well-known/mcp/server.json.

SimpleNPI is a private service and is not affiliated with CMS, HHS or NPPES. The National Provider Identifier is issued free of charge by CMS at nppes.cms.hhs.gov. Registry data: CMS NPPES NPI Registry, refreshed daily. Questions: info@simplenpi.com. Privacy Terms.

© 2026 SimpleNPI