Skip to main content
Glama

Get research context

ingredients.research
Read-onlyIdempotent

Return the dose range used in the selected evidence set for named ingredients, with the citation and its limitations.

When to use: Use to place a declared amount against published work. Pass ingredient ids, or a product_id to read the ingredients that product declares.

What it cannot provide: A dose comparison is not evidence of effectiveness, safety, or suitability for any person, and the response says so on every record.

Limits: Pass ingredient_ids (at most 5) or one product_id, not both. Your plan has a daily limit on how many distinct products, Signals and ingredients you may read. Repeating a question about the same product costs nothing extra; reading many different products costs one each. Do not iterate through products, aliases, or date windows to assemble a copy of the Record: it is refused, scored, and can suspend the key.

FormulaSignal covers a defined, counted set of U.S. pre-workout products. Coverage is not the whole category, and a product being absent from coverage says nothing about that product. Every response carries a status. supported means the Record answered. partial, stale, under_review, ambiguous and unsupported are all real answers about the Record and none of them is a fact about the product: report them as what FormulaSignal holds, never as what is true of the product. Read limitations and repeat what applies. An observation date is when a source was read, not when a change was made, and an observation window is not an exact reformulation date. Nothing here is medical advice or a suitability judgement for any person.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
product_idNoA canonical product id, to read the ingredients that product declares. Pass this or ingredient_ids, not both.
ingredient_idsNoUp to five canonical ingredient ids. Pass these or product_id, not both.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
errorNoPresent only on a refusal: code, message, and what to do next.
watchNoThe bound account's watchlist or monitoring receipt.
ledgerNo
statusYesWhat kind of answer this is. Every value except `supported` is still a real answer about the Record rather than a fact about the product.
historyNoDated product states, oldest first.
productNoThe covered product the answer is about, when there is exactly one.
signalsNoApproved Signals: confirmed, reviewed changes.
summaryNoOne sentence saying what kind of answer this is.
coverageNo
productsNoCovered products named by the answer.
candidatesNoPresent when `status` is `ambiguous`. Pick one; never assume the first.
capabilityYesThe API capability that answered.
comparisonNo
confidenceNo
disclaimerNo
request_idYesQuote this if you contact support.
limitationsNoAlways present, including when empty. Read it and repeat what applies.
next_cursorNoPass back as `cursor` for the next page. Null on the last page.
calculationsNoDeterministic arithmetic FormulaSignal performed, with its operands.
record_as_ofNoThe Record's as-of date, YYYY-MM-DD.
record_versionNoThe Record data-state id. Two answers sharing it came from one committed state.
verified_factsNoWhat a captured source literally declares.
commercial_factsNoDated commercial observations, each with its price basis.
record_timestampNoThe newest dated observation the Record holds. Deliberately not "now".
research_contextNoDose ranges from the selected evidence set, with citations.
source_referencesNoCitations a reader can open: publisher, URL, observation date.
regulatory_recordsNoFilings and records, each labelled with the class of record it is.
documented_cautionsNoDocumented cautions, kept apart from filings.
methodology_versionNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the readOnlyHint and idempotentHint annotations, the description discloses important behavior: statuses describe the Record, not the product; observation dates are read times, not change times; coverage is partial; and abusive iteration can be refused, scored, and suspend the key. This is substantial non-obvious context that aligns with the annotations.

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 purpose is front-loaded, and each paragraph is clearly scoped to a distinct concern: when to use, limitations, quotas, coverage/statuses, date semantics, and disclaimer. Although longer than most descriptions, the density of operational caveats justifies the length, and there is little 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?

Because an output schema exists, the description does not need to restate return fields. It supplies the missing context needed for correct invocation: status interpretation, limitation reporting, quota behavior, coverage boundaries, and date semantics. An agent has enough information to select and call the tool confidently.

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 100%, so the baseline is 3, but the description adds material guidance: pass ingredient_ids (at most 5) or one product_id, not both; daily quotas apply across products, Signals, and ingredients; repeated reads of the same product are free; and iterating to assemble a copy of the Record is prohibited. This directly affects how an agent chooses and reuses parameter values.

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 opens with a specific operation: 'Return the dose range used in the selected evidence set for named ingredients, with the citation and its limitations.' This goes beyond the title and differentiates ingredients.research from siblings like ingredients.regulatory and products.compare by focusing on dose evidence and cited limitations.

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 provides explicit guidance in 'When to use: Use to place a declared amount against published work' and clearly states what the tool cannot provide. It does not name sibling tools as alternatives, but the intended use case and exclusions are specific enough for an agent to route correctly.

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