Skip to main content
Glama
erinheit451

Supplement Advisor MCP Server

by erinheit451

Supplement Advisor MCP Server

Evidence-based supplement recommendation MCP server. 19 supplements, 40+ conditions, medication interaction checking, form quality classification. Data sourced from NIH DSLD, PubMed, NSF, and USP.

Built for use with Claude, Cursor, Windsurf, and any MCP-compatible client.

Tools

Tool

Description

recommend_supplement

Get ranked supplement recommendations for a condition with clinical evidence, dosing, cost-per-dose, and purchase links

compare_forms

Compare different forms of a supplement (e.g., magnesium glycinate vs citrate vs oxide) with absorption data and warnings

check_interactions

Check if medications deplete nutrients — covers statins, metformin, PPIs, birth control, and more

get_dosage

Get evidence-based dosage recommendations by condition, with clinical trial references and timing guidance

classify_form

Paste any product name or ingredient list and get a quality verdict on the supplement form used

Related MCP server: citedhealth-mcp

Supplements Covered

Magnesium (glycinate), Vitamin D3, Omega-3, Creatine, Iron (bisglycinate), Vitamin B12, CoQ10, Collagen, Multivitamin, Protein, Biotin, Calcium Citrate, Vitamin C, Methylfolate, Probiotics, Ashwagandha, L-Theanine, Tongkat Ali, Zinc

Quick Start (npx)

npx supplement-advisor-mcp

Claude Desktop / Claude Code Configuration

Add to your MCP config:

{
  "mcpServers": {
    "supplement-advisor": {
      "command": "npx",
      "args": ["-y", "supplement-advisor-mcp"]
    }
  }
}

Installation (from source)

git clone https://github.com/erinheit451/supplement-advisor-mcp.git
cd supplement-advisor-mcp
npm install
npm run build
npm start

Data Sources

Full comparison pages and product rankings: verifiedsupplementdata.com

How It Works

The server loads structured evidence data (clinical doses, form comparisons, medication-nutrient interactions) and exposes it through MCP tools. When an AI assistant receives a supplement question, it calls the appropriate tool and gets back formatted, citation-backed recommendations.

Product rankings are based on cost-per-effective-daily-dose, third-party certification status, and clinical evidence — not sponsorship.

License

MIT

Available Tools

5 tools
check_interactionsA

Check if medications deplete nutrients, creating supplement needs. Returns depleted nutrients, mechanisms, severity, and recommended supplements.

ParametersJSON Schema
NameRequiredDescriptionDefault
medicationYesMedication name or class (e.g., 'statin', 'metformin', 'PPI', 'birth-control', 'omeprazole')

TDQS

A4.2/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses the behavioral outcome and return content in detail, including the types of information returned. It lacks caveats about limitations or data sources, but for a read-only informational tool, 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?

The description is two concise sentences, front-loaded with the primary purpose and followed by the output specifics. Every word earns its place; 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?

For a single-parameter tool with no output schema, the description covers the purpose and return fields well. It could potentially detail the output structure or mention that multiple results may be returned, but this is not necessary for basic use.

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 schema has 100% coverage, including a description and examples for the 'medication' parameter. The tool description does not add additional parameter semantics beyond what the schema already provides, so the baseline score 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 clearly states the tool checks medication-induced nutrient depletion and explicitly lists the output fields (depleted nutrients, mechanisms, severity, recommended supplements). This specific verb and resource scope distinguishes it from sibling tools like recommend_supplement and get_dosage.

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 clearly implies when to use the tool: when you have a medication and need to know if it depletes nutrients. It gives context but does not explicitly name alternatives or exclusions, 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.

classify_formA

