MCP_Res / mcp /clinicaltrials.py
mgbam's picture
Create clinicaltrials.py
b3da24c verified
raw
history blame
736 Bytes
# mcp/clinicaltrials.py
"""
ClinicalTrials.gov helper – fetch recent trials for a keyword.
"""
import httpx, datetime
from typing import List
BASE = "https://clinicaltrials.gov/api/query/study_fields"
async def search_trials(term: str, max_studies: int = 10) -> List[dict]:
today = datetime.date.today().isoformat()
params = {
"expr": term,
"fields": "NCTId,BriefTitle,Condition,InterventionName,Phase,OverallStatus,StartDate",
"max_rnk": max_studies,
"fmt": "json",
"min_rnk": 1
}
async with httpx.AsyncClient(timeout=20) as client:
r = await client.get(BASE, params=params)
r.raise_for_status()
return r.json()["StudyFieldsResponse"]["StudyFields"]