io.github.DrBaher/supstack
NPM · @SUPSTACK/CLI · SCANNED AUG 3
Evidence-based supplement research, dosing, safety, and interactions as agent-callable tools.
Available components
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
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
claude mcp add drbaher-supstack -- npx -y @supstack/cli
codex mcp add drbaher-supstack -- npx -y @supstack/cli
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"drbaher-supstack": {
"type": "local",
"command": [
"npx",
"-y",
"@supstack/cli"
],
"enabled": true
}
}
} openclaw mcp add drbaher-supstack --command npx --arg -y --arg @supstack/cli
mcp_servers:
drbaher-supstack:
command: "npx"
args: ["-y", "@supstack/cli"] {
"mcpServers": {
"drbaher-supstack": {
"command": "npx",
"args": [
"-y",
"@supstack/cli"
]
}
}
} 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.
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.
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.
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.
| Name | Type | Req | Description |
|---|---|---|---|
| a | string | yes | — |
| b | string | yes | — |
| c | string | — | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| term | string | yes | — |
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`).
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | — |
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`).
| Name | Type | Req | Description |
|---|---|---|---|
| answers | object | — | — |
| id | string | yes | — |
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`).
| Name | Type | Req | Description |
|---|---|---|---|
| goal | string | yes | — |
| supplement | string | yes | — |
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`).
| Name | Type | Req | Description |
|---|---|---|---|
| answers | object | — | — |
| goal | string | yes | — |
| supplement | string | yes | — |
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`).
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | — |
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`).
| Name | Type | Req | Description |
|---|---|---|---|
| status | string | — | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| format | string | — | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | — | — |
| query | string | — | — |
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).
| Name | Type | Req | Description |
|---|---|---|---|
| medication | string | — | — |
| pathway | boolean | — | — |
| supplements | array | yes | — |
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`).
| Name | Type | Req | Description |
|---|---|---|---|
| age | integer | — | — |
| biologicalSex | string | — | — |
| currentSupplements | array | — | — |
| dietType | string | — | — |
| exerciseFrequency | string | — | — |
| healthConditions | array | — | — |
| medications | array | — | — |
| primaryGoals | array | — | — |
| sleepHours | number | — | — |
| stressLevel | string | — | — |
| tracksBloodwork | boolean | — | — |
| weight | number | — | — |
| weightUnit | string | — | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| cloud | boolean | — | — |
| goals | — | — | — |
| supplements | array | — | — |
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`).
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| protocol | boolean | — | — |
| slug | string | yes | — |
| synergies | boolean | — | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | — | — |
| evidence | string | — | — |
| goal | string | — | — |
| limit | integer | — | — |
| query | string | — | — |
| safety | string | — | — |
| sort | string | — | — |
| type | string | — | — |
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).
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | — |
| brand | string | — | — |
| dose | string | — | — |
| slug | string | — | — |
| timing | string | — | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | — |
| query | string | — | — |
| sort | string | — | — |
| supplement | string | — | — |
| type | string | — | — |
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`).
| Name | Type | Req | Description |
|---|---|---|---|
| days | integer | — | — |
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`).
| Name | Type | Req | Description |
|---|---|---|---|
| block | string | — | — |
| date | string | — | — |
| status | string | — | — |
| supplement | string | — | — |
No output schema declared.
No examples provided.