Skip to main content
Glama

Server Details

Cited supplement evidence, biomarker effects, interaction checks and brand quality

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
40.1% over 75 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.4/5.0

Scored across 11 tools

Disambiguation4/5

Most tools target clearly distinct query shapes: search tools resolve IDs, get_* tools retrieve supplement, biomarker, condition, or brand evidence, and interaction tools check pairs versus full supplement profiles. Minor overlap exists between build_starter_stack and get_supplements_for_condition, and between get_supplements_for_biomarker and get_interventions_for_biomarker, but the descriptions clarify curated-stack versus condition listing and supplement-only versus all intervention types.

Naming Consistency5/5

All tool names use consistent snake_case with predictable verb_noun patterns such as search_supplements, get_supplement_info, check_interaction, and build_starter_stack. There are no mixed casing conventions or vague standalone verbs.

Tool Count5/5

Eleven tools is well within the appropriate range for this evidence-lookup domain. Each tool maps to a distinct workflow: identity search, supplement profile, biomarker mapping, condition mapping, interaction checking, brand lookup, and stack building.

Completeness4/5

The surface covers search, supplement info, biomarker effects, condition associations, interactions, brand quality, and starter-stack building, which is strong for the domain. Minor gaps remain, such as no dedicated condition/biomarker discovery tool or richer product-detail lookup beyond top brands, but agents can work around these using name/ID inputs.

Available Tools

11 tools
build_starter_stackBuild a starter stackAInspect

Starter stack (default 3, max 5) of recommendable supplements for a goal (e.g. 'insomnia', 'LDL cholesterol'), best-replicated app-visible evidence first; never Rx or research; biomarker-proxy rows are hypotheses. Not offered for cancer or other serious disease (no_match). One item per ingredient family, checked for supplement interactions with each other and with exclude, which also takes medications by generic name (checked against FDA labels: major picks dropped, moderate flagged; unlisted medications are NOT checked, so ask, then use get_supplement_interactions with drug). Each item: why, grade, study dose (context), PMIDs, cited cautions (an avoid-level caution leads as cautions_summary and in data.important_cautions: state those first), same-mechanism and interaction flags. include_claim_link is opt-in (default false): true stores a small claim record and returns data.claim.claim_url for saving the stack in a free Aviado account.

NameRequiredDescriptionDefault
goalYesGoal, condition or biomarker (e.g. 'insomnia', 'LDL cholesterol')
excludeNoSupplements the user takes or avoids, and medications by generic name (e.g. 'sertraline'): supplements are never suggested; medications are checked against every pick
max_itemsNoStack size (default 3, max 5)
include_claim_linkNoOpt in (default false): create a claim link, which stores a small record for 30 days (only when enabled)

TDQS

A4.2/5.0
Behavior5/5

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

Goes well beyond the annotations (readOnlyHint=false, idempotentHint=false, destructiveHint=false) by disclosing what is actually written and when: include_claim_link 'stores a small record for 30 days (only when enabled)'. It also exposes domain behavior an agent could not infer: FDA-label checking with 'major picks dropped, moderate flagged,' the warning that 'unlisted medications are NOT checked,' avoid-level cautions leading as cautions_summary, and the serious-disease no_match path. No contradiction with the annotation profile.

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

Conciseness3/5

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

Front-loading is good — stack size and scope come first — and nearly every clause carries actionable information. However the whole definition is a single semicolon-and-parenthesis-choked run-on, making it hard to scan; the interaction, caution, and claim-link rules would parse far better as separate structured sentences.

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?

There is no output schema, yet the description enumerates the return shape precisely: 'Each item: why, grade, study dose (context), PMIDs, cited cautions... same-mechanism and interaction flags,' plus data.important_cautions and data.claim.claim_url. For a composite, non-idempotent tool this covers purpose, inputs, outputs, failure modes, and follow-up routing.

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 genuinely extends the schema: `exclude` 'also takes medications by generic name (checked against FDA labels)' and unlisted meds are explicitly NOT checked, and `include_claim_link` is explained as storing a 30-day record and returning data.claim.claim_url. It adds interaction semantics and side-effect meaning the schema does not carry.

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

Purpose4/5

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

States a specific verb+resource+scope: builds a 'starter stack (default 3, max 5) of recommendable supplements for a goal,' with concrete examples ('insomnia', 'LDL cholesterol'). It distinguishes itself from the list-style siblings by framing output as curated, interaction-checked picks ('never Rx or research', 'hypotheses' for biomarker-proxy rows), though it never names get_supplements_for_condition/get_supplements_for_biomarker as the alternatives it supersedes.

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?

