New:Microsoft Teams Notifications Are Now Available in Socket.Learn more
Get Started

@three-ws/copy-mcp

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@three-ws/copy-mcp

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.

Source
npmnpm
Version
0.1.1
Version published
Weekly downloads
18
-67.86%
Maintainers
1
Weekly downloads
 
Created
Source

three.ws

@three-ws/copy-mcp

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.

npm license node MCP Registry three.ws

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.

Install

npm install @three-ws/copy-mcp

Or run with npx (no install):

npx @three-ws/copy-mcp

Quick start

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-mcpcopy_smart_wallets. This server manages the follows you commit to.

Tools

ToolTypeWhat it does
list_subscriptionsread-onlyEvery leader you follow — status, sizing rule, full guard-rule set, perf fee, and live pending/acted counts.
create_subscriptionwrite (idempotent)Follow a leader / re-tune the follow. Defines how their trades size into your wallet. Upserts per leader.
update_subscriptionwrite (idempotent)Pause / resume / stop a follow, or change its sizing & guard rules. Patch by id — only the fields you pass.
cancel_subscriptionwrite (destructive)Soft-stop a follow: no more intents, history preserved. Re-follow later with create_subscription.
get_executionsread-onlyYour copy-intent inbox + history — coin, direction, sized order, skip reason, status, recorded fill.
record_executionwriteMark a pending intent acted (optionally with your fill signature) or dismissed. Never signs for you.
get_earningsread-onlyYour 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.

Input parameters

list_subscriptions — none.

create_subscriptionleader_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_subscriptionid (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_subscriptionid (required, UUID).

get_executionsstatus (pending | acted | dismissed | skipped | expired | all, default pending), limit (1–100, default 50).

record_executionid (required, UUID), action (acted | dismissed), tx_signature (optional, recorded only when acted).

get_earningsagent_id (optional UUID — provide for a leader's public aggregate; omit for your own rollup), network (mainnet | devnet, default mainnet).

Example

// 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…" } }

Requirements

  • Node.js >= 20.
  • A three.ws account credential in THREE_WS_API_KEY (all tools except a leader's public aggregate earnings).
  • Network access to https://three.ws (or your own THREE_WS_BASE).

Environment variables

VariableRequiredDefaultNotes
THREE_WS_API_KEYyesAPI key (sk_live_…) or OAuth token. Treat like cash.
THREE_WS_BASEnohttps://three.wsOverride for self-hosting / preview deployments.
THREE_WS_TIMEOUT_MSno20000Per-request timeout in ms.

Part of the three.ws SDK suite — 3D AI agents, on-chain identity, and agent payments.
Website · Changelog · GitHub

Keywords

mcp

FAQs

Package last updated on 04 Jul 2026

Related posts