Skip to main content
Glama

iNutriPlan Supplement Database MCP Server

Server Details

MCP server exposing supplements database used by iNutriPlan.com

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.1/5 across 6 of 6 tools scored. Lowest: 3.4/5.

Server CoherenceA
Disambiguation5/5

Each tool targets a distinct operation: ingredient lookup, product detail, category listing, category retrieval, ingredient-based search, and general search. No overlap in purpose.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern (e.g., get_ingredient_info, list_categories, search_supplements), using snake_case and clear verbs.

Tool Count5/5

Six tools cover the domain of supplement database search and retrieval without unnecessary bloat or deficiency. The number is appropriate for the scope.

Completeness4/5

The tools cover browsing categories, searching by query or ingredient, and retrieving details and research. Missing listing all ingredients or brand-specific search, but core workflows are supported.

Available Tools

6 tools
get_ingredient_infoBInspect

Look up evidence-graded research context for a supplement ingredient from the curated registry (99 ingredients).

Returns canonical name, aliases, health goals, mechanisms of action, evidence grade (Strong / Moderate / Preliminary), research notes, and recommended iHerb search terms.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesIngredient name, alias, or health goal keyword, e.g. "magnesium", "ashwagandha", "sleep", "testosterone", "weight_loss".

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

Discloses return fields and notes the registry size (99 ingredients). With no annotations, it provides moderate transparency about what the tool does, but lacks information on error handling (e.g., unknown ingredient) or any side effects.

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?

Two sentences cover action, source, and return fields efficiently. Front-loaded with the primary purpose and no redundant information. Every sentence earns its place.

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?

Well-suited for a simple lookup tool with one parameter and an output schema. Lists returned fields and registry scope. Could be improved by noting possible errors (e.g., ingredient not found), but overall sufficiently complete.

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% and already explains the parameter well (name, alias, or health goal keyword). The tool description reinforces the purpose but adds little beyond what the schema provides, so baseline score is appropriate.

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?

Clearly states it looks up evidence-graded research context for supplement ingredients from a curated registry. Lists return fields. However, it does not explicitly differentiate from sibling tools like get_supplement_detail or search_by_ingredient, which could cause ambiguity.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. The description implies use for ingredients, but there is no mention of when not to use it or which sibling tool to choose for different scenarios.

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

get_supplement_detailAInspect

