search_drug_names
Find drug names in the FDA DailyMed database by generic or brand name, manufacturer, and name type with paginated results.
Instructions
Search for drug names using various parameters with pagination support
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| drug_name | No | Generic or brand name of drug | |
| name_type | No | Specify name type | |
| manufacturer | No | Name of drug manufacturer | |
| page | No | Page number for pagination (1-based, default: 1) | |
| pageSize | No | Number of results per page (default: 100, max: 100) |
Implementation Reference
- src/clients/drug-name-client.ts:35-80 (handler)The core handler implementation for searching drug names, including API request construction and pagination handling.
async searchDrugNamesAdvanced(params: DrugNameSearchParams = {}): Promise<PaginatedDrugNameResponse> { const { page = 1, pageSize = 100, ...searchParams } = params; validatePaginationParams(page, pageSize, 100); try { const queryParams: any = { page, pagesize: Math.min(pageSize, 100), // API max is 100 }; // Add search filters if (searchParams.drug_name) queryParams.drug_name = searchParams.drug_name; if (searchParams.name_type) queryParams.name_type = searchParams.name_type; if (searchParams.manufacturer) queryParams.manufacturer = searchParams.manufacturer; const response = await this.client.get("/drugnames.json", { params: queryParams, }); if ( response.data && response.data.data && Array.isArray(response.data.data) ) { const drugNames = response.data.data.map((item: any) => ({ drugName: item.drug_name, routeOfAdministration: item.route_of_administration, activeIngredient: item.active_ingredient, })); // Extract pagination metadata from API response const totalResults = response.data.metadata?.total_elements || drugNames.length; const totalPages = Math.ceil(totalResults / pageSize); return { data: drugNames, pagination: { page, pageSize, totalResults, totalPages, hasNextPage: page < totalPages, hasPreviousPage: page > 1, }, }; - src/tools.ts:348-360 (registration)Tool definition and schema registration for "search_drug_names".
{ name: "search_drug_names", description: "Search for drug names using various parameters with pagination support", inputSchema: { type: "object", properties: { drug_name: { type: "string", description: "Generic or brand name of drug", }, name_type: { type: "string", description: "Specify name type",