by eliotk
Easily perform NPI lookup and doctor NPI lookup with our NPI registry. Find providers by name, location, specialty, or N
Search the official US National Provider Identifier (NPI) registry to find healthcare providers and organizations by name, location, specialty, or NPI number.
NPI Registry is a community-built MCP server published by eliotk that provides AI assistants with tools and capabilities via the Model Context Protocol. Easily perform NPI lookup and doctor NPI lookup with our NPI registry. Find providers by name, location, specialty, or N It is categorized under analytics data. This server exposes 1 tool that AI clients can invoke during conversations and coding sessions.
You can install NPI Registry in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.
MIT
NPI Registry is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.
Add new capabilities to Claude beyond text generation
Example
Access external data sources, execute code, interact with tools and services
Transform Claude from chatbot to action-taking agent
Provide Claude with access to relevant context and data
Example
Load project documentation, access knowledge bases, query databases
Get more accurate, context-aware responses
Automate multi-step workflows combining AI and external tools
Example
Research → Summarize → Create document → Send notification
Complete complex tasks end-to-end without manual steps
Share your MCP server with the developer community
NPI Registry is a well-scoped MCP server in the explainx.ai directory — install snippets and categories matched our Claude Code setup.
I recommend NPI Registry for teams standardizing on MCP; the explainx.ai page compares cleanly with sibling servers.
NPI Registry has been reliable for tool-calling workflows; the MCP profile page is a good permalink for internal docs.
Useful MCP listing: NPI Registry is the kind of server we cite when onboarding engineers to host + tool permissions.
NPI Registry reduced integration guesswork — categories and install configs on the listing matched the upstream repo.
We wired NPI Registry into a staging workspace; the listing’s GitHub and npm pointers saved time versus hunting across READMEs.
We evaluated NPI Registry against two servers with overlapping tools; this profile had the clearer scope statement.
Useful MCP listing: NPI Registry is the kind of server we cite when onboarding engineers to host + tool permissions.
I recommend NPI Registry for teams standardizing on MCP; the explainx.ai page compares cleanly with sibling servers.
According to our notes, NPI Registry benefits from clear Model Context Protocol framing — fewer ambiguous “AI plugin” claims.
showing 1-10 of 36
A Model Context Protocol (MCP) server for searching the National Provider Identifier (NPI) registry. This server provides tools to search and retrieve information about healthcare providers and organizations in the United States.
NPI is a unique identification number for covered health care providers in the United States. This MCP server allows Claude and other MCP-compatible clients to search the official NPI registry maintained by the Centers for Medicare & Medicaid Services (CMS), and integrates the results into an LLM context for enhanced analysis and insights.
Clone the repository:
git clone https://github.com/eliotk/npi-registry-mcp-server.git
cd npi-registry-mcp-server
Install uv (if not already installed):
curl -LsSf https://astral.sh/uv/install.sh | sh
Create a virtual environment and install dependencies:
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv pip install -e ".[dev]"
Run the server directly (for testing):
uv run python -m npi_registry_mcp.server
# or using the entry point:
uv run npi-registry-mcp-server
Install from PyPI (once published):
uv pip install npi-registry-mcp-server
Or install from source:
uv pip install git+https://github.com/eliotk/npi-registry-mcp-server.git
search_npi_registry 🔎Search the NPI registry with various criteria:
Parameters:
first_name (optional): Provider's first namelast_name (optional): Provider's last nameorganization_name (optional): Organization namenpi (optional): Specific 10-digit NPI numbercity (optional): City namestate (optional): State abbreviation (e.g., 'CA', 'NY')postal_code (optional): ZIP/postal code (supports wildcards)specialty (optional): Provider specialty or taxonomylimit (optional): Maximum results to return (1-200, default: 10)Examples:
# Search for a specific provider by name
search_npi_registry(first_name="John", last_name="Smith", state="CA")
# Look up a specific NPI
search_npi_registry(npi="1234567890")
# Find organizations in a city
search_npi_registry(organization_name="Hospital", city="Los Angeles", state="CA")
# Search by specialty
search_npi_registry(specialty="cardiology", state="NY", limit=20)
# Find providers in a specific ZIP code area
search_npi_registry(postal_code="902*", state="CA")
The search returns a structured response with:
{
"success": true,
"count": 5,
"results": [
{
"npi": "1234567890",
"entity_type": "Individual",
"is_organization": false,
"status": "A",
"enumeration_date": "2010-05-05",
"last_updated": "2023-01-15",
"name": {
"first": "John",
"last": "Smith",
"credential": "MD"
},
"addresses": [...],
"practice_locations": [...],
"taxonomies": [...],
"identifiers": [...]
}
]
}
To use this MCP server with Claude Desktop, add the following configuration to your Claude Desktop config file:
Location: ~/Library/Application Support/Claude/claude_desktop_config.json
Location: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"npi-registry": {
"command": "uv", # may need full path to executable
"args": [
"--directory",
"/path/to/npi-registry-mcp-server",
"run",
"npi-registry-mcp-server"
]
}
}
}
npi-registry-mcp-server/
├── src/
│ └── npi_registry_mcp/
│ ├── __init__.py
│ └── server.py
├── tests/
├── pyproject.toml
├── README.md
└── .gitignore
uv run pytest
# Format code
uv run black src/ tests/
# Sort imports
uv run isort src/ tests/
# Lint
uv run ruff check src/ tests/
# Type checking
uv run mypy src/
uv build
This server uses the official NPI Registry API provided by CMS:
All data comes directly from the official NPI Registry maintained by:
git checkout -b feature-nameuv run pytestuv run black src/ tests/MIT License - see LICENSE file for details.
/docs directoryFor more information about the Model Context Protocol, visit: https://modelcontextprotocol.io/
Prerequisites
Time Estimate
15-60 minutes depending on server complexity
Steps
Troubleshooting
✓ Do
✗ Don't
💡 Pro Tips
Architecture
Model Context Protocol standardizes how AI hosts (Claude, Cursor) communicate with external tools and data sources through server implementations.
Protocols
Compatibility
✓ Use when
Use when you need Claude to access external data, execute actions, or integrate with tools. Best for extending AI capabilities beyond conversation.
✗ Avoid when
Avoid when native integrations exist (use official APIs directly), for real-time critical systems, or when security/compliance requires zero external dependencies.