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 the JSON block into your client's configuration file under mcpServers, then restart the application.
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
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
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>