Humanlearning commited on
Commit
ca50165
·
1 Parent(s): 1cc51a2

feat: Add NPI API client functions for searching and retrieving provider details.

Browse files
Files changed (1) hide show
  1. src/npi_mcp_server/tools.py +6 -2
src/npi_mcp_server/tools.py CHANGED
@@ -39,14 +39,18 @@ async def search_providers(
39
  payload = {k: v for k, v in payload.items() if v is not None}
40
 
41
  logger.info(f"Searching providers with payload: {payload}")
 
 
 
 
42
 
43
  async with httpx.AsyncClient() as client:
44
  try:
45
- response = await client.post(url, json=payload, timeout=30.0)
46
  response.raise_for_status()
47
 
48
  data = response.json()
49
- logger.info(f"Received response from NPI API: {len(data.get('results', []))} results found.")
50
  # Expecting: { "results": [ ... ] }
51
  return SearchProvidersResponse(**data).results
52
 
 
39
  payload = {k: v for k, v in payload.items() if v is not None}
40
 
41
  logger.info(f"Searching providers with payload: {payload}")
42
+
43
+ headers = {
44
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"
45
+ }
46
 
47
  async with httpx.AsyncClient() as client:
48
  try:
49
+ response = await client.post(url, json=payload, headers=headers, timeout=30.0)
50
  response.raise_for_status()
51
 
52
  data = response.json()
53
+ logger.info(f"Received response from NPI API: {data}")
54
  # Expecting: { "results": [ ... ] }
55
  return SearchProvidersResponse(**data).results
56