NPI Registry

Pesquise no registro do National Provider Identifier (NPI) por prestadores de serviços de saúde e organizações nos Estados Unidos.

Documentação

Servidor MCP do NPI Registry 🏥

Um servidor Model Context Protocol (MCP) para pesquisar o registro do National Provider Identifier (NPI). Este servidor fornece ferramentas para pesquisar e recuperar informações sobre prestadores de serviços de saúde e organizações nos Estados Unidos.

Visão Geral 📋

O NPI é um número de identificação exclusivo para prestadores de serviços de saúde cobertos nos Estados Unidos. Este servidor MCP permite que o Claude e outros clientes compatíveis com MCP pesquisem o registro oficial de NPI mantido pelos Centers for Medicare & Medicaid Services (CMS) e integre os resultados ao contexto do LLM para análises e insights aprimorados.

Recursos ✨

  • Pesquisa por Nome do Prestador: Encontre prestadores de serviços de saúde individuais pelo primeiro nome, sobrenome ou ambos
  • Pesquisa por Organização: Consulte organizações de saúde pelo nome
  • Pesquisa por Número NPI: Consulta direta usando um NPI específico de 10 dígitos
  • Pesquisa por Localização: Filtre resultados por cidade, estado ou código postal
  • Pesquisa por Especialidade: Encontre prestadores pela especialidade ou descrição de taxonomia
  • Dados Abrangentes: Retorna informações detalhadas, incluindo endereços, locais de atendimento, especialidades e outros identificadores

Casos de Uso 💡

  • Verificar credenciais de prestadores de serviços de saúde
  • Encontrar informações de contato e endereços de prestadores
  • Consultar detalhes de organizações e autoridades autorizadas
  • Validar números NPI
  • Pesquisar especialidades e taxonomias de prestadores
  • Encontrar prestadores em áreas geográficas específicas

Instalação 🚀

Pré-requisitos 📋

  • Python 3.10 ou superior
  • Gerenciador de pacotes uv

Configuração de Desenvolvimento 🛠️

  1. Clone o repositório:

    git clone https://github.com/eliotk/npi-registry-mcp-server.git
    cd npi-registry-mcp-server
    
  2. Instale o uv (se ainda não estiver instalado):

    curl -LsSf https://astral.sh/uv/install.sh | sh
    
  3. Crie um ambiente virtual e instale as dependências:

    uv venv
    source .venv/bin/activate  # On Windows: .venv\Scripts\activate
    uv pip install -e ".[dev]"
    
  4. Execute o servidor diretamente (para testes):

    uv run python -m npi_registry_mcp.server
    # or using the entry point:
    uv run npi-registry-mcp-server
    

Instalação em Produção 🌟

Instale a partir do PyPI (quando publicado):

uv pip install npi-registry-mcp-server

Ou instale a partir do código-fonte:

uv pip install git+https://github.com/eliotk/npi-registry-mcp-server.git

Uso 📚

Ferramentas Disponíveis 🛠️

search_npi_registry 🔎

Pesquise o registro NPI com vários critérios:

Parâmetros:

  • first_name (opcional): Primeiro nome do prestador
  • last_name (opcional): Sobrenome do prestador
  • organization_name (opcional): Nome da organização
  • npi (opcional): Número NPI específico de 10 dígitos
  • city (opcional): Nome da cidade
  • state (opcional): Abreviação do estado (ex.: 'CA', 'NY')
  • postal_code (opcional): Código postal (suporta curingas)
  • specialty (opcional): Especialidade ou taxonomia do prestador
  • limit (opcional): Número máximo de resultados a retornar (1-200, padrão: 10)

Exemplos:

# 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 Resposta 📄

A pesquisa retorna uma resposta estruturada com:

{
  "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": [...]
    }
  ]
}

Configuração do Claude Desktop 🖥️

Para usar este servidor MCP com o Claude Desktop, adicione a seguinte configuração ao arquivo de configuração do Claude Desktop:

macOS 🍎

Localização: ~/Library/Application Support/Claude/claude_desktop_config.json

Windows 🪟

Localização: %APPDATA%/Claude/claude_desktop_config.json

Configuração 📝

{
  "mcpServers": {
    "npi-registry": {
      "command": "uv", # may need full path to executable
      "args": [
        "--directory",
        "/path/to/npi-registry-mcp-server",
        "run",
        "npi-registry-mcp-server"
      ]
    }
  }
}

Verificação ✅

  1. Salve o arquivo de configuração
  2. Reinicie o Claude Desktop completamente
  3. Procure o ícone 🔧 no Claude Desktop para verificar se o servidor está conectado
  4. Tente perguntar ao Claude: "Pesquise por médicos chamados Smith na Califórnia"

Desenvolvimento 👨‍💻

Estrutura do Projeto 📁

npi-registry-mcp-server/
├── src/
│   └── npi_registry_mcp/
│       ├── __init__.py
│       └── server.py
├── tests/
├── pyproject.toml
├── README.md
└── .gitignore

Executando Testes 🧪

uv run pytest

Formatação 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/

Compilando o Pacote 📦

uv build

Referência da API 📖

Este servidor usa a API oficial do NPI Registry fornecida pelo CMS:

Fontes de Dados 🗃️

Todos os dados vêm diretamente do registro oficial de NPI mantido por:

  • Centers for Medicare & Medicaid Services (CMS)
  • Departamento de Saúde e Serviços Humanos dos EUA

Contribuindo 🤝

  1. Faça um fork do repositório
  2. Crie um branch de recurso: git checkout -b feature-name
  3. Faça suas alterações e adicione testes
  4. Execute a suíte de testes: uv run pytest
  5. Formate seu código: uv run black src/ tests/
  6. Envie um pull request

Licença 📄

Licença MIT - consulte o arquivo LICENSE para obter detalhes.

Suporte 🆘

  • Problemas: Relate bugs e solicite recursos via GitHub Issues
  • Documentação: Documentação adicional disponível no diretório /docs
  • Perguntas sobre a API: Consulte a documentação oficial da API do NPI Registry

Registro de Alterações 📝

v0.1.0 🎉

  • Lançamento inicial
  • Funcionalidade básica de pesquisa no registro NPI
  • Suporte para pesquisas de indivíduos e organizações
  • Filtragem por localização e especialidade
  • Recuperação abrangente de dados de prestadores

Para mais informações sobre o Model Context Protocol, visite: https://modelcontextprotocol.io/