three.ws Portfolio

io.github.nirholas/portfolio-mcp

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

Connect this server

Add this to your MCP client config — claude_desktop_config.json (Claude Desktop) or .cursor/mcp.json (Cursor).Suits: Claude Desktop · Cursor.

{
  "mcpServers": {
    "portfolio-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@three-ws/portfolio-mcp@0.1.2"
      ],
      "env": {
        "THREE_WS_BASE": "https://three.ws",
        "THREE_WS_TIMEOUT_MS": "20000",
        "THREE_WS_SESSION": "<your THREE_WS_SESSION>",
        "SOLANA_RPC_URL": "https://api.mainnet-beta.solana.com",
        "SOLANA_SECRET_KEY": "<your SOLANA_SECRET_KEY>",
        "MAX_SOL_PER_TX": "0.5",
        "REQUIRE_CONFIRM": "true"
      }
    }
  }
}
Environment variables
  • 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.
  • THREE_WS_TIMEOUT_MSPer-request timeout in milliseconds for the live three.ws API reads.
  • THREE_WS_SESSIONsecretYour 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_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.
  • SOLANA_SECRET_KEYrequiredsecretBase58-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_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.
  • REQUIRE_CONFIRMWhen on (default), send_transfer refuses until re-issued with confirm:true. Set 0/false to disable the gate.

A starting point — check the repository for exact arguments and setup. Restart your client after editing the config.

Category
Developer Tools
Version
0.1.2
Registry
active
Published
10/10/2026
Browse all Developer Tools →

Add the badge to your site

Show visitors that three.ws Portfolio is listed here — it’s also the link we check for a free listing.

three.ws Portfolio — listed on Serverdex

HTML — for your website

<a href="https://serverdex.io/server/io-github-nirholas-portfolio-mcp?utm_source=badge"><img src="https://serverdex.io/brand/badge.svg" alt="three.ws Portfolio — listed on Serverdex" width="123" height="40" loading="lazy"></a>

Recommended. A dofollow link from your own domain is the one that counts for search engines, and it's the link we check for a free listing.

Markdown — for your README

[![three.ws Portfolio — listed on Serverdex](https://serverdex.io/brand/badge.svg)](https://serverdex.io/server/io-github-nirholas-portfolio-mcp?utm_source=badge)

Nice for visibility, but GitHub marks README links nofollow, so it doesn't pass authority. Use the HTML badge on your site as well.