io.github.nirholas/portfolio-mcp icon
io.github.nirholas

portfolio-mcp

three.ws Portfolio

An agent's trading state — portfolio value, PnL, live balances, trade feed, and signed transfers.

stdiocommunityservice

Package Details

Transportstdio
Runtimenpx

Environment Variables

THREE_WS_BASE(str)
Default:https://three.ws

Base URL of the three.ws API that serves the portfolio + trades endpoints. Override only when self-hosting or targeting a preview deployment.

THREE_WS_TIMEOUT_MS(num)
Default:20000

Per-request timeout in milliseconds for the live three.ws API reads.

THREE_WS_SESSION(str)
Secret

Your three.ws session token (the value of the `__Host-sid` cookie from a signed-in browser). Required for the account-scoped reads — get_portfolio_summary, get_portfolio_history, get_portfolio_asset — which return data for the agents YOU own. The public trade feed and on-chain balance reads do not need it. Treat like a password.

SOLANA_RPC_URL(str)
Default:https://api.mainnet-beta.solana.com

Solana mainnet RPC endpoint used by get_wallet_balances and send_transfer. Defaults to https://api.mainnet-beta.solana.com — bring your own (Helius / QuickNode / Triton) for production traffic.

SOLANA_SECRET_KEY(str)
RequiredSecret

Base58-encoded Solana secret key for the wallet that send_transfer signs from. REQUIRED for send_transfer (the only write tool); a per-call `secret` arg overrides it. Not needed for any read tool. Treat like cash.

MAX_SOL_PER_TX(num)
Default:0.5

Per-transaction spend cap in SOL for native SOL transfers via send_transfer. Bounds the blast radius of a leaked key or an injected argument.

RECIPIENT_ALLOWLIST(str)

Optional comma-separated base58 pubkeys. When set, send_transfer refuses any recipient not in the list.

REQUIRE_CONFIRM(bool)
Default:true

When on (default), send_transfer refuses until re-issued with confirm:true. Set 0/false to disable the gate.