Skip to main content
Glama

Aviado Health BioIntelligence

Supplement interactions (drugs and supplements)

get_supplement_interactions
Read-onlyIdempotent

Drug interactions come only from FDA drug labels: thorough for supplements labels name often (St. John's wort, grapefruit, magnesium, ginkgo) and sparse or missing for most others (e.g. fish oil, vitamin K, berberine, ashwagandha); read coverage.drug, and never treat an empty or short list as proof of safety. To check one medication pass drug (generic name; salt forms merged, so 'warfarin' matches 'warfarin sodium'; brand names are not matched). Also returns curated supplement-supplement interactions (synergies, antagonisms, absorption conflicts, timing), except on a drug check unless include_supplement_interactions is true. Interactions recorded for what the supplement contains are included and labelled: fish oil returns EPA, DHA and omega-3 interactions, turmeric returns curcumin's (interaction_sources, recorded_for). Drug entries are one per drug, most severe first, paged with drug_limit/drug_offset (drug_page.total, next_offset); label_artifact_suspected marks an entry whose drug name contains the supplement only as a salt (e.g. esomeprazole magnesium) and whose text does not mention it. Data-source failures return an error, never an empty list. The supplement may be a name or an Aviado canonical_id (from search_supplements or a candidates list). Check status first: needs_confirmation / no_match means the input did not resolve, data is null and next_step says how to retry.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
drugNoOnly return drug interactions for this drug: its generic name (e.g. 'warfarin', 'sertraline'), matched exactly with salt forms merged ('warfarin' matches 'warfarin sodium'); brand names are not matched. Supplement-supplement interactions are then omitted unless include_supplement_interactions is true
drug_limitNoMax drug interactions to return (default 20, max 200)
supplementYesSupplement name
drug_offsetNoDrug interactions to skip, for paging (use drug_page.next_offset)
include_drug_interactionsNoInclude FDA drug-supplement interactions
include_supplement_interactionsNoInclude supplement-supplement interactions (default: true without drug, false when drug is given)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • addedInput schema / properties / drug
      Added value: +{
      +  "description": "Only return drug interactions for this drug: its generic name (e.g. 'warfarin', 'sertraline'), matched exactly with salt forms merged ('warfarin' matches 'warfarin sodium'); brand names are not matched. Supplement-supplement interactions are then omitted unless include_supplement_interactions is true",
      +  "maxLength": 512,
      +  "minLength": 1,
      +  "type": "string"
      +}
    • addedInput schema / properties / drug_limit
      Added value: +{
      +  "default": 20,
      +  "description": "Max drug interactions to return (default 20, max 200)",
      +  "maximum": 200,
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • addedInput schema / properties / drug_offset
      Added value: +{
      +  "default": 0,
      +  "description": "Drug interactions to skip, for paging (use drug_page.next_offset)",
      +  "maximum": 9007199254740991,
      +  "minimum": 0,
      +  "type": "integer"
      +}
    • addedInput schema / properties / include_supplement_interactions
      Added value: +{
      +  "description": "Include supplement-supplement interactions (default: true without drug, false when drug is given)",
      +  "type": "boolean"
      +}
  2. Changed2 schema fields changed
    • addedInput schema / properties / supplement / maxLength
      Added value: +512
    • addedInput schema / properties / supplement / minLength
      Added value: +1
  3. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Goes well beyond the read-only annotations: coverage caveats ('sparse or missing for most others', 'never treat an empty or short list as proof of safety'), error-not-empty-list behavior on data-source failure, status/null semantics on unresolved input, and the label_artifact_suspected flag for salt-only drug-name matches. This is unusual behavioral depth.

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

Conciseness4/5

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

Dense but front-loaded with the highest-value caveat (coverage quality and the safety warning) before parameter mechanics. The heavy semicolon-chained sentences and stacked parentheticals push it toward over-packing, though nearly every clause carries information an agent needs.

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?

With no output schema, the description must carry return-value semantics, and it does: interaction_sources/recorded_for labelling, one-entry-per-drug ordering, paging fields, the artifact flag, and status/next_step. Nothing necessary for a correct call appears missing.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds interpretation the schema does not fully carry: salt-form merging vs unmatched brand names, the canonical_id alternative for supplement, and the derived drug_page.total/next_offset paging loop. It reinforces rather than merely repeats the schema.

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?

Names a specific verb+resource (get supplement interactions) and immediately scopes it: FDA-label drug interactions plus curated supplement-supplement interactions, with the inclusion rules for each. An agent can distinguish this from the sibling check_interaction because the description spells out the two interaction classes and how they are gated by the drug parameter.

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

Usage Guidelines4/5

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

Gives clear triggering conditions: 'To check one medication pass drug', and explains that supplement-supplement interactions are omitted on a drug check unless include_supplement_interactions is true. It also instructs to 'Check status first' for needs_confirmation/no_match. It stops short of naming when to prefer a sibling tool, so not a full 5.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources