Supstack

io.github.DrBaher由 GitHub 帳號 DrBaher 發布v0.18.2更新於 Oct 27, 2026

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

已驗證STDIO僅桌面位置與生活知識與記憶

概覽

AI 產生的概覽

Supstack 將循證補充品研究、劑量、安全性與交互作用查詢包裝成 MCP 工具,資料來自公開的 SupStack API。

可以做什麼
  • 依名稱或目標搜尋、研究補充品,並對兩到三種做並列比較
  • 查詢研究文獻、交互作用路徑、補充品與藥物的交互作用,以及術語釋義
  • 管理本機補充品清單(含劑量、服用時間、品牌),並依目標涵蓋度給出 A–F 評等
  • 匯出清單;登入後還可取得個人化推薦、檢視或設定健康檔案、列出 N-of-1 實驗、記錄服用與遵從度
適用情境
適合需要助理以證據回答補充品問題、在搭配補充品或藥物前檢查交互作用,或協助維護並評估個人補充品清單與服用紀錄的情境。
執行需求
以本機 stdio 程序執行,來自 npm 套件 @supstack/cli(或 Homebrew),透過 mcp 子指令啟動。需要連線至 SupStack API 的網路;匿名讀取不需帳號。帳號相關工具需透過 login 裝置碼流程登入或提供 SUPSTACK_TOKEN。選用設定包括 SUPSTACK_API_KEY、SUPSTACK_API_URL 與 SUPSTACK_HOME。
安裝前請注意
帳號相關工具需要本機設定檔中儲存的權杖;profile_set 與 track_log 會寫入資料並標示為非唯讀,stack push/sync 會把本機清單資料上傳到帳號。年齡、性別、體重等健康檔案資訊會傳送到 SupStack API。匿名使用受每 IP 每分鐘 60 次的速率限制。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Supstack,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

@supstack/cli

Evidence-based supplement intelligence in your terminal — and an MCP server for AI agents.

A thin client over the public SupStack API. Read-only, no account required. One capability registry powers both the CLI and the MCP server.

Status: Phase 2 (accounts) in progress. All read commands below work, plus an MCP server and login/whoami. Install with npm install -g @supstack/cli.

Install

bash
# Homebrew (macOS / Linux)brew install drbaher/supstack/supstack
# or npmnpm install -g @supstack/cli
# or run without installingnpx -y @supstack/cli define adaptogen

Then enable shell completion: supstack completion install.

From source (in this directory): npm install && npm run build && node dist/index.js define adaptogen.

Usage

bash
supstack research magnesium --protocol       # full evidence summary for one supplementsupstack search --goal deep-sleep -n 5       # search by name or filtersupstack compare magnesium glycine           # 2–3 head-to-headsupstack studies "sleep" --type rct          # research librarysupstack interactions caffeine l-theanine --pathway   # interaction check (deep pair analysis)supstack interactions magnesium potassium --medication lisinopril   # supplement × drug checksupstack stack add magnesium --dose 400mg --timing bedtime   # local stack (+ dose/timing/brand)supstack stack sync                          # sync local ⇄ your account (login required)supstack goals --category sleep              # list goal ids (for rate/recommend)supstack rate --goals deep-sleep,sharpen-focus   # grade your stack A–F by goal coveragesupstack experiments start magnesium deep-sleep  # run an N-of-1 experiment (requires login)supstack export --format md                  # export your stacksupstack define bioavailability              # glossary lookupsupstack <command> --json                    # machine-readable output on any commandsupstack --help

Account (Phase 2)

bash
supstack login          # sign in via device-code flow (opens the browser to confirm)supstack whoami         # show the signed-in accountsupstack logout         # sign out and revoke this device's token

login shows a one-time code, opens https://supstack.me/activate, and finishes once you approve in the browser. The token lives in ~/.supstack/config.json (0600). Reads work fully anonymously — an account unlocks personalized features.

Once logged in, sync your stack with your account:

bash
supstack stack pull     # local ← your accountsupstack stack push     # local → your account (keeps dosage/timing/brand for kept items)supstack stack sync     # additive merge of both; preserves existing cloud metadata
supstack profile                              # view your health profilesupstack profile set --age 35 --sex male --weight 80 --weight-unit kgsupstack recommend                            # personalized picks from your goals + stacksupstack experiments list                     # your N-of-1 experiments + verdictssupstack track log                            # log today's stack as takensupstack track adherence                      # your adherence rate, streak, per-supplement