Check if a supplement product uses a good or bad form. Paste any product name or ingredient list and get a quality verdict. Example: 'Nature Made Magnesium Oxide 250mg' → verdict: poor, absorption: ~4%, better alternative: glycinate.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryYesThe supplement category
product_textYesThe product name, title, or ingredient text to classify

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses the output contract (verdict, absorption, better alternative) and gives a concrete example. However, it does not mention any limitations (e.g., coverage boundaries, reliance on a database) or the meaning of 'good'/'bad' forms, which could be useful but is not critical for basic use.

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 extremely concise, front-loaded with the primary purpose, and includes a helpful example. Every sentence earns its place, with no filler or 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 the tool's simplicity (2 params, no output schema), the description sufficiently explains both input and output. It provides the expected verdict format and example, making it complete for an agent to select and invoke 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 description coverage is 100%, so the baseline is 3. The description does not add detail about the 'category' parameter beyond what the schema already lists, and while it hints at product_text usage via the example, it does not explain how category affects classification. Thus, it provides minimal added value over 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 a specific action ('Check if a supplement product uses a good or bad form') and resource (supplement product), which is distinct from siblings like recommend_supplement or compare_forms. The example further clarifies the tool's unique output, making its purpose unambiguous.

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 provides clear usage instructions ('Paste any product name or ingredient list') and implies when to use the tool (when a quality verdict on a single product's form is needed). However, it does not explicitly compare with or exclude sibling tools, so it lacks an explicit when-not-to-use statement.

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

compare_formsA

Compare different forms of a supplement (e.g., magnesium glycinate vs citrate vs oxide). Shows absorption, best uses, warnings, and which form to buy.

ParametersJSON Schema
NameRequiredDescriptionDefault
supplementYesThe supplement to compare forms for

TDQS

A4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses what the tool returns (absorption, best uses, warnings, purchase recommendation), giving insight into its behavior. It does not mention caveats like medical disclaimers or data sources, but for a comparison tool this is reasonably transparent.

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 sentences, front-loaded with the main purpose and enriched with an example. Every word earns its place, and the output list is concise without being exhaustive. No filler or redundancy.

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?

For a simple tool with one parameter and no output schema, the description is quite complete. It explains what the tool does and what it returns. It could be more explicit about scope (e.g., only supplements in the enum) or mention anything like data freshness, but those are not critical given the schema.

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 schema already provides a description for the 'supplement' parameter and a full enum, so schema coverage is 100%. The description adds context about the tool's overall behavior but not additional semantic detail about the parameter itself (e.g., constraints or format). Baseline of 3 is appropriate since the schema does the heavy lifting.

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 with a specific verb ('Compare') and resource ('different forms of a supplement'), and includes concrete examples (magnesium glycinate vs citrate vs oxide). It also lists the outputs (absorption, best uses, warnings, which form to buy), distinguishing it from sibling tools like recommend_supplement or get_dosage.

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 when to use the tool (when comparing forms of a supplement) but does not explicitly state exclusions or alternatives. It doesn't mention when not to use it or how it relates to sibling tools like check_interactions or classify_form. Usage context is clear but not elaborated.

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

get_dosageA

Get evidence-based dosage recommendations for a supplement, with clinical trial doses by condition, timing, and safety considerations.

ParametersJSON Schema
NameRequiredDescriptionDefault
conditionNoSpecific condition for targeted dose (e.g., 'sleep', 'anxiety', 'deficiency')
supplementYesThe supplement to get dosage for

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden of behavioral disclosure. It indicates that recommendations are evidence-based, include clinical trial doses by condition, timing, and safety considerations, which is useful context. However, it does not describe the response format, error handling, or behavior for unknown supplements/conditions.

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 a single, front-loaded sentence that efficiently conveys the tool's purpose and key features (evidence-based, condition-specific, timing, safety). Every word contributes value; no fluff.

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?

For a relatively simple 2-parameter tool, the description covers the core aspects: dosage, condition, timing, safety. However, because there is no output schema and no annotations, the agent is left guessing about return structure. Exclusions or prerequisites are absent, making it slightly incomplete but still 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 description coverage is 100%, so the schema already documents both parameters. The description adds minimal extra meaning beyond saying 'by condition', which loosely reinforces the condition parameter's role. It does not provide additional syntax or format details, 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 function: retrieving evidence-based dosage recommendations for a supplement. It specifies the resource (dosage recommendations) and the action (get), and it distinguishes this tool from siblings like recommend_supplement or check_interactions by focusing solely on dosage.

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 need dosage recommendations. However, it does not explicitly mention when to prefer this tool over siblings or when not to use it. No alternatives are referenced, so guidance is only implicit.

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

recommend_supplementA

Get evidence-based supplement recommendations for a specific condition. Returns ranked products with clinical evidence, dosing, cost-per-dose, and purchase links.

ParametersJSON Schema
NameRequiredDescriptionDefault
conditionNoThe health condition or goal (e.g., 'sleep', 'anxiety', 'deficiency', 'muscle-building'). Omit for general recommendation.
supplementYesThe supplement to recommend, e.g. 'magnesium', 'vitamin-d', 'creatine', 'probiotics', 'ashwagandha', 'tongkat-ali', 'zinc', 'l-theanine'. Over 100 supplements are covered; call with an unrecognised name to get the full list.

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses the main behavior: returning ranked products with clinical evidence, dosing, cost-per-dose, and purchase links. This makes the tool's read-only nature and output format clear, though it could mention edge-case behavior (e.g., invalid inputs).

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 concise sentences front-load the purpose and then detail what is returned. No wordy or redundant explanations.

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?

The description covers the core function and return format, and the schema is rich. It does not explicitly differentiate from siblings at a usage level, but given the simple nature of the tool and the clear purpose, it is 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?

The input schema provides 100% coverage with detailed descriptions for both parameters, including examples and the note about unrecognized supplement names. The description adds little beyond the schema, so it meets but does not exceed the baseline.

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 function: 'Get evidence-based supplement recommendations for a specific condition.' It specifies the verb, resource, and context, and it is distinct from sibling tools like compare_forms and get_dosage, which focus on different aspects.

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 provides clear context for when to use the tool ('for a specific condition') and mentions the ability to omit condition for a general recommendation. It does not explicitly name alternatives or exclusions, but the purpose is unambiguous enough for an agent to infer when to use this tool over siblings.

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

TDQS

A4.2/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: recommending supplements for conditions, comparing forms, checking medication-induced depletions, providing dosage info, and classifying product forms. No two tools overlap in function.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern (recommend_supplement, compare_forms, check_interactions, get_dosage, classify_form). The verbs are descriptive and the pattern is uniform.

Tool Count5/5

Five tools is well-scoped for the domain, covering the key advisory workflows without bloat. Each tool addresses a distinct user need, making the set concise yet functional.

Completeness4/5

The tool set covers core workflows: condition-based recommendations, form comparisons, medication depletions, dosing, and product quality checks. A minor gap is lack of a tool for supplement-supplement interaction checking, but this is not a critical omission for the intended scope.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server for CITED Health that allows AI assistants to query evidence-based supplement data, including ingredient evidence grades, health conditions, PubMed papers, glossary terms, and educational guides.
    MIT
  • F
    license
    B
    quality
    B
    maintenance
    An MCP server that provides AI-assisted clinical decision support for medication safety, integrating trusted biomedical sources to detect drug interactions and suggest therapeutic alternatives.
    5
    1
  • A
    license
    A
    quality
    C
    maintenance
    An MCP server for longevity and metabolic medicine that provides a medication catalog, dosing protocols, contraindication screening, drug interaction checks, lab recommendations, and patient intake pathways across 35 compounds.
    9
    141
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/erinheit451/supplement-advisor-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server