← Index

three.ws Portfolio

io.github.nirholas/portfolio-mcpv0.1.0Other

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

In-path gate · all MCP tools

Using three.ws Portfolio in Claude, Cursor, Gemini CLI, Cline, or Zed?

MCP tool contracts can change remotely with no version bump. The mcpindex gate pins each contract and HOLDs the call when it drifts-before your agent acts. Zero credentials. This is not the package install for this server itself (use Install this server for that).

Install the mcpindex gate (one command)

Rewrites your MCP host config so each server launches behind the gate. Inspect first: curl -fsSL https://mcpindex.ai/install.sh | less

uv tool install mcpindex-gate && mcpindex-config-wire
Trust verdict · v1 advisory · method
REVIEWstatus: PARTIALfresh until 2026-08-20 19:01 UTC
screened 2026-07-21tier: scannedgranularity: description-levelsource: registry

Semantic screen found no manipulation pattern in the description. Conformance probe not yet run.

mcpindex.integrity.descriptionpassINFO

evidenceNo malicious instructions foundvia static_description

Limits of this verdict
  • - Semantic screen only - the deterministic conformance probe has not run on this server
  • - Confidence is reported but not yet calibrated (v1)
  • - Screen reads the tool description, not the live behavior
  • - advisory
  • - registry description only no input schema
  • - screen model 8b

Semantic screen: an LLM judge reads the tool description for hidden instructions (status PARTIAL). A pass means the description is not lying, not that the tool is safe: a high-capability tool with an honest description still warrants caution. The deterministic conformance probe has not been run on this server yet, so the screen here is semantic-only. Posture: advisory. Confidences are reported but not yet calibrated (calibrated=false at v1). Full verdict history is not shown on this page.

Own this server? Screen its description →

That verdict was true at screening time (snapshot 2026-08-08).

Contracts can change after screening, with no version bump. The gate pins three.ws Portfolio’s tool contracts on first sight and holds any silent change before your agent acts - the check that keeps being true on Tuesday.

See your first HOLD in 2 minutes →

Related: how to trust an MCP server · screen before install · silent contract drift

Embed this badge

A live verdict badge for your README or listing. It reflects the current screen, links back here, and updates when the verdict does.

Markdown
[![mcpindex](https://mcpindex.ai/api/v1/badge/io-github-nirholas-portfolio-mcp)](https://mcpindex.ai/server/io-github-nirholas-portfolio-mcp)
HTML
<a href="https://mcpindex.ai/server/io-github-nirholas-portfolio-mcp"><img src="https://mcpindex.ai/api/v1/badge/io-github-nirholas-portfolio-mcp" alt="mcpindex verdict" height="20" /></a>
Environment variables
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
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

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
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

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.

MCP quality score · maturity, not trust · methodology
freshness
24
completeness
25
installability
25
documentation
15
stability
5
Alternatives in Other