Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

io.github.DrBaher/supstack

NPM · @SUPSTACK/CLI · SCANNED AUG 3

Evidence-based supplement research, dosing, safety, and interactions as agent-callable tools.

Available components

+37 this week 60 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →

Supply Chain Security37
  • Malware scan not yet available for this package.Unverified
  • Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree.Partial
  • No install/post-install scripts declared.Pass
  • Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency97
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Cryptographically verified build provenance (signed, bound to DrBaher/supstack-cli). View diagnostics → Pass
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 27 days ago).Pass
  • Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability71
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 2220 tokens (~105/item across 21 items; 21 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
  • Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage67
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 0% of tool parameters carry a description.Fail
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

npm · @supstack/cli

# add to Claude Code
claude mcp add drbaher-supstack -- npx -y @supstack/cli
# add to Codex CLI
codex mcp add drbaher-supstack -- npx -y @supstack/cli
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "drbaher-supstack": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@supstack/cli"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add drbaher-supstack --command npx --arg -y --arg @supstack/cli
# ~/.hermes/config.yaml
mcp_servers:
  drbaher-supstack:
    command: "npx"
    args: ["-y", "@supstack/cli"]
// mcp.json
{
  "mcpServers": {
    "drbaher-supstack": {
      "command": "npx",
      "args": [
        "-y",
        "@supstack/cli"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 3 Aug 26 +4
    • Stability: unverified → 0.27 functional
  • 2 Aug 26 +38
    • Install scripts: unverified → pass security
    • Provenance: unverified → pass security
    • Known CVEs: unverified → partial security
    • Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
    • The attested source repository moved: DrBaher/supstack-cli security
    • Tool coverage: 100 → unverified functional
    • Security disclosure: fail → unverified functional
    • Dependency health: unverified → partial functional
    • Maintenance: unverified → pass functional
    • MCP protocol: unverified → pass functional
    • Schema quality: unverified → good functional
    • License: unverified → pass functional
    • First check of Schema quality: unverified functional
    • Licence: MIT functional
  • 1 Aug 26 −5
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 27 Jul 26 23

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Analysed npm/@supstack/[email protected]

Provenance verified

Ecosystem: npm · Outcome: verified

Reason: verified

Source repo:
DrBaher/supstack-cli
Certificate issuer:
https://token.actions.githubusercontent.com
Certificate SAN:
https://github.com/DrBaher/supstack-cli/.github/workflows/release.yml@refs/tags/v0.18.2
Rekor log index:
2084612747
Predicate type:
https://slsa.dev/provenance/v1
Subject digest:
sha512:8a8e2ff4d7ac1434bde65763ef39816f401f7c5ecc11746adccd2fb1e3984599aad3a4af478280923ca1f452c3af7144bf2011c396e954e41364c518d
Discovery method:
attestation_endpoint
Dependencies 95 packages

95 packages in the resolved dependency tree · 95 deprecated · 29 stale.

The dependency tree was only partially resolved, so these counts may be incomplete.

MCP tools — 21 exposed · ~2,055 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
supstack_compare ~75

Compare 2 or 3 supplements head-to-head by evidence score, safety rating, and total studies. Pass supplement slugs (a, b, optional c). Returns each supplement's key metrics and the winner per category.

NameTypeReqDescription
astringyes
bstringyes
cstring

No output schema declared.

No examples provided.

supstack_define ~58

Define a supplement-science glossary term such as "bioavailability", "adaptogen", or "meta-analysis". Returns the definition and any aliases. Use when the user asks what a supplement or research term means.

NameTypeReqDescription
termstringyes

No output schema declared.

No examples provided.

supstack_experiment_abandon ~64

Stop one of the signed-in user's in-progress experiments (sets it to 'abandoned' — no verdict). A completed or already-abandoned experiment is rejected. Requires the user to be signed in (`supstack login`).

NameTypeReqDescription
idstringyes

No output schema declared.

No examples provided.

supstack_experiment_check_in ~112

Submit a check-in for one of the signed-in user's experiments. `answers` maps the experiment's check-in question ids to the user's answers (get the questions from supstack_experiments_get → protocol.checkIn.questions, or supstack_experiment_protocol). On the FINAL check-in the verdict is computed and returned. The check-in number is derived server-side. Requires the user to be signed in (`supstack login`).

NameTypeReqDescription
answersobject
idstringyes

No output schema declared.

No examples provided.

supstack_experiment_protocol ~111

Preview the N-of-1 protocol for a supplement × goal WITHOUT starting it: the dosing, schedule, and the baseline + check-in questions (with their ids, types, and options). Call this first so you know which questions to answer before `supstack_experiment_start`. Supplement is a slug, goal is a goal id (see supstack_goals). Requires the user to be signed in (`supstack login`).

NameTypeReqDescription
goalstringyes
supplementstringyes

No output schema declared.

No examples provided.

supstack_experiment_start ~108

Start an N-of-1 experiment for the signed-in user. `answers` maps baseline question ids (from supstack_experiment_protocol) to the user's answers. If required baseline answers are missing, returns a 400 listing them — gather those and retry. Returns the created experiment with its first check-in date. Requires the user to be signed in (`supstack login`).

NameTypeReqDescription
answersobject
goalstringyes
supplementstringyes

No output schema declared.

No examples provided.

supstack_experiments_get ~58

Get one of the signed-in user's experiments in full (protocol, verdict + summary, and check-in responses) by its id. Requires the user to be signed in (`supstack login`).

NameTypeReqDescription
idstringyes

No output schema declared.

No examples provided.

supstack_experiments_list ~62

List the signed-in user's N-of-1 experiments (supplement × goal, status, check-in progress, verdict). Optionally filter by status. Requires the user to be signed in (`supstack login`).

NameTypeReqDescription
statusstring

No output schema declared.

No examples provided.

supstack_export ~58

Export the user's locally-saved supplement stack, with each supplement's details fetched from SupStack (description, dose, evidence score, safety). format=md returns a Markdown document; format=json returns structured items.

NameTypeReqDescription
formatstring

No output schema declared.

No examples provided.

supstack_goals ~123

List SupStack health goals — their ids, names, and categories. Use the returned `id` values as the `goals` argument to `supstack_rate_stack` and `supstack_recommend` (those tools need goal ids, not free text). Call this first to map a user's plain-language goal ("sleep better", "build muscle") to the correct id. Optionally filter with a free-text `query` (matches id or name) or a `category` id.

NameTypeReqDescription
categorystring
querystring

No output schema declared.

No examples provided.

supstack_interactions ~120

Check interactions for supplements (by slug). With `medication` set, checks EACH supplement against that drug and returns the matching drug-interaction warnings with clinical severity (use this for "does my stack interact with <drug>?"). Otherwise: default mode lists pairwise supplement-supplement interactions and shared drug concerns; set pathway=true with exactly two supplements for a deep biochemical analysis (shared enzyme/receptor targets, mechanisms, synergy/conflict score).

NameTypeReqDescription
medicationstring
pathwayboolean
supplementsarrayyes

No output schema declared.

No examples provided.

supstack_profile_get ~55

Read the signed-in user's health profile (age, biological sex, weight, conditions, medications, goals, lifestyle). Returns null if no profile has been set. Requires the user to be signed in (`supstack login`).

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

supstack_profile_set ~154

Update fields on the signed-in user's health profile. Only the fields you pass are changed; omit the rest. Returns the full updated profile. Requires the user to be signed in (`supstack login`).

NameTypeReqDescription
ageinteger
biologicalSexstring
currentSupplementsarray
dietTypestring
exerciseFrequencystring
healthConditionsarray
medicationsarray
primaryGoalsarray
sleepHoursnumber
stressLevelstring
tracksBloodworkboolean
weightnumber
weightUnitstring

No output schema declared.

No examples provided.

supstack_rate_stack ~224

Grade a supplement stack A–F (and 0–100) by how well it covers a set of goals, with a per-goal coverage breakdown and the gaps. Pass `supplements` (slugs) to grade a specific list; omit to grade the user's saved local stack. Pass `goals` (goal ids) to grade against them; omit to use the user's account goals when signed in, otherwise the goals are inferred from the stack. When relaying the result to a user, use the response's plain-language `summary` field (it explains what the score and letter mean) rather than the bare `score`/`letter`. Always tell the user whether goals were given or inferred (`goalsSource`), and that they can pass their own `goals` to get a score tailored to them. To turn a user's plain-language goals into the `goals` ids this tool expects, call `supstack_goals` first.

NameTypeReqDescription
cloudboolean
goals
supplementsarray

No output schema declared.

No examples provided.

supstack_recommend ~64

Personalized supplement recommendations computed from the signed-in user's saved goals and cloud stack, each with a composite score, evidence, the best-matching goal, and any safety warnings. Requires the user to be signed in (`supstack login`).

NameTypeReqDescription
limitinteger

No output schema declared.

No examples provided.

supstack_research ~83

Get a full evidence summary for a single supplement by slug: description, evidence score, recommended dosage, and safety profile (warnings + drug interactions). Optionally include the dosing protocol and synergies. Use when the user wants a deep dive on one supplement.

NameTypeReqDescription
protocolboolean
slugstringyes
synergiesboolean

No output schema declared.

No examples provided.

supstack_search ~118

Search the SupStack supplement library. Provide a free-text query to find supplements by name, and/or structured filters (goal id, category, supplement type, minimum evidence level, safety rating). Returns a ranked list with slug, name, type, and evidence score.

NameTypeReqDescription
categorystring
evidencestring
goalstring
limitinteger
querystring
safetystring
sortstring
typestring

No output schema declared.

No examples provided.

supstack_stack ~165

Manage the user's supplement stack. Local: action="list" returns the local stack (slugs + any dosage/timing/brand); "add"/"remove" with a slug edit it — `add` also accepts dose, timing, and brand. Cloud (requires the user to be logged in): "pull" overwrites the local stack from their account, "push" overwrites their account from local, "sync" merges both (union) and saves to both — all preserving per-supplement dosage/timing/brand. Slugs are SupStack supplement ids (e.g. magnesium).

NameTypeReqDescription
actionstringyes
brandstring
dosestring
slugstring
timingstring

No output schema declared.

No examples provided.

supstack_studies ~103

Search SupStack's research library of peer-reviewed studies. Filter by free-text query, study type (e.g. rct, meta-analysis, systematic-review), and/or supplement slug. Sort by newest, relevance, or year. Returns study titles, journals, years, and study types.

NameTypeReqDescription
limitinteger
querystring
sortstring
supplementstring
typestring

No output schema declared.

No examples provided.

supstack_track_adherence ~57

The signed-in user's adherence rate, current streak, and per-supplement breakdown over the last N days (default 30). Requires the user to be signed in (`supstack login`).

NameTypeReqDescription
daysinteger

No output schema declared.

No examples provided.

supstack_track_log ~83

Log a supplement dose for the signed-in user. Omit `supplement` to log the user's whole stack for the day. Defaults to today / taken. Requires the user to be signed in (`supstack login`).

NameTypeReqDescription
blockstring
datestring
statusstring
supplementstring

No output schema declared.

No examples provided.