Retrieve complete details for a single iHerb product by its numeric product ID (visible in iHerb URLs, e.g. "72711" from https://www.iherb.com/pr/p/72711).

Returns the full supplement facts panel (nutrients, amounts, % daily values), ingredients list, warnings, serving info, and the affiliate purchase link.

ParametersJSON Schema
NameRequiredDescriptionDefault
product_idYesiHerb numeric product ID as a string, e.g. "72711".

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

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

With no annotations, the description discloses the return content (supplement facts, ingredients, warnings, serving info, affiliate link) but does not discuss authentication, rate limits, or side effects. It is sufficiently transparent for a read-only retrieval tool.

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 two focused sentences, front-loaded with the action, providing essential information without any waste.

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?

Given the low complexity (1 required parameter, output schema present), the description fully explains purpose, parameter, and return content, leaving no gaps.

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%, and the description adds value by explaining the parameter format (numeric string from URL) with an example, enhancing clarity beyond 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?

The description clearly states 'Retrieve complete details for a single iHerb product by its numeric product ID,' specifying the verb and resource. It distinguishes from sibling tools like search_supplements or list_categories by focusing on retrieving details for a specific product.

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

Usage Guidelines3/5

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

The description implies usage when you have a numeric product ID and need full details, but does not explicitly state when to use this tool over alternatives or provide when-not scenarios.

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

get_supplements_by_categoryAInspect

List top-rated in-stock products within a specific iHerb category. Use list_categories first to discover valid category slugs.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum results (1–60). Default 20.
min_ratingNoMinimum star rating (0.0–5.0). Default 4.0.
category_slugYesCategory slug, e.g. "vitamins", "supplements", "brain-cognitive", "sports", "magnesium-complex".

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

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

With no annotations provided, the description fully carries the burden of behavioral disclosure. It states the tool returns top-rated and in-stock products, implying filtering by rating and availability. This is adequate for a straightforward read operation; no side effects or destructive actions are indicated.

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 only two sentences, with the first clearly stating the purpose and the second providing essential prerequisite guidance. Every sentence adds value, no fluff or repetition.

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?

Given the presence of an output schema (so return values need not be explained) and three well-documented parameters, the description is adequate. It covers purpose, prerequisite, and basic behavior. It could mention sorting order (e.g., by rating descending) but is otherwise complete for a simple listing tool.

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?

The input schema has 100% description coverage, so the baseline is 3. The description adds the context of 'top-rated' and 'in-stock' but does not explain parameter syntax or usage beyond what the schema already provides (e.g., defaults and ranges).

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 clearly states the tool lists top-rated in-stock products within a specific iHerb category, providing a specific verb (list), resource (products), and scope (category). This distinguishes it from sibling tools like get_supplement_detail (single product) and list_categories (lists categories).

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 explicitly instructs to use list_categories first to discover valid category slugs, which is excellent guidance for the agent. It implies when to use this tool (when you have a category and want top-rated in-stock items) but does not explicitly state when not to use or mention alternatives like search_supplements.

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

list_categoriesAInspect

Return all available iHerb product categories with their URL slugs and live product counts. Use the slug value with get_supplements_by_category to browse products within a specific category.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

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

No annotations are provided, so the description carries the burden. It discloses that the tool is a read operation returning data (categories, slugs, counts). It doesn't add further behavioral details like performance or size, but for a simple list with no parameters, this is adequate.

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?

Two sentences, front-loaded with purpose, then usage guidance. Every word is necessary and no 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?

Given no parameters, an output schema exists (from context), and the description explains what is returned and how to use the result. The description is fully complete for 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?

The tool has 0 parameters, so baseline is 4. The description correctly provides no parameter info since none exist.

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 clearly states 'Return all available iHerb product categories with their URL slugs and live product counts', specifying the verb 'Return', resource 'categories', and exact data returned. It also distinguishes itself from siblings by mentioning the slug is used with get_supplements_by_category.

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 explicitly says 'Use the slug value with get_supplements_by_category to browse products within a specific category', providing a clear use case. While it doesn't mention when not to use it, the context is sufficient for an agent to decide.

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

search_by_ingredientAInspect

Find products that contain a specific ingredient or compound in their ingredients list (e.g. "ashwagandha", "CoQ10", "zinc bisglycinate").

Also returns evidence-graded research context from the ingredient registry when the ingredient is recognised — goals, mechanisms, evidence grade.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum products to return (1–40). Default 20.
ingredientYesIngredient or compound name to search for.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

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

With no annotations, the description carries the transparency burden. It discloses two key behaviors: returns products and includes evidence-graded research context when ingredient is recognized. This goes beyond basic listing. However, it does not mention error handling or behavior for unrecognized ingredients.

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?

Two sentences, no fluff. Main purpose is stated first, then additional detail about research context. Every sentence adds value.

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?

Given an output schema exists (not shown), the description partially covers return values by mentioning research context. It could mention whether products are paginated or what happens with unrecognized ingredients, but examples and scope are adequate.

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% with both 'ingredient' and 'limit' parameters described in the schema. The description does not add extra semantic context beyond what the schema already provides, so baseline 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 clearly states the tool's purpose: to find products by ingredient and also return research context. It distinguishes from siblings like 'get_ingredient_info' (which focuses on ingredient details) and 'search_supplements' (broader search). Uses specific verb 'Find' and resource 'products'.

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

Usage Guidelines3/5

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

The description implies usage for ingredient-based product search but does not explicitly state when to use this vs alternatives like 'get_ingredient_info' or 'search_supplements'. No when-not guidance provided.

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

search_supplementsAInspect

Search the iHerb product database using a natural-language query, benefit keyword, ingredient name, or brand name.

Uses the PostgreSQL GIN full-text search index first (fast, relevance-ranked), then falls back to a broader ILIKE scan if FTS yields no results.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum results (1–60). Default 20.
queryYesSearch term, e.g. "magnesium sleep support", "omega 3 fish oil", "vitamin D immune", or a brand name.
min_ratingNoMinimum star rating filter (0.0–5.0). Default 4.0.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

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

Discloses the dual search strategy: FTS index first, then ILIKE fallback. With no annotations, this provides useful behavioral context. Does not mention auth or rate limits, but adequate for a read-only search.

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?

Two short paragraphs, no redundant text. The first sentence immediately states the purpose. Technical details are in a separate paragraph. Every sentence contributes.

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 an output schema present, the description need not detail return values. It covers the main behavioral aspect (search strategy). Could mention ordering or further filtering, but overall sufficient for the tool's simplicity.

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 already covers all 3 parameters (100% coverage). The description adds value by explaining how the query parameter uses FTS and ILIKE. This goes beyond the schema's brief description, justifying a score above baseline 3.

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?

Clearly states the tool searches a product database using natural-language query, benefit keyword, ingredient, or brand name. It differentiates from siblings like search_by_ingredient and get_supplements_by_category.

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

Usage Guidelines3/5

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

Does not explicitly state when to use this tool vs alternatives like get_ingredient_info or search_by_ingredient. The description implies a general search function but lacks usage context or exclusions.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources