Finance Toolkit
500+ transparent financial methods calculated from raw statements, not third-party endpoints.
Descripción del creador (original en inglés)
An agent's trading state — portfolio value, PnL, live balances, trade feed, and signed transfers.
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
THREE_WS_BASE, THREE_WS_TIMEOUT_MS, THREE_WS_SESSION, SOLANA_RPC_URL, SOLANA_SECRET_KEY, MAX_SOL_PER_TX, RECIPIENT_ALLOWLIST, REQUIRE_CONFIRMLos valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.
Necesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"portfolio": {
"command": "npx",
"args": [
"-y",
"@three-ws/portfolio-mcp"
],
"env": {
"THREE_WS_BASE": "your-value",
"THREE_WS_TIMEOUT_MS": "your-value",
"THREE_WS_SESSION": "your-value",
"SOLANA_RPC_URL": "your-value",
"SOLANA_SECRET_KEY": "your-value",
"MAX_SOL_PER_TX": "your-value",
"RECIPIENT_ALLOWLIST": "your-value",
"REQUIRE_CONFIRM": "your-value"
}
}
}
}Ejecuta esto en tu terminal
claude mcp add portfolio --env THREE_WS_BASE=your-value --env THREE_WS_TIMEOUT_MS=your-value --env THREE_WS_SESSION=your-value --env SOLANA_RPC_URL=your-value --env SOLANA_SECRET_KEY=your-value --env MAX_SOL_PER_TX=your-value --env RECIPIENT_ALLOWLIST=your-value --env REQUIRE_CONFIRM=your-value -- npx -y @three-ws/portfolio-mcpCompleta los valores vacíos antes de ejecutarlo.
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"portfolio": {
"command": "npx",
"args": [
"-y",
"@three-ws/portfolio-mcp"
],
"env": {
"THREE_WS_BASE": "your-value",
"THREE_WS_TIMEOUT_MS": "your-value",
"THREE_WS_SESSION": "your-value",
"SOLANA_RPC_URL": "your-value",
"SOLANA_SECRET_KEY": "your-value",
"MAX_SOL_PER_TX": "your-value",
"RECIPIENT_ALLOWLIST": "your-value",
"REQUIRE_CONFIRM": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"portfolio": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@three-ws/portfolio-mcp"
],
"env": {
"THREE_WS_BASE": "your-value",
"THREE_WS_TIMEOUT_MS": "your-value",
"THREE_WS_SESSION": "your-value",
"SOLANA_RPC_URL": "your-value",
"SOLANA_SECRET_KEY": "your-value",
"MAX_SOL_PER_TX": "your-value",
"RECIPIENT_ALLOWLIST": "your-value",
"REQUIRE_CONFIRM": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
THREE_WS_BASE envTHREE_WS_TIMEOUT_MS envSOLANA_RPC_URL envMAX_SOL_PER_TX envRECIPIENT_ALLOWLIST envREQUIRE_CONFIRM envEsta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub nirholas, dueña del repo
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
Debes completar: THREE_WS_SESSION, SOLANA_SECRET_KEY
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez –, y la última versión (0.1.2) llegó al registro hace 27 días.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.
En la misma categoría: Finance Toolkit, SolidInvoice, Korea Tax Calculator
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
500+ transparent financial methods calculated from raw statements, not third-party endpoints.
Create and send invoices and quotes, manage clients, and track payments in SolidInvoice.
Korean tax calculation and tax-audit judgment MCP: 96 tools with statutory citations.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
@three-ws/portfolio-mcp
An AI agent's own trading state over MCP — portfolio value, PnL, live balances, the public trade feed, and one real write: a signed on-chain Solana transfer.
A Model Context Protocol server that gives an AI agent programmatic access to its own trading state over stdio: what it holds, how that value moves over time, a single token's position with live market data, the platform-wide feed of closed trades and their realized PnL, live on-chain balances for any wallet — and one real write, a signed Solana transfer of SOL or any SPL token.
Reads hit the live three.ws API and Solana RPC — nothing is mocked. The account-scoped reads run against the agent wallets you own (resolved from your three.ws session). The one write, send_transfer, signs locally with your own key and moves real funds on mainnet.
npm install @three-ws/portfolio-mcp
Or run with npx (no install):
npx @three-ws/portfolio-mcp
Claude Code, one line:
claude mcp add portfolio -- npx -y @three-ws/portfolio-mcp
Claude Desktop / Cursor (claude_desktop_config.json or mcp.json):
{
"mcpServers": { "portfolio": { "command": "npx", "args": ["-y", "@three-ws/portfolio-mcp"], "env": { "THREE_WS_SESSION": " ", "SOLANA_SECRET_KEY": " " } } } }
THREE_WS_SESSION is only needed for the account-scoped reads; SOLANA_SECRET_KEY is only needed for send_transfer. The trade feed and on-chain balance reads work with no configuration at all.
Inspect the surface with the MCP Inspector:
npx -y @modelcontextprotocol/inspector npx @three-ws/portfolio-mcp
| Tool | Type | What it does |
|---|---|---|
get_portfolio_summary | read · session | Live holdings + USD value across every agent wallet you own, with a per-wallet breakdown. Optional snapshot. |
get_portfolio_history | read · session | Your total portfolio USD value over time, from stored snapshots — the performance chart. |
get_portfolio_asset | read · session | One token deep-dive: which wallets hold it, your total amount/USD, plus live market data and a price-history chart. |
get_trades_feed | read · public | The platform-wide feed of closed positions and their realized PnL — newest exit first, filterable by coin. |
get_wallet_balances | read · public | Live on-chain SOL + SPL (incl. Token-2022) balances for any Solana address, straight from the RPC. |
send_transfer | write · destructive | Sign and broadcast a real, irreversible Solana mainnet transfer of SOL or any SPL token from your own wallet. |
Everything reads live state — balances, feeds, and broadcasts all move between calls — so no tool is idempotent. send_transfer is the only tool that mutates anything.
`get_portfolio_summary` — snapshot (bool, default false — also persist a history point).
`get_portfolio_history` — days (1–365, default 90).
`get_portfolio_asset`: chain (solana | evm, required), id (native or the base58 mint / 0x contract, required), days (1 to 365, default 30), chain_id (optional EVM chain id: 8453 Base, 1 Ethereum, 42161 Arbitrum, 10 Optimism, 137 Polygon, 56 BNB, and the other chains the platform indexes). Leave chain_id off and the API prices the contract on whatever chain your wallets hold it on, defaulting to Base; set it when the same address exists on more than one chain.
`get_trades_feed` — network (mainnet | devnet, default mainnet), window (1h | 6h | 24h | 7d | 30d | all, default 24h), min_pnl_pct (default 10), limit (1–80, default 40), cursor (ISO timestamp for pagination), mint (filter to one coin).
`get_wallet_balances` — address (base58, required), include_tokens (bool, default true).
`send_transfer` — recipient (base58, required), amount (decimal string, required), mint (base58 SPL mint; omit / native for SOL), secret (base58, overrides SOLANA_SECRET_KEY), priorityMicroLamports (0–50,000,000), confirm (must be true to execute).
Two different questions, two different tools:
get_portfolio_summary / get_portfolio_asset — live holdings priced in USD.get_trades_feed — realized PnL per closed position (entry/exit in SOL, profit %, multiple, hold time).send_transfersend_transfer broadcasts a real, irreversible transaction on Solana mainnet and moves funds out of the signing wallet. It signs locally with the per-call secret or SOLANA_SECRET_KEY — the three.ws API never holds your key. Guardrails:
REQUIRE_CONFIRM is on (the default) — the first call without it returns a refusal, not a broadcast.mint is runtime input — pass the $THREE mint or any SPL token you hold. No mint is hardcoded.For an SPL transfer it reads the mint's decimals on-chain, verifies your balance, and auto-creates the recipient's associated token account when missing. On a confirmation timeout it returns tx_unconfirmed with the signature rather than silently retrying — check Solscan before resending to avoid a double-spend.
https://three.ws (or your own THREE_WS_BASE) and a Solana RPC.| Variable | Required | Default |
|---|---|---|
THREE_WS_BASE | no | https://three.ws |
THREE_WS_TIMEOUT_MS | no | 20000 |
THREE_WS_SESSION | for account-scoped reads | — |
SOLANA_RPC_URL | no | https://api.mainnet-beta.solana.com |
SOLANA_SECRET_KEY | for send_transfer | — |
MAX_SOL_PER_TX | no | 0.5 |
RECIPIENT_ALLOWLIST | no | — (any valid pubkey allowed) |
REQUIRE_CONFIRM | no | true |
THREE_WS_SESSION is the value of the __Host-sid cookie from a signed-in three.ws browser session. Treat it — and SOLANA_SECRET_KEY — like a password.
Part of the three.ws SDK suite — 3D AI agents, on-chain identity, and agent payments.
Website · Changelog · GitHub