Skip to main content
Glama

normalize_drug_name

Resolve drug names to RxNorm concepts, correcting misspellings and mapping brand names to canonical ingredients. Use it to normalize uncertain drug text before querying other tools.

Instructions

Resolve a drug name to its RxNorm concept, correcting spelling if needed.

Use this first when a drug name is misspelled, is a brand name, or comes from user text you are unsure about, then pass the canonical name to the other drug tools.

On an exact match, returns matched: true with the RxCUI, canonical name, and term type (IN is an ingredient, BN a brand name). Otherwise returns matched: false with ranked candidates. Candidates are suggestions, not confirmed answers -- each names the endpoint it came from, and a spelling_suggestion is stronger evidence of intent than a merely similar approximate_term. Confirm with the user before treating one as the drug they meant.

Args: name: The drug name as written, e.g. "metfromin", "Glucophage", or "metformin".

Returns: The resolved concept, or candidates when there was no exact match.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden and delivers richly. It discloses exact-match vs. candidate outcomes, explains the meaning of term types (IN, BN), and warns that candidates are not confirmed, advising user confirmation. This goes beyond simple operation statements to provide trustworthy behavior cues.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured. It opens with the core purpose, provides usage context, then details return behavior, and ends with parameter and return descriptions. Every sentence adds necessary information; nothing is redundant or irrelevant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter tool with an output schema, the description is complete. It explains the full decision-space (exact match vs. candidates), the interpretation of result fields, and the reliability of different match types. An agent can invoke and handle the response correctly without missing information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and the description compensates fully. It explains `name` with concrete examples: 'e.g. "metfromin", "Glucophage", or "metformin"'. This gives the agent exactly the format and variety expected, adding value the schema lacks entirely.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb-resource pairing: 'Resolve a drug name to its RxNorm concept, correcting spelling if needed.' It clearly differentiates this tool from siblings like search_trials and search_drug_recalls by positioning it as the entry point for drug-name resolution, not a search tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit guidance states when to use this tool: 'Use this first when a drug name is misspelled, is a brand name, or comes from user text you are unsure about.' It also directs the agent to 'pass the canonical name to the other drug tools,' establishing a workflow. This clearly separates it from alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.