As an MCP server

bash
supstack mcp   # stdio MCP server exposing all capabilities as tools

This gives an agent the full SupStack toolset. Read-only (no account needed): supstack_research, supstack_search, supstack_compare, supstack_studies, supstack_interactions, supstack_stack, supstack_rate_stack, supstack_export, supstack_define.

Account-scoped tools are also exposed — supstack_recommend, supstack_profile_get / supstack_profile_set, supstack_experiments_list / supstack_experiments_get, supstack_track_log, supstack_track_adherence (plus cloud supstack_stack pull/push/sync). These require the user to be signed in (supstack login, or a SUPSTACK_TOKEN); without a token they return a clear "not logged in" error rather than failing. Mutating tools (profile_set, track_log) are flagged readOnlyHint: false for the agent.

Claude Code (one command):

bash
claude mcp add supstack -- supstack mcp

Claude Desktop — add to claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json):

json
{  "mcpServers": {    "supstack": {      "command": "supstack",      "args": ["mcp"]    }  }}

Or run it without a global install via "command": "npx", "args": ["-y", "@supstack/cli", "mcp"]. To use a local checkout, point at the built entrypoint — "command": "node", "args": ["/absolute/path/to/supstack-cli/dist/index.js", "mcp"] (run npm run build first).

Configuration

Env varDefaultPurpose
SUPSTACK_API_URLhttps://supstack.me/api/v1API base URL (override for local dev)
SUPSTACK_API_KEY—Optional API key (anonymous works at 60/min/IP)
SUPSTACK_CACHE_TTL3600Response cache TTL in seconds
SUPSTACK_NO_CACHE—Set to disable the response cache
SUPSTACK_TIMEOUT20Per-request timeout in seconds (or use --timeout)
SUPSTACK_HOME~/.supstackDirectory for config, stack, and cache
SUPSTACK_TOKEN—Override the stored account token (from supstack login)
SUPSTACK_NO_ANON_TOKEN—Disable auto-minting of the anonymous instant-token
SUPSTACK_NO_UPDATE_CHECK—Disable the "update available" notice (also honours NO_UPDATE_NOTIFIER)
NO_COLOR—Disable ANSI colour
FORCE_COLOR—Force ANSI colour on (even when piped)

Global flags available on any command: --json, --no-cache, --timeout <seconds>, --color / --no-color, -q, --quiet.

supstack auth set-key <key> persists a key to ~/.supstack/config.json (written 0600).

Response cache

Read-only API responses are cached under ~/.supstack/cache/ (1-hour TTL by default) to keep repeat lookups well under the 60/min rate limit. Bypass it per command with --no-cache, or manage it with supstack cache clear / supstack cache path. The cache is bounded (oldest entries pruned past a cap).

Shell completion

One-step install for your current shell (writes the script and wires your rc file idempotently; uninstall reverses it):

bash
supstack completion install      # detects bash | zsh | fish from $SHELL

…or generate the script yourself:

bash
supstack completion bash >> ~/.bashrcsupstack completion zsh  > "${fpath[1]}/_supstack"supstack completion fish > ~/.config/fish/completions/supstack.fish

Completions are dynamic — the script forwards what you've typed to supstack __complete, which offers the right thing for the position:

  • top-level commands and sub-actions (stack <TAB> → add remove list pull push sync)
  • supplement slugs where a slug is expected (research <TAB>, compare a <TAB>, stack add <TAB>, track log <TAB>)
  • goal ids after search --goal <TAB>

Slug/goal lists are fetched once from the API and cached under ~/.supstack/completion/ (24-hour TTL). Pre-warm or refresh them with:

bash
supstack completion refresh

Exit codes

Commands exit with a semantic code so scripts and MCP wrappers can branch on the kind of failure:

CodeMeaning
0Success
1Generic error (incl. 5xx)
2Auth required/rejected (not logged in, 401, 403)
3Not found (404)
4Rate limited (429)
5Network failure / timeout
6Invalid input (bad/missing args or flags, unknown command, schema validation, 400/422)

Develop

bash
npm test            # unit tests (mocked fetch)npm run type-check  # tsc --noEmitnpm run build       # tsup → dist/

See CLAUDE.md for the capability pattern and how to add a command.

License

MIT

來源:README.md,提交 03d5516

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.18.2最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分