NPI Registry
Busca en el registro del National Provider Identifier (NPI) proveedores de salud y organizaciones en los Estados Unidos.
Documentación
Servidor MCP de NPI Registry 🏥
Un servidor de Model Context Protocol (MCP) para buscar en el registro de National Provider Identifier (NPI). Este servidor proporciona herramientas para buscar y recuperar información sobre proveedores de atención médica y organizaciones en los Estados Unidos.
Descripción general 📋
NPI es un número de identificación único para proveedores de atención médica cubiertos en los Estados Unidos. Este servidor MCP permite a Claude y otros clientes compatibles con MCP buscar en el registro oficial de NPI mantenido por los Centros de Servicios de Medicare y Medicaid (CMS), e integra los resultados en el contexto de un LLM para un análisis y perspectivas mejorados.
Características ✨
- Búsqueda por nombre de proveedor: Encuentre proveedores de atención médica individuales por nombre, apellido o ambos
- Búsqueda por organización: Consulte organizaciones de atención médica por nombre
- Búsqueda por número NPI: Consulta directa usando un NPI específico de 10 dígitos
- Búsqueda basada en ubicación: Filtre resultados por ciudad, estado o código postal
- Búsqueda por especialidad: Encuentre proveedores por su especialidad o descripción de taxonomía
- Datos completos: Devuelve información detallada que incluye direcciones, ubicaciones de práctica, especialidades y otros identificadores
Casos de uso 💡
- Verificar credenciales de proveedores de atención médica
- Encontrar información de contacto y direcciones de proveedores
- Consultar detalles de organizaciones y funcionarios autorizados
- Validar números NPI
- Investigar especialidades y taxonomías de proveedores
- Encontrar proveedores en áreas geográficas específicas
Instalación 🚀
Requisitos previos 📋
- Python 3.10 o superior
- Administrador de paquetes uv
Configuración de desarrollo 🛠️
-
Clonar el repositorio:
git clone https://github.com/eliotk/npi-registry-mcp-server.git cd npi-registry-mcp-server -
Instalar uv (si aún no está instalado):
curl -LsSf https://astral.sh/uv/install.sh | sh -
Crear un entorno virtual e instalar dependencias:
uv venv source .venv/bin/activate # On Windows: .venv\Scripts\activate uv pip install -e ".[dev]" -
Ejecutar el servidor directamente (para pruebas):
uv run python -m npi_registry_mcp.server # or using the entry point: uv run npi-registry-mcp-server
Instalación en producción 🌟
Instalar desde PyPI (una vez publicado):
uv pip install npi-registry-mcp-server
O instalar desde el código fuente:
uv pip install git+https://github.com/eliotk/npi-registry-mcp-server.git
Uso 📚
Herramientas disponibles 🛠️
search_npi_registry 🔎
Buscar en el registro NPI con varios criterios:
Parámetros:
first_name(opcional): Nombre del proveedorlast_name(opcional): Apellido del proveedororganization_name(opcional): Nombre de la organizaciónnpi(opcional): Número NPI específico de 10 dígitoscity(opcional): Nombre de la ciudadstate(opcional): Abreviatura del estado (p. ej., 'CA', 'NY')postal_code(opcional): Código postal (admite comodines)specialty(opcional): Especialidad o taxonomía del proveedorlimit(opcional): Número máximo de resultados a devolver (1-200, predeterminado: 10)
Ejemplos:
# 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")
Formato de respuesta 📄
La búsqueda devuelve una respuesta estructurada con:
{
"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": [...]
}
]
}
Configuración de Claude Desktop 🖥️
Para usar este servidor MCP con Claude Desktop, agregue la siguiente configuración a su archivo de configuración de Claude Desktop:
macOS 🍎
Ubicación: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows 🪟
Ubicación: %APPDATA%/Claude/claude_desktop_config.json
Configuración 📝
{
"mcpServers": {
"npi-registry": {
"command": "uv", # may need full path to executable
"args": [
"--directory",
"/path/to/npi-registry-mcp-server",
"run",
"npi-registry-mcp-server"
]
}
}
}
Verificación ✅
- Guarde el archivo de configuración
- Reinicie Claude Desktop por completo
- Busque el ícono 🔧 en Claude Desktop para verificar que el servidor esté conectado
- Intente preguntarle a Claude: "Busca médicos llamados Smith en California"
Desarrollo 👨💻
Estructura del proyecto 📁
npi-registry-mcp-server/
├── src/
│ └── npi_registry_mcp/
│ ├── __init__.py
│ └── server.py
├── tests/
├── pyproject.toml
├── README.md
└── .gitignore
Ejecutar pruebas 🧪
uv run pytest
Formato de código 🎨
# 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/
Compilar el paquete 📦
uv build
Referencia de la API 📖
Este servidor utiliza la API oficial del Registro NPI proporcionada por CMS:
- URL base: https://npiregistry.cms.hhs.gov/api/
- Documentación: https://npiregistry.cms.hhs.gov/registry/help-api
- Límites de tasa: La API tiene límites de tasa razonables para uso normal
Fuentes de datos 🗃️
Todos los datos provienen directamente del Registro NPI oficial mantenido por:
- Centros de Servicios de Medicare y Medicaid (CMS)
- Departamento de Salud y Servicios Humanos de los EE. UU.
Contribuciones 🤝
- Haga un fork del repositorio
- Cree una rama de características:
git checkout -b feature-name - Realice sus cambios y agregue pruebas
- Ejecute la suite de pruebas:
uv run pytest - Formatee su código:
uv run black src/ tests/ - Envíe una solicitud de extracción
Licencia 📄
Licencia MIT: consulte el archivo LICENSE para obtener más detalles.
Soporte 🆘
- Problemas: Reporte errores y solicite funciones a través de GitHub Issues
- Documentación: Documentación adicional disponible en el directorio
/docs - Preguntas sobre la API: Consulte la documentación oficial de la API del Registro NPI
Historial de cambios 📝
v0.1.0 🎉
- Lanzamiento inicial
- Funcionalidad básica de búsqueda en el registro NPI
- Soporte para búsquedas de individuos y organizaciones
- Filtrado por ubicación y especialidad
- Recuperación completa de datos de proveedores
Para obtener más información sobre el Model Context Protocol, visite: https://modelcontextprotocol.io/