🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

@three-ws/copy-mcp

Package Overview
Dependencies
Maintainers
1
Versions
2
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.

latest
Source
npmnpm
Version
0.1.1
Version published
Maintainers
1
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

Did you know?

Socket

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.

Install

Related posts