Skip to content
Eden Engine

RxNorm Drug Search by Name (RxCUIs for Brand and Generic Products)

rxnorm/drug-search

Finds the products RxNorm holds for a drug name, brand or generic, with their RxCUI codes. Returns NLM's drugGroup response unchanged: concepts grouped by term type, SCD (generic clinical drug: ingredient, strength, dose form), SBD (branded drug), GPCK and BPCK (generic and branded packs), each with rxcui, the RxNorm normalized name and a display synonym. It lists products only: the ingredient and brand-name concepts themselves are not returned (use related concepts for those). An ingredient name or an ingredient plus strength matches; a brand plus a strength does not. A name RxNorm does not hold returns an empty answer, not an error. Source: RxNorm, from the U.S. National Library of Medicine's RxNav API; Omnial is not an NLM product and NLM is not responsible for it.

activeper callv1

Price

$0.0026 per call

You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $5.

Data source

RxNorm

This product uses publicly available data from the U.S. National Library of Medicine (NLM), National Institutes of Health, Department of Health and Human Services; NLM is not responsible for the product and does not endorse or recommend this or any other product. Source: RxNorm (RxNav API). Served unchanged by Omnial; not an NLM product.

Use it

Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.

Connect once and your AI can find and run this tool, and any other it needs.

agent
// 1. search: find the tool
omnial_search({ query: "what you need" })

// 2. inspect: price and input schema
omnial_inspect({ tool: "rxnorm/drug-search" })

// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "rxnorm/drug-search" })

// 4. run: price the exact call first, then run it
omnial_execute({ tool: "rxnorm/drug-search", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "rxnorm/drug-search", input: { /* ... */ } })

// 5. settle: the call is charged when it finishes, nothing to do

Not connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.

Pricing

Every charge this tool can incur.

ChargePrice
Per call
$0.0026
Updated
Oct 20, 2026

Input and output schemas

Input schema
input_schema.json
{
  "type": "object",
  "required": [
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "pattern": "\\S",
      "maxLength": 200,
      "minLength": 1,
      "description": "A drug name: an ingredient (atorvastatin), a brand (Lipitor), a salt (metformin hydrochloride) or an ingredient with a strength (ibuprofen 200 mg). Case and surrounding spaces do not matter. A brand with a strength or a qualifier (Lipitor 10 MG, tylenol extra strength) matches nothing; search the brand or the ingredient alone."
    }
  },
  "additionalProperties": false
}
Output schema
output_schema.json
{
  "type": "object",
  "required": [
    "drugGroup"
  ],
  "properties": {
    "drugGroup": {
      "type": "object",
      "properties": {
        "name": {
          "type": [
            "string",
            "null"
          ],
          "description": "Always null on the responses seen; the searched name is not echoed."
        },
        "conceptGroup": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "tty"
            ],
            "properties": {
              "tty": {
                "type": "string",
                "description": "Term type: SCD semantic clinical drug (ingredient + strength + dose form, generic), SBD semantic branded drug (the same plus brand name), GPCK generic pack, BPCK branded pack."
              },
              "conceptProperties": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "rxcui",
                    "name",
                    "tty"
                  ],
                  "properties": {
                    "tty": {
                      "type": "string",
                      "description": "The term type, as the group's."
                    },
                    "name": {
                      "type": "string",
                      "description": "The RxNorm normalized name, e.g. atorvastatin 10 MG Oral Tablet [Lipitor]. A pack's name is a long nested expression."
                    },
                    "rxcui": {
                      "type": "string",
                      "description": "The RxNorm concept identifier, a string of digits."
                    },
                    "synonym": {
                      "type": "string",
                      "description": "The prescribable display name, e.g. Lipitor 10 MG Oral Tablet. Empty on about 9% of concepts."
                    },
                    "umlscui": {
                      "type": "string",
                      "description": "Always empty here."
                    },
                    "language": {
                      "type": "string",
                      "description": "Always \"ENG\"."
                    },
                    "suppress": {
                      "type": "string",
                      "description": "Always \"N\": only unsuppressed concepts are listed."
                    }
                  },
                  "additionalProperties": true
                },
                "description": "The concepts of this term type. Absent when there are none."
              }
            },
            "additionalProperties": true
          },
          "description": "One entry per term type, in the order BPCK, GPCK, SBD, SCD (those present). A type with no match is listed without `conceptProperties`. Absent when nothing matched at all."
        }
      },
      "description": "The result wrapper.",
      "additionalProperties": true
    }
  },
  "description": "NLM's drugGroup response, unchanged. `drugGroup.conceptGroup` is absent when nothing matched.",
  "additionalProperties": true
}