Provides real routing guidance: excludes serious disease ('not offered for cancer or other serious disease (no_match)') and tells the agent to 'ask, then use get_supplement_interactions with `drug`' when a medication is unlisted. Clear context and a named fallback, but it does not contrast against the other recommendation-style siblings (get_supplements_for_condition / get_supplements_for_biomarker), so the when-to-choose-this branch is only partial.

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

check_interactionCheck an interactionA
Read-onlyIdempotent
Inspect

Point check of one pair, about 1-3 KB: a and b are each a supplement (name or canonical_id) or a medication (generic name; salt forms merged, brand names not matched). Supplement + supplement uses Aviado's verified pairs only (components and classes included); supplement + medication uses FDA drug-label rows only; two medications are not covered (no_match). Returns verdict {found, severity, direction, summary, recommendation, recorded_for, evidence_level, sources} and coverage (level none/sparse/moderate/broad). found:false is NOT a safety answer: an empty result is not evidence that there is no interaction, so read coverage.note and say so. Check status first: needs_confirmation / no_match means the input did not resolve, data is null and next_step says how to retry.

NameRequiredDescriptionDefault
aYesFirst supplement (name or canonical id) or medication (generic name)
bYesSecond supplement (name or canonical id) or medication (generic name)

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is fully covered. The description does add real value beyond that: it enumerates the returned verdict fields, the coverage scale (none/sparse/moderate/broad), and the found:false and needs_confirmation semantics. However, it doesn't cover pagination, rate limits, or response latency, so the extra context is useful but not exhaustive.

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

Conciseness3/5

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

The essential scoping rule is front-loaded, but the middle is a dense run-on that crams coverage rules, return fields, and caveats into one sentence. Every clause earns its place content-wise, yet the lack of structure makes it harder to scan than it should be.

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

Completeness4/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 carries the burden of explaining return values and does so by naming the verdict fields and coverage levels. It also covers the failure statuses and the retry path. The main remaining gap is that it doesn't say what the sources array contains or whether evidence_level values are enumerated.

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 already 100%, so baseline is 3. The description adds genuine semantics the schema lacks: salt forms are merged, brand names are not matched, canonical_id is accepted, and supplements vs medications resolve differently. This is meaningful input guidance beyond the two terse property descriptions.

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?

States a specific action and scope: a point check of ONE pair, with explicit resolution rules for each argument (supplement name/canonical id vs generic medication name). The phrase 'Point check of one pair' implicitly separates it from the bulk-oriented sibling get_supplement_interactions, and the per-combination coverage rules make the tool's boundary unmistakable.

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?

Gives explicit when-to-use conditions (single pair, 1-3 KB) and when-not (two medications are not covered and return no_match). It also prescribes agent behavior: check status first, and treat found:false as not a safety answer by reading coverage.note. This is unusually actionable routing guidance for both the agent and its downstream phrasing.

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

get_biomarkers_for_supplementBiomarkers a supplement affectsA
Read-onlyIdempotent
Inspect

Biomarkers a supplement moves in the Aviado app's evidence graph, one entry per biomarker (strongest edge), ordered by prior_weight (graph evidence weight 0-1, not a calibrated probability or effect size). Each entry has direction (up/down/bidirectional), goal/subgoal, has_verified_support / mixed_evidence, up to 3 PubMed IDs (pmids; URL template in coverage) with n_studies / rct_count, and dose (mean study dose {value, unit}: evidence context, not a dosing recommendation; see coverage.dose_note); null fields are omitted. Partial and non-exhaustive: a missing biomarker is not evidence of no effect. 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.

NameRequiredDescriptionDefault
limitNoMax results (default 25, max 100)
supplementYesSupplement name (e.g., 'fish oil', 'curcumin', 'vitamin D3')

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), and the description adds a lot beyond them: ordering by prior_weight with the explicit caveat that it is graph evidence weight, not a calibrated probability or effect size; that dose is evidence context and not a dosing recommendation; that null fields are omitted; and that results are partial/non-exhaustive so absence is not evidence of no effect. These are exactly the non-obvious traits an agent needs.

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?

A single dense paragraph with no filler sentences, and it front-loads the core purpose before the field-by-field detail and the status-handling note. The heavy parenthetical nesting makes it harder to scan than it needs to be, but nothing is wasted.

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?

There is no output schema, so the description carries the full burden of explaining return shape, and it does: per-entry fields (direction, goal/subgoal, verification flags, pmids with n_studies/rct_count, dose), omission of nulls, ordering, and failure states. An agent can interpret a response without further documentation.

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 meaning the schema lacks: the supplement parameter accepts either a plain name or an Aviado canonical_id, and where to obtain one. The limit parameter is left to the schema, which documents it fully.

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?

States a specific verb+resource and direction: 'Biomarkers a supplement moves in the Aviado app's evidence graph, one entry per biomarker (strongest edge).' This is unambiguously the supplement→biomarker direction, distinct from the inverse sibling get_supplements_for_biomarker and from the broader get_interventions_for_biomarker.

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 real invocation guidance: the supplement argument may be a name or canonical_id sourced from search_supplements/candidates, and it instructs the agent to 'check status first' with named status values (needs_confirmation/no_match) and what to do on failure. It stops short of naming an alternative tool or an explicit when-not-to-use condition, so it is clear context rather than full routing.

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

get_interventions_for_biomarkerAll interventions for a biomarkerA
Read-onlyIdempotent
Inspect

All mixed interventions in Aviado's evidence graph that move a biomarker, each labelled with intervention_type: supplement, food_substance, prescription_drug, research_compound, research_nootropic, medical_compound, form_dependent, not_recommendable or unknown (omitted on plain recommendable supplement rows; see coverage.row_defaults). Rows that are not supplements are context, never a recommendation, and carry no dose or pathway details. Rows carry up to 3 PubMed IDs (pmids; URL template in coverage); optional direction (up/down) filters. graph_status (proven/suspected) is an internal eligibility label, not clinical validation; pathway_tags are raw graph metadata, not validated mechanisms. Coverage is partial and non-exhaustive; absence is not evidence of no effect (see coverage). The biomarker may be a name, an abbreviation, an Aviado id or a LOINC code (e.g. '4548-4'). Check status first: needs_confirmation / no_match means the input did not resolve, data is null and next_step says how to retry.

NameRequiredDescriptionDefault
limitNoMax results (default 25, max 100)
biomarkerYesBiomarker name, abbreviation, or LOINC code
directionNoOnly rows whose strongest edge moves the biomarker this way ('down' lowers it, 'up' raises it); bidirectional rows match neither

TDQS

A4.1/5.0
Behavior5/5

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

Annotations only cover the safety profile (readOnly, idempotent, non-open-world); the description adds substantive behavior: partial/non-exhaustive coverage, graph_status as an internal eligibility label rather than clinical validation, pathway_tags as raw unvalidated metadata, up to 3 PubMed IDs per row, and how unresolved inputs surface via status. This is exactly the extra context annotations cannot carry.

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

Conciseness3/5

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

The core purpose is front-loaded, but the rest is one long semicolon-chained paragraph mixing caveats, field semantics and error handling. Most sentences carry real information, yet the density and run-on structure make it harder to scan than it needs to be.

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?

There is no output schema, so the description must describe returns — and it does: intervention_type taxonomy, direction, pmids with URL template reference, graph_status, pathway_tags, and the status/next_step failure path. An agent has what it needs to call and interpret results.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds only a little beyond the schema: it confirms the biomarker may be an Aviado id (schema says name/abbreviation/LOINC) and repeats that direction is optional, without new syntax or format rules.

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

Purpose4/5

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

States a specific verb+resource with scope: 'All mixed interventions in Aviado's evidence graph that move a biomarker'. The word 'mixed' plus the note that non-supplement rows are context implicitly separates it from get_supplements_for_biomarker, but no sibling is named outright, so differentiation is inferred rather than explicit.

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 usable operating conditions: optional direction filter for up/down, 'check status first' with needs_confirmation/no_match meaning and next_step, and a warning that absence is not evidence of no effect. It stops short of explicitly telling the agent when to prefer this over get_supplements_for_biomarker or get_biomarkers_for_supplement.

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

get_supplement_infoSupplement overview and safetyA
Read-onlyIdempotent
Inspect

Overview of one supplement: description, typical uses, its top 5 biomarkers (with up to 3 PubMed citations each), goals, mechanism tags and cited safety contraindications. Contraindications include those recorded for what it contains (e.g. turmeric shows curcumin's), labelled with recorded_for; only cited rows are shown, so an empty list is not proof of safety. For all biomarkers use get_biomarkers_for_supplement; for drug interactions use get_supplement_interactions. 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.

NameRequiredDescriptionDefault
supplementYesSupplement name

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), and the description adds genuinely new behavior: contraindications are rolled up from contained compounds and tagged with recorded_for, only cited rows appear so an empty list is not proof of safety, and needs_confirmation/no_match produces null data plus a next_step.

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?

Front-loaded with the payload summary, then routing, then edge-case semantics — logical ordering with no filler. It is dense and reads as one long block, which slightly taxes scanning, but every sentence carries operational information.

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?

There is no output schema, so the description must describe the return payload, and it does thoroughly (what fields come back, citation counts, the 'top 5' cap, the recorded_for labelling). Combined with the failure-mode behavior, an agent has everything needed to call and interpret this tool.

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 single string parameter is already documented, but the description adds real meaning by clarifying the value may be a supplement name or an Aviado canonical_id and pointing to search_supplements or a candidates list as its source. The 512-char limit and format constraints remain schema-only, which is fine.

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?

States a specific verb+resource ('Overview of one supplement') and enumerates exactly what the payload contains: description, uses, top 5 biomarkers with citations, goals, mechanism tags and contraindications. It also explicitly distinguishes itself from the two nearest siblings by name.

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?

Gives explicit routing rules ('For all biomarkers use get_biomarkers_for_supplement; for drug interactions use get_supplement_interactions') and states the accepted input forms and their provenance. The status-check guidance tells the agent what to do when the input fails to resolve.

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

get_supplement_interactionsSupplement interactions (drugs and supplements)A
Read-onlyIdempotent
Inspect

Drug interactions come only from FDA drug labels and supplement-supplement ones only from Aviado's verified pairs; an empty result is not evidence that there is no interaction. Labels are thorough for some supplements and sparse or missing for most; 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 supplement-supplement interactions from Aviado's verified pairs only (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 (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.

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)

TDQS

A4.3/5.0
Behavior5/5

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

Annotations already establish read-only, idempotent, and non-destructive behavior, but the description adds substantive traits: empty results are not proof of safety, coverage.drug must be read, data-source failures return errors rather than empty lists, label_artifact_suspected flags salt-form artifacts, and status codes indicate unresolved input. No contradiction with annotations.

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?

The description is front-loaded with caveats and appropriately sized for a complex tool, but it is a single dense paragraph that repeats the empty-result-is-not-safety warning and could be tighter. Most other sentences carry operational detail.

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 supplies return-value semantics such as interaction_sources, recorded_for, drug_page.total/next_offset, label_artifact_suspected, status, and next_step. Given annotations cover safety and the schema covers parameters, an agent has enough to call and interpret the tool.

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; the description additionally clarifies that supplement can be a name or an Aviado canonical_id and explains paging via drug_limit/drug_offset and drug_page fields. It still omits include_drug_interactions and mostly repeats drug matching rules already in the schema, so it is above baseline but not exhaustive.

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

Purpose4/5

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

The description names the resource and the two interaction classes, including provenance: FDA drug labels for drug interactions and Aviado verified pairs for supplement-supplement interactions. It does not explicitly contrast itself with the sibling check_interaction or state when that sibling should be used instead, so it falls short of a 5.

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?

It gives concrete usage conditions: pass drug to check one medication, use include_supplement_interactions to retain supplement-supplement pairs, and check status first for unresolved input. It does not state when not to use this tool or name check_interaction as an alternative.

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

get_supplements_for_biomarkerSupplements for a biomarkerA
Read-onlyIdempotent
Inspect

Supplements in Aviado's evidence graph that move a biomarker (e.g. 'LDL cholesterol', 'HbA1c'). Lists only registry-classified supplements: entities Aviado's identity vocabulary types as supplement, class or combination and marks recommendable; prescription drugs, research compounds, foods and unknown ids are excluded (use get_interventions_for_biomarker for all of them). Each hit has direction (up/down/bidirectional), prior_weight (evidence confidence 0-1, not effect size), graph_status (proven/suspected: internal eligibility labels, not clinical verification), has_verified_support / mixed_evidence, and dose (mean study dose {value, unit}: evidence context, not a dosing recommendation; see coverage.dose_note). Rows carry up to 3 PubMed IDs (pmids; URL template in coverage) with n_studies / rct_count; optional direction (up/down) filters. Null fields and default typing (coverage.row_defaults) are omitted per row. Results are partial and non-exhaustive; pathway_tags are raw graph metadata, not validated mechanisms. The biomarker may be a name, an abbreviation, an Aviado id or a LOINC code (e.g. '4548-4'). Check status first: needs_confirmation / no_match means the input did not resolve, data is null and next_step says how to retry.

NameRequiredDescriptionDefault
limitNoMax results (default 25, max 100)
biomarkerYesBiomarker name, abbreviation, or LOINC code
directionNoOnly rows whose strongest edge moves the biomarker this way ('down' lowers it, 'up' raises it); bidirectional rows match neither

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, yet the description adds substantial context beyond them: null fields and default typing are omitted per row, results are partial and non-exhaustive, prior_weight is confidence not effect size, graph_status is an internal eligibility label not clinical verification, dose is evidence context not a dosing recommendation, and pathway_tags are unvalidated raw metadata. This is exactly the caveat layer an agent needs for safe interpretation.

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?

The purpose is front-loaded in the first sentence and every clause carries information, but the body is a dense run-on paragraph that mixes field semantics, status handling and caveats, making it harder to scan than it needs to be. No filler sentences, though.

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 carries the full burden of explaining the return shape, and it does so field by field (direction, prior_weight, graph_status, has_verified_support/mixed_evidence, dose, pmids, n_studies/rct_count) plus failure handling via the status field. Nothing needed to call or interpret it correctly is 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, and the direction enum semantics are already spelled out in the schema. The description does add meaning beyond it by noting the biomarker may also be an Aviado id (the schema only lists name, abbreviation, or LOINC code) and by illustrating the LOINC format with '4548-4', which reduces failed lookups.

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 states a specific verb+resource (supplements that move a biomarker) and immediately scopes it to Aviado's registry-classified entities, explicitly distinguishing it from get_interventions_for_biomarker which covers drugs, research compounds and foods. An agent can route between the two siblings without opening either schema.

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?

It gives explicit when-to-use (supplements only, registry-classified and recommendable), when-not (prescription drugs, research compounds, foods, unknown ids), the named alternative to use in that case, and even a pre-call step ('Check status first: needs_confirmation / no_match means the input did not resolve'). Nothing is left to inference.

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

get_supplements_for_conditionSupplements for a conditionA
Read-onlyIdempotent
Inspect

Supplements associated with a health condition or goal (e.g. 'insomnia', 'anxiety', 'joint pain'), strongest evidence first. evidence_basis direct rows come from studies of the condition; biomarker_proxy rows are inferred from the supplement's effect on the named proxy_biomarkers (each backed by an effect the Aviado app shows), are hypotheses, and are graded at most D. Only recommendable supplements are listed by default (rows carry intervention_type, entity_type, regulatory_status and recommendable only where they differ from coverage.row_defaults; null fields are omitted); include_non_supplements lists prescription drugs and research compounds too, labelled, as context only. dose is a typical study dose {value, unit}: evidence context, not a dosing recommendation (coverage.dose_note). Partial: absence is not evidence a supplement does not help. A weak or ambiguous condition name returns needs_confirmation with candidate conditions; confirm one and pass its id. Check status first: needs_confirmation / no_match means the input did not resolve, data is null and next_step says how to retry.

NameRequiredDescriptionDefault
limitNoMax supplements to return, ranked by evidence (default: 25, max: 50)
conditionYesHealth condition, symptom, or goal (e.g., 'insomnia', 'anxiety', 'brain fog', 'joint pain')
min_gradeNoMinimum evidence grade to include (default: D = all)D
include_non_supplementsNoAlso list prescription drugs, research compounds and other non-recommendable entities, labelled (default false)

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, yet the description adds substantial semantics beyond them: biomarker_proxy rows are hypotheses graded at most D, only recommendable supplements appear by default, null fields are omitted, dose is evidence context rather than a dosing recommendation, and partial results do not imply absence of effect. This is exactly the extra behavioral context annotations cannot carry.

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?

Purpose and ranking rule are front-loaded, and nearly every clause carries non-redundant semantics. It is, however, a dense run-on paragraph with nested parentheticals that could be broken into shorter statements without losing content.

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 carries the full burden and delivers: it names the row fields (intervention_type, entity_type, regulatory_status, recommendable, coverage.row_defaults), the dose shape {value, unit}, the evidence_basis categories, and the error/confirmation envelope. An agent has everything needed to call and interpret it.

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 real meaning: include_non_supplements is described as surfacing labelled prescription drugs and research compounds 'as context only', and condition resolution behavior (ambiguous input -> needs_confirmation with candidate ids) is documented beyond the schema's simple string definition.

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?

States a specific verb and resource ('Supplements associated with a health condition or goal') plus the ranking rule ('strongest evidence first') and the evidence_basis split that separates direct rows from biomarker_proxy rows. This lets an agent distinguish it from the sibling get_supplements_for_biomarker without opening either schema.

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 operational context: check status first, needs_confirmation/no_match means the input did not resolve and next_step tells you how to retry, and confirm a candidate condition then pass its id. It also explains when to set include_non_supplements. It stops short of naming sibling alternatives (e.g. search_conditions) explicitly, so it is clear context rather than a full when/when-not routing guide.

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

get_top_brandsTop brands by ProofMarkA
Read-onlyIdempotent
Inspect

Highest-quality brands for a supplement: one product per brand (its best), ranked by ProofMark, Aviado's product quality score (testing, ingredients, transparency, manufacturing, certifications). proofmark_100 is the 0-100 score (proofmark = proofmark_100/100) with a letter grade; proofmark_status is graded, below_coverage_floor (assessed but too little evidence to score; not a low score) or not_scored, and only graded products carry a score. Retired catalog products are excluded. match_basis says whether products matched the supplement identity or a text search (less precise; may include multi-ingredient products). price, retailer and product_url come from scraped listings and may be missing or stale. 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.

NameRequiredDescriptionDefault
limitNoNumber of results (max 20)
supplementYesSupplement name

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description still adds substantial behavioral context: retired catalog products are excluded, price/retailer/product_url come from scraped listings and may be missing or stale, and unresolved inputs return null data with a next_step. This is exactly the value-add beyond structured fields.

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?

Front-loads the core purpose then moves into field semantics; dense but essentially every sentence carries needed information given there is no output schema. Slightly run-on with multiple clauses packed into single sentences, but not padded.

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?

No output schema exists, so the description takes on the burden of explaining the returned fields (proofmark_100, proofmark_status states, match_basis, price/retailer staleness) and the error path, and it does so thoroughly for a 2-parameter tool.

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% (baseline 3), and the description still extends the schema by clarifying that 'supplement' accepts either a plain name or an Aviado canonical_id, which the schema only calls 'Supplement name'. That extra accepted-input semantics justifies a 4.

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?

Opens with a specific verb+resource ('Highest-quality brands for a supplement'), states the dedup rule (one product per brand, its best) and the ranking basis (ProofMark). An agent can distinguish this from search_supplements or get_supplement_info without opening any schema.

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?

Explains when to prefer this and how to feed it ('supplement may be a name or an Aviado canonical_id (from search_supplements or a candidates list)') and gives a conditional workflow ('Check status first: needs_confirmation / no_match means the input did not resolve... next_step says how to retry'). It does not explicitly name a competing sibling for the same task, so no explicit when-not.

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

search_conditionsFind a health conditionA
Read-onlyIdempotent
Inspect

Find the condition id for a health condition, symptom or goal. Answers when the name matches one condition clearly (data.conditions lists it first, with up to 4 related suggestions); a weak or ambiguous name (e.g. 'blood pressure': high vs low) returns needs_confirmation with the suggestions in candidates. Ask the user which one they mean and pass its id as condition to get_supplements_for_condition.

NameRequiredDescriptionDefault
queryYesSearch query (e.g., 'sleep', 'anxiety', 'brain fog', 'joint pain')

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, but the description adds substantial behavioral detail: the response shape for clear matches (data.conditions first, up to 4 suggestions) and for ambiguous queries (needs_confirmation with candidates). It also prescribes how to resolve ambiguity, which is valuable beyond the structured safety hints.

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 three sentences, front-loads the purpose, then efficiently covers two response modes and the follow-up action. Every sentence adds distinct information without redundancy.

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 compensates by explaining the two possible return shapes and the ambiguity-resolution workflow. Combined with the annotations covering safety, this is sufficient for an agent to invoke and handle the tool correctly.

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

Parameters3/5

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

Schema coverage is 100% and the query parameter already has a descriptive example list. The description adds that the query can also be a symptom or goal, which is a minor semantic expansion over the schema, so the baseline of 3 is appropriate.

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 states a specific verb and resource: 'Find the condition id for a health condition, symptom or goal.' This clearly distinguishes it from sibling tools like get_supplements_for_condition or search_supplements, and an agent can identify its role without opening the schema.

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?

The description gives clear usage context: it explains that clear matches return data.conditions and ambiguous names return needs_confirmation, and it directs the agent to pass the resulting id to get_supplements_for_condition. It does not explicitly state when not to use this tool or name alternative search tools, so it falls short of a 5.

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

search_supplementsFind a supplementA
Read-onlyIdempotent
Inspect

Find the Aviado id for a supplement name, exactly (no fuzzy matching). Answers with matches[0] = the identity: vocabulary_exact, or user_intent for salt/form names ('magnesium citrate' -> magnesium, with a form note). A name Aviado does not hold may be answered with a naming-model suggestion (match_type naming_slm_suggestion, identity false); confirm it with the user before using its id. Family names ('lithium') and confirm-only names return needs_confirmation with the members or candidates in candidates. Each match carries entity_type, regulatory_status and recommendable. Use mode='supplement_retail' only for raw retail product titles. Pass the confirmed canonical_id to the other supplement tools.

NameRequiredDescriptionDefault
modeNoExplicit routing mode; retail titles require supplement_retailidentity
queryYesSupplement identity or raw retail product title

TDQS

A4.8/5.0
Behavior5/5

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

Annotations cover read-only/idempotent/openWorld, and the description goes well beyond them: exact-only matching, the three match_type outcomes (vocabulary_exact, user_intent, naming_slm_suggestion with identity=false), that family/confirm-only names return needs_confirmation with candidates, and which fields each match carries. It discloses failure and ambiguity behavior, which is exactly what an agent needs before trusting an id.

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?

Information-dense and front-loaded: the matching semantics come first, then the alternative outcomes, then the mode rule and hand-off. The parenthetical examples ('magnesium citrate' -> magnesium) earn their space, though the run of match_type tokens makes it feel packed rather than clean.

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 carries the full return-value burden and does so: matches[0] identity, match_type values, identity=false for suggestions, candidates for family names, and per-match fields (entity_type, regulatory_status, recommendable). Nothing needed to consume the response is 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 real semantics: 'query' accepts salt/form names, family names, and retail product titles (not just 'identity'), and it pins down when mode must flip to supplement_retail. It does not add syntax constraints such as the 512-char limit, which the schema already carries.

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?

States a specific verb+resource ('find the Aviado id for a supplement name') and immediately constrains scope ('exactly, no fuzzy matching'), which distinguishes it from the get_* siblings that consume a canonical_id. An agent can tell what this tool returns (an identity, not supplement data) without opening the schema.

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?

Gives explicit routing rules: mode='supplement_retail' only for raw retail titles, and 'pass the confirmed canonical_id to the other supplement tools', plus the instruction to confirm naming_slm_suggestion ids with the user. It also names the situations that yield needs_confirmation. This is when/when-not guidance with the consumer tools identified.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Changedbuild_starter_stack4 fields changed
      • changedInput schema / properties / exclude / description
        Previous value: -"Supplements the user takes or avoids: never suggested, interaction-checked"New value: +"Supplements the user takes or avoids, and medications by generic name (e.g. 'sertraline'): supplements are never suggested; medications are checked against every pick"
      • changedInput schema / properties / goal / description
        Previous value: -"Goal, condition or biomarker (e.g. 'sleep', 'LDL cholesterol')"New value: +"Goal, condition or biomarker (e.g. 'insomnia', 'LDL cholesterol')"
      • changedInput schema / properties / include_claim_link / default
        Previous value: -trueNew value: +false
      • changedInput schema / properties / include_claim_link / description
        Previous value: -"Create a claim link (default true; only when enabled)"New value: +"Opt in (default false): create a claim link, which stores a small record for 30 days (only when enabled)"
  2. 4 tool updates
    • Addedbuild_starter_stack
    • Addedcheck_interaction
    • Changedget_interventions_for_biomarker1 field changed
      • addedInput schema / properties / direction
        Added value: +{
        +  "description": "Only rows whose strongest edge moves the biomarker this way ('down' lowers it, 'up' raises it); bidirectional rows match neither",
        +  "enum": [
        +    "up",
        +    "down"
        +  ],
        +  "type": "string"
        +}
    • Changedget_supplements_for_biomarker1 field changed
      • addedInput schema / properties / direction
        Added value: +{
        +  "description": "Only rows whose strongest edge moves the biomarker this way ('down' lowers it, 'up' raises it); bidirectional rows match neither",
        +  "enum": [
        +    "up",
        +    "down"
        +  ],
        +  "type": "string"
        +}
  3. 2 tool updates
    • Changedget_supplement_interactions4 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"
        +}
    • Changedget_supplements_for_condition1 field changed
      • addedInput schema / properties / include_non_supplements
        Added value: +{
        +  "default": false,
        +  "description": "Also list prescription drugs, research compounds and other non-recommendable entities, labelled (default false)",
        +  "type": "boolean"
        +}
  4. 1 tool update
    • Changedsearch_supplements2 fields changed
      • addedInput schema / properties / mode
        Added value: +{
        +  "default": "identity",
        +  "description": "Explicit routing mode; retail titles require supplement_retail",
        +  "enum": [
        +    "identity",
        +    "supplement_retail"
        +  ],
        +  "type": "string"
        +}
      • changedInput schema / properties / query / description
        Previous value: -"Search query (e.g., 'fish oil', 'CoQ10', 'NAC')"New value: +"Supplement identity or raw retail product title"
  5. 9 tool updates
    • Changedget_biomarkers_for_supplement2 fields changed
      • addedInput schema / properties / supplement / maxLength
        Added value: +512
      • addedInput schema / properties / supplement / minLength
        Added value: +1
    • Addedget_interventions_for_biomarker
    • Changedget_supplement_info2 fields changed
      • addedInput schema / properties / supplement / maxLength
        Added value: +512
      • addedInput schema / properties / supplement / minLength
        Added value: +1
    • Changedget_supplement_interactions2 fields changed
      • addedInput schema / properties / supplement / maxLength
        Added value: +512
      • addedInput schema / properties / supplement / minLength
        Added value: +1
    • Changedget_supplements_for_biomarker2 fields changed
      • addedInput schema / properties / biomarker / maxLength
        Added value: +512
      • addedInput schema / properties / biomarker / minLength
        Added value: +1
    • Changedget_supplements_for_condition2 fields changed
      • addedInput schema / properties / condition / maxLength
        Added value: +512
      • addedInput schema / properties / condition / minLength
        Added value: +1
    • Changedget_top_brands2 fields changed
      • addedInput schema / properties / supplement / maxLength
        Added value: +512
      • addedInput schema / properties / supplement / minLength
        Added value: +1
    • Changedsearch_conditions2 fields changed
      • addedInput schema / properties / query / maxLength
        Added value: +512
      • addedInput schema / properties / query / minLength
        Added value: +1
    • Changedsearch_supplements2 fields changed
      • addedInput schema / properties / query / maxLength
        Added value: +512
      • addedInput schema / properties / query / minLength
        Added value: +1
  6. 4 tool updates
    • Changedget_biomarkers_for_supplement1 field changed
      • addedInput schema / properties / limit
        Added value: +{
        +  "default": 25,
        +  "description": "Max results (default 25, max 100)",
        +  "maximum": 100,
        +  "minimum": 1,
        +  "type": "integer"
        +}
    • Changedget_supplements_for_biomarker1 field changed
      • addedInput schema / properties / limit
        Added value: +{
        +  "default": 25,
        +  "description": "Max results (default 25, max 100)",
        +  "maximum": 100,
        +  "minimum": 1,
        +  "type": "integer"
        +}
    • Changedget_supplements_for_condition3 fields changed
      • addedInput schema / properties / limit / maximum
        Added value: +50
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • changedInput schema / properties / limit / type
        Previous value: -"number"New value: +"integer"
    • Changedget_top_brands3 fields changed
      • addedInput schema / properties / limit / maximum
        Added value: +20
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • changedInput schema / properties / limit / type
        Previous value: -"number"New value: +"integer"
  7. 1 tool update
    • Changedget_supplements_for_condition1 field changed
      • addedInput schema / properties / limit
        Added value: +{
        +  "default": 25,
        +  "description": "Max supplements to return, ranked by evidence (default: 25, max: 50)",
        +  "type": "number"
        +}
  8. 2 tool updates
    • Addedget_supplements_for_condition
    • Addedsearch_conditions
  9. 6 tool updates
    • First observedget_biomarkers_for_supplement
    • First observedget_supplement_info
    • First observedget_supplement_interactions
    • First observedget_supplements_for_biomarker
    • First observedget_top_brands
    • First observedsearch_supplements

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables assistants and editors to query a curated, read-only evidence graph for graded findings about what compounds, supplements, nutrients and foods have been shown to do in the human body, each with an automatic A–F grade, the verbatim source sentence, paper, population, dose and a permalink, plus reference-database relations labelled as hypotheses. It also exposes no products, prices or purchase links, and returns no medical advice or rankings of what to take.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables traceable scholarly literature reviews using free APIs, generating reports where every claim links to evidence IDs.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources