Three.ws Portfolio MCP Server

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

Local serverstdio

What is the Three.ws Portfolio MCP Server?

Three.ws Portfolio is an MCP integration. An agent's trading state — portfolio value, PnL, live balances, trade feed, and signed transfers.

Packages and local setup

The published npm package is @three-ws/portfolio-mcp, version 0.1.1. Its declared MCP transport is stdio.

The package declares THREE_WS_BASE: 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: Per-request timeout in milliseconds for the live three.ws API reads.; THREE_WS_SESSION: 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: 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 (required): 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: 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: Optional comma-separated base58 pubkeys. When set, send_transfer refuses any recipient not in the list.; REQUIRE_CONFIRM: When on (default), send_transfer refuses until re-issued with confirm:true. Set 0/false to disable the gate..

Before connecting

Check the maintainer’s instructions for account access, authentication and the supported client configuration. Once connected, inspect the tools your client receives and try a small task that matches the server’s stated purpose. The registry description does not include a verified, complete tool list.

Project and source

View the publisher’s registry entry · Project repository · Project website. This profile uses version 0.1.1 from the registry. Registration identifies the publisher namespace; it does not establish that this is a first-party integration for every service it connects.

Browse related finance & market data MCP servers for tools that cover the same kind of work.

Configuration

VariableDescriptionRequired
THREE_WS_BASEBase URL of the three.ws API that serves the portfolio + trades endpoints. Override only when self-hosting or targeting a preview deployment.Optional
THREE_WS_TIMEOUT_MSPer-request timeout in milliseconds for the live three.ws API reads.Optional
THREE_WS_SESSIONYour 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.Optional
SOLANA_RPC_URLSolana 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.Optional
SOLANA_SECRET_KEYBase58-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.Yes
MAX_SOL_PER_TXPer-transaction spend cap in SOL for native SOL transfers via send_transfer. Bounds the blast radius of a leaked key or an injected argument.Optional
RECIPIENT_ALLOWLISTOptional comma-separated base58 pubkeys. When set, send_transfer refuses any recipient not in the list.Optional
REQUIRE_CONFIRMWhen on (default), send_transfer refuses until re-issued with confirm:true. Set 0/false to disable the gate.Optional