File size: 736 Bytes
b3da24c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# 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"]