Evidence-based supplement research, dosing, safety, and interactions as agent-callable tools.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
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 withnpm install -g @supstack/cli.
Then enable shell completion: supstack completion install.
From source (in this directory): npm install && npm run build && node dist/index.js define adaptogen.
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:
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):
Claude Desktop β add to claude_desktop_config.json
(macOS: ~/Library/Application Support/Claude/claude_desktop_config.json):
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"](runnpm run buildfirst).
| Env var | Default | Purpose |
|---|---|---|
SUPSTACK_API_URL | https://supstack.me/api/v1 | API base URL (override for local dev) |
SUPSTACK_API_KEY | β | Optional API key (anonymous works at 60/min/IP) |
SUPSTACK_CACHE_TTL | 3600 | Response cache TTL in seconds |
SUPSTACK_NO_CACHE | β | Set to disable the response cache |
SUPSTACK_TIMEOUT | 20 | Per-request timeout in seconds (or use --timeout) |
SUPSTACK_HOME | ~/.supstack | Directory 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).
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).
One-step install for your current shell (writes the script and wires your rc file
idempotently; uninstall reverses it):
β¦or generate the script yourself:
Completions are dynamic β the script forwards what you've typed to
supstack __complete, which offers the right thing for the position:
stack <TAB> β add remove list pull push sync)research <TAB>, compare a <TAB>, stack add <TAB>, track log <TAB>)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:
Commands exit with a semantic code so scripts and MCP wrappers can branch on the kind of failure:
| Code | Meaning |
|---|---|
0 | Success |
1 | Generic error (incl. 5xx) |
2 | Auth required/rejected (not logged in, 401, 403) |
3 | Not found (404) |
4 | Rate limited (429) |
5 | Network failure / timeout |
6 | Invalid input (bad/missing args or flags, unknown command, schema validation, 400/422) |
See CLAUDE.md for the capability pattern and how to add a command.
MIT
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/supstack)<a href="https://allmcps.com/mcp/supstack"><img src="https://allmcps.com/api/badge/supstack?style=directory" alt="Supstack on AllMCPs" /></a>