mcpField
S
supstack

supstack

ローカル
github.com/DrBaherヘルスケア016 週間前に更新

supstack について

supstackは、個人やエージェント向けにサプリメントのエビデンス、用量、安全性、相互作用を調べるコマンドラインツール兼MCPサーバーです。読み取り専用の調査はアカウント不要で、ログインすると個別機能や記録機能を利用できます。

主な機能

  1. 01サプリメントのエビデンス要約
  2. 02サプリメントの検索と比較
  3. 03サプリメントと薬の相互作用確認
  4. 04研究の閲覧とスタック評価
  5. 05スタック、プロフィール、実験の管理

活用シーン

  1. 01サプリメントの根拠を調査
  2. 02健康目標に合う選択肢を比較
  3. 03薬との相互作用を確認
  4. 04サプリメントスタックと実験を記録

MCP 対応

`supstack mcp`でstdioのMCPサーバーを起動し、調査、検索、比較、研究、相互作用、スタック関連のツールを公開します。個別推薦、プロフィール、追跡、クラウドスタックのツールにはログインが必要です。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"drbaher-supstack": {
"command": "npx",
"args": [
"-y",
"@supstack/cli"
]
}
}
}
起動コマンドnpx -y @supstack/cli

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@supstack/cli0.18.2

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

@supstack/cli

ターミナルで利用できるエビデンスに基づくサプリメント情報ツール — AI エージェント向けの MCP サーバーでもあります。

公開されている SupStack API を利用するシンクライアントです。読み取り専用で、アカウントは不要です。CLI と MCP サーバーの両方で、1つの機能レジストリを使用します。

ステータス:アカウント機能のフェーズ 2 を進行中です。 以下の読み取りコマンドはすべて利用でき、MCP サーバーと login/whoami も使用できます。npm install -g @supstack/cli でインストールしてください。

インストール

# Homebrew (macOS / Linux)
brew install drbaher/supstack/supstack

# or npm
npm install -g @supstack/cli

# or run without installing
npx -y @supstack/cli define adaptogen

続いて、シェル補完を有効にします:supstack completion install。

ソースから実行する場合(このディレクトリ内):npm install && npm run build && node dist/index.js define adaptogen。

使用方法

supstack research magnesium --protocol       # full evidence summary for one supplement
supstack search --goal deep-sleep -n 5       # search by name or filter
supstack compare magnesium glycine           # 2–3 head-to-head
supstack studies "sleep" --type rct          # research library
supstack interactions caffeine l-theanine --pathway   # interaction check (deep pair analysis)
supstack interactions magnesium potassium --medication lisinopril   # supplement × drug check
supstack 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 coverage
supstack experiments start magnesium deep-sleep  # run an N-of-1 experiment (requires login)
supstack export --format md                  # export your stack
supstack define bioavailability              # glossary lookup
supstack <command> --json                    # machine-readable output on any command
supstack --help
アカウント(フェーズ 2)
supstack login          # sign in via device-code flow (opens the browser to confirm)
supstack whoami         # show the signed-in account
supstack logout         # sign out and revoke this device's token

login を実行すると、1回限りのコードが表示され、https://supstack.me/activate が開きます。ブラウザーで承認すると手続きが完了します。トークンは ~/.supstack/config.json(0600)に保存されます。読み取り機能は完全に匿名で利用できます。アカウントを作成すると、パーソナライズ機能を利用できます。

ログイン後、アカウントとスタックを同期できます:

supstack stack pull     # local ← your account
supstack 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 profile
supstack profile set --age 35 --sex male --weight 80 --weight-unit kg
supstack recommend                            # personalized picks from your goals + stack
supstack experiments list                     # your N-of-1 experiments + verdicts
supstack track log                            # log today's stack as taken
supstack track adherence                      # your adherence rate, streak, per-supplement
MCP サーバーとして使用する
supstack mcp   # stdio MCP server exposing all capabilities as tools

これにより、エージェントは SupStack の全ツールセットを利用できます。読み取り専用(アカウント不要):supstack_research、supstack_search、supstack_compare、supstack_studies、supstack_interactions、supstack_stack、supstack_rate_stack、supstack_export、supstack_define。

アカウントが必要なツールも利用できます — supstack_recommend、supstack_profile_get/supstack_profile_set、supstack_experiments_list/supstack_experiments_get、supstack_track_log、supstack_track_adherence(クラウド上の supstack_stack の取得/プッシュ/同期も含みます)。これらの利用には、ユーザーのサインインが必要です(supstack login または SUPSTACK_TOKEN)。トークンがない場合は失敗するのではなく、明確な「未ログイン」エラーを返します。変更を加えるツール(profile_set、track_log)は、エージェント向けに readOnlyHint: false として設定されています。

Claude Code(コマンド1つで設定):

claude mcp add supstack -- supstack mcp

Claude Desktop — claude_desktop_config.json に追加します (macOS の場合:~/Library/Application Support/Claude/claude_desktop_config.json):

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

グローバルにインストールせずに実行するには、"command": "npx", "args": ["-y", "@supstack/cli", "mcp"] を使用してください。 ローカルのチェックアウトを使用する場合は、ビルド済みのエントリーポイントを指定してください — "command": "node", "args": ["/absolute/path/to/supstack-cli/dist/index.js", "mcp"](最初に npm run build を実行してください)。

設定

環境変数デフォルト値用途
SUPSTACK_API_URLhttps://supstack.me/api/v1API のベース URL(ローカル開発時に上書き)
SUPSTACK_API_KEY—任意の API キー(匿名利用の場合、IP あたり 60 回/分)
SUPSTACK_CACHE_TTL3600レスポンスキャッシュの有効期間(秒)
SUPSTACK_NO_CACHE—設定するとレスポンスキャッシュを無効化
SUPSTACK_TIMEOUT20リクエストごとのタイムアウト(秒)。または --timeout を使用
SUPSTACK_HOME~/.supstack設定、スタック、キャッシュの保存先ディレクトリ
SUPSTACK_TOKEN—保存済みのアカウントトークン(supstack login で取得)を上書き
SUPSTACK_NO_ANON_TOKEN—匿名のインスタントトークンの自動発行を無効化
SUPSTACK_NO_UPDATE_CHECK—「アップデートがあります」という通知を無効化(NO_UPDATE_NOTIFIER にも対応)
NO_COLOR—ANSI カラーを無効化
FORCE_COLOR—パイプ経由の場合でも ANSI カラーを強制的に有効化

すべてのコマンドで使用できるグローバルフラグ:--json、--no-cache、--timeout <seconds>、--color/--no-color、-q, --quiet。

supstack auth set-key <key> を実行すると、キーが ~/.supstack/config.json に保存されます(ファイルのパーミッションは 0600 に設定されます)。

レスポンスキャッシュ

読み取り専用の API レスポンスは、同じデータの再取得を 60 回/分のレート制限内に十分収めるため、デフォルトで 1 時間、~/.supstack/cache/ にキャッシュされます。コマンドごとに --no-cache でキャッシュを回避するか、supstack cache clear/supstack cache path で管理できます。キャッシュのサイズには上限があり、上限を超えると古いエントリーが削除されます。

シェル補完

現在のシェルにワンステップでインストールします(スクリプトを書き込み、rc ファイルを冪等に設定します。uninstall で元に戻せます)。

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

…または、スクリプトを自分で生成します。

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

補完は動的です。スクリプトは入力した内容を supstack __complete に渡し、位置に応じた候補を提示します。

  • トップレベルのコマンドとサブアクション(stack <TAB> → add remove list pull push sync)
  • スラッグが必要な箇所でのサプリメントのスラッグ(research <TAB>、compare a <TAB>、stack add <TAB>、track log <TAB>)
  • search --goal <TAB> の後の目標 ID

スラッグと目標のリストは API から一度取得され、~/.supstack/completion/ にキャッシュされます(有効期限は 24 時間)。事前にキャッシュを作成するか、更新するには、次を実行します。

supstack completion refresh
終了コード

コマンドは意味のある終了コードを返すため、スクリプトや MCP ラッパーで失敗の種類に応じた処理を分岐できます。

コード意味
0成功
1一般的なエラー(5xx を含む)
2認証が必要、または拒否された(未ログイン、401、403)
3見つかりません(404)
4レート制限(429)
5ネットワーク障害/タイムアウト
6入力が無効(引数またはフラグが不正/不足、コマンドが不明、スキーマ検証エラー、400/422)

開発

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

機能のパターンとコマンドの追加方法については、CLAUDE.md を参照してください。

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。