
Company News
AWS Security Hub Adds Socket for Supply Chain Security
Socket is now in the AWS Security Hub Extended plan. Adopt it through AWS, apply committed spend, and block malicious open source packages.
@three-ws/copy-mcp
Advanced tools
Manage your three.ws copy-trade follows from any AI agent — follow/unfollow leaders, tune sizing & guard rules, read the copy-intent inbox, and track fees owed. Account-scoped, non-custodial, over the live API.
Drive your three.ws copy-trading from any AI agent — follow leaders, tune sizing & guard rules, work the copy-intent inbox, and track fees owed. Headless, non-custodial.
A Model Context Protocol server that turns the three.ws copy-trading control surface — follow/unfollow leaders, tune guard rules, read your copy-intent inbox, and see fees owed — into agent-drivable tools over stdio. Everything the website's copy dashboard does, headless.
Non-custodial by design. three.ws never signs a transaction or holds your funds. When a leader you follow trades, the engine produces a sized, guard-checked copy INTENT that you (or your agent) act on from your own wallet. Every order is clamped to your per-trade cap and your remaining daily budget, so a runaway leader can never drain you. Performance fees settle in $THREE.
npm install @three-ws/copy-mcp
Or run with npx (no install):
npx @three-ws/copy-mcp
Copy trading is account-scoped, so set THREE_WS_API_KEY to a three.ws API key (sk_live_… / sk_test_…) or OAuth access token — mint one at three.ws/settings/api-keys.
Claude Code, one line:
claude mcp add copy --env THREE_WS_API_KEY=sk_live_xxx -- npx -y @three-ws/copy-mcp
Claude Desktop / Cursor (claude_desktop_config.json or mcp.json):
{
"mcpServers": {
"copy": {
"command": "npx",
"args": ["-y", "@three-ws/copy-mcp"],
"env": { "THREE_WS_API_KEY": "sk_live_xxx" }
}
}
}
Inspect the surface with the MCP Inspector:
THREE_WS_API_KEY=sk_live_xxx npx -y @modelcontextprotocol/inspector npx @three-ws/copy-mcp
Discovery (which leaders to follow) lives in
@three-ws/intel-mcp→copy_smart_wallets. This server manages the follows you commit to.
| Tool | Type | What it does |
|---|---|---|
list_subscriptions | read-only | Every leader you follow — status, sizing rule, full guard-rule set, perf fee, and live pending/acted counts. |
create_subscription | write (idempotent) | Follow a leader / re-tune the follow. Defines how their trades size into your wallet. Upserts per leader. |
update_subscription | write (idempotent) | Pause / resume / stop a follow, or change its sizing & guard rules. Patch by id — only the fields you pass. |
cancel_subscription | write (destructive) | Soft-stop a follow: no more intents, history preserved. Re-follow later with create_subscription. |
get_executions | read-only | Your copy-intent inbox + history — coin, direction, sized order, skip reason, status, recorded fill. |
record_execution | write | Mark a pending intent acted (optionally with your fill signature) or dismissed. Never signs for you. |
get_earnings | read-only | Your fees owed across the leaders you copy — or, with agent_id, a leader's public aggregate earnings. |
All reads return live data (counts, intents, and accruals move between calls), so none are idempotent.
list_subscriptions — none.
create_subscription — leader_agent_id (required, UUID), copier_wallet (required, base58), network (mainnet | devnet, default mainnet), sizing_rule (fixed | multiplier | pct_balance, default fixed), fixed_sol (required for fixed sizing), multiplier (default 0.1), pct_balance (0–100), per_trade_cap_sol (default 0.5), min_order_sol (default 0.02), daily_budget_sol (default 1), max_open_copies (1–100, default 5), mcap_floor_usd, mcap_ceiling_usd, copy_sells (default true), require_safety_pass (default false), min_oracle_score (0–100), perf_fee_bps (0–3000, default 1000), telegram_chat_id.
update_subscription — id (required, UUID) plus any of: status (active | paused | stopped), and the same sizing/guard fields as create_subscription (each optional; pass null to clear mcap_floor_usd / mcap_ceiling_usd / min_oracle_score / telegram_chat_id). Only the fields you pass change.
cancel_subscription — id (required, UUID).
get_executions — status (pending | acted | dismissed | skipped | expired | all, default pending), limit (1–100, default 50).
record_execution — id (required, UUID), action (acted | dismissed), tx_signature (optional, recorded only when acted).
get_earnings — agent_id (optional UUID — provide for a leader's public aggregate; omit for your own rollup), network (mainnet | devnet, default mainnet).
// create_subscription — follow a leader, 0.05 SOL per copy, capped, safety-gated
> {
"leader_agent_id": "8f3c…-uuid",
"copier_wallet": "7Np…YourWallet",
"sizing_rule": "fixed",
"fixed_sol": 0.05,
"per_trade_cap_sol": 0.1,
"daily_budget_sol": 0.5,
"mcap_floor_usd": 50000,
"require_safety_pass": true
}
{
"ok": true,
"subscription": {
"id": "…",
"status": "active",
"network": "mainnet",
"leader": { "agent_id": "8f3c…", "name": "…", "image": "…", "wallet": "…" },
"copier_wallet": "7Np…YourWallet",
"sizing": { "rule": "fixed", "fixed_sol": 0.05, "multiplier": 0.1, "pct_balance": 0 },
"guards": {
"per_trade_cap_sol": 0.1, "min_order_sol": 0.02, "daily_budget_sol": 0.5,
"max_open_copies": 5, "mcap_floor_usd": 50000, "mcap_ceiling_usd": null,
"copy_sells": true, "require_safety_pass": true, "min_oracle_score": null
},
"perf_fee_bps": 1000,
"pending_count": 0,
"acted_count": 0
}
}
// get_executions — the actionable inbox
> { "status": "pending", "limit": 5 }
{
"ok": true,
"status": "pending",
"count": 1,
"executions": [
{
"id": "…",
"status": "pending",
"leader": { "name": "…" },
"coin": { "mint": "…", "symbol": "…", "name": "…" },
"direction": "buy",
"planned_sol": 0.05,
"expires_at": "…"
}
]
}
// record_execution — you bought it yourself; log the fill
> { "id": "…", "action": "acted", "tx_signature": "5xQ…" }
{ "ok": true, "execution": { "id": "…", "status": "acted", "tx_signature": "5xQ…" } }
THREE_WS_API_KEY (all tools except a leader's public aggregate earnings).https://three.ws (or your own THREE_WS_BASE).| Variable | Required | Default | Notes |
|---|---|---|---|
THREE_WS_API_KEY | yes | — | API key (sk_live_…) or OAuth token. Treat like cash. |
THREE_WS_BASE | no | https://three.ws | Override for self-hosting / preview deployments. |
THREE_WS_TIMEOUT_MS | no | 20000 | Per-request timeout in ms. |
Part of the three.ws SDK suite — 3D AI agents, on-chain identity, and agent payments.
Website · Changelog · GitHub
FAQs
Manage your three.ws copy-trade follows from any AI agent — follow/unfollow leaders, tune sizing & guard rules, read the copy-intent inbox, and track fees owed. Account-scoped, non-custodial, over the live API.
We found that @three-ws/copy-mcp demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Company News
Socket is now in the AWS Security Hub Extended plan. Adopt it through AWS, apply committed spend, and block malicious open source packages.

Research
/Security News
Popular npm packages keyv and cacheable compromised.

Security News
A misconfiguration gave three Anthropic models internet access, and one, believing it was in a simulation, shipped a credential-stealing package to PyPI.