← Back to Plugins
MCP Server MCP

three.ws Portfolio

github By github 👁 1 views ▲ 0 votes

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

Homepage Verified source GitHub

Install

npx -y @three-ws/[email protected]

Configuration Example

{
  "remotes": [],
  "packages": [
    {
      "registryType": "npm",
      "identifier": "@three-ws/portfolio-mcp",
      "version": "0.1.1",
      "runtimeHint": "npx",
      "transport": {
        "type": "stdio"
      },
      "environmentVariables": [
        {
          "description": "Base URL of the three.ws API that serves the portfolio + trades endpoints. Override only when self-hosting or targeting a preview deployment.",
          "format": "string",
          "default": "https://three.ws",
          "name": "THREE_WS_BASE"
        },
        {
          "description": "Per-request timeout in milliseconds for the live three.ws API reads.",
          "format": "number",
          "default": "20000",
          "name": "THREE_WS_TIMEOUT_MS"
        },
        {
          "description": "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.",
          "format": "string",
          "isSecret": true,
          "name": "THREE_WS_SESSION"
        },
        {
          "description": "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.",
          "format": "string",
          "default": "https://api.mainnet-beta.solana.com",
          "name": "SOLANA_RPC_URL"
        },
        {
          "description": "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.",
          "isRequired": true,
          "format": "string",
          "isSecret": true,
          "name": "SOLANA_SECRET_KEY"
        },
        {
          "description": "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.",
          "format": "number",
          "default": "0.5",
          "name": "MAX_SOL_PER_TX"
        },
        {
          "description": "Optional comma-separated base58 pubkeys. When set, send_transfer refuses any recipient not in the list.",
          "format": "string",
          "name": "RECIPIENT_ALLOWLIST"
        },
        {
          "description": "When on (default), send_transfer refuses until re-issued with confirm:true. Set 0/false to disable the gate.",
          "format": "boolean",
          "default": "true",
          "name": "REQUIRE_CONFIRM"
        }
      ]
    }
  ]
}
mcp model-context-protocol npm

Comments

Sign in to leave a comment

Loading comments...