Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

three.ws Copy Trading

NPM · @THREE-WS/COPY-MCP · SCANNED AUG 3

Manage copy-trade follows — follow leaders, tune sizing and guard rules, and track fees owed.

Available components

+23 this week 65 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →

Supply Chain Security87
  • No malware found by supply-chain analysis.Pass
  • Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree.Partial
  • No install/post-install scripts declared.Pass
  • Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency45
Schema Quality & AI Usability59
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 2230 tokens (~318/item across 7 items; 7 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management23
  • Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

npm · @three-ws/copy-mcp

# add to Claude Code
claude mcp add nirholas-copy-mcp -- npx -y @three-ws/copy-mcp
# add to Codex CLI
codex mcp add nirholas-copy-mcp -- npx -y @three-ws/copy-mcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "nirholas-copy-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@three-ws/copy-mcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add nirholas-copy-mcp --command npx --arg -y --arg @three-ws/copy-mcp
# ~/.hermes/config.yaml
mcp_servers:
  nirholas-copy-mcp:
    command: "npx"
    args: ["-y", "@three-ws/copy-mcp"]
// mcp.json
{
  "mcpServers": {
    "nirholas-copy-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@three-ws/copy-mcp"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 3 Aug 26 +3
    • Stability: unverified → 0.23 functional
  • 2 Aug 26 +45
    • Provenance: unverified → fail security
    • Install scripts: unverified → pass security
    • Known CVEs: unverified → partial security
    • Malware scan: unverified → pass security
    • Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
    • Schema quality: unverified → excellent functional
    • Maintenance: unverified → pass functional
    • MCP protocol: unverified → pass functional
    • License: unverified → pass functional
    • Dependency health: unverified → partial functional
    • Licence: Apache-2.0 functional
  • 31 Jul 26 −25
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 27 Jul 26 42

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Analysed npm/@three-ws/[email protected]

Provenance none

Ecosystem: npm · Outcome: none

Dependencies 95 packages

95 packages in the resolved dependency tree · 95 deprecated · 29 stale.

The dependency tree was only partially resolved, so these counts may be incomplete.

MCP tools — 7 exposed · ~2,031 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
cancel_subscription ~121

Stop following a leader: transitions the subscription to "stopped" so no new copy intents are generated. DESTRUCTIVE in that it ends an active money-adjacent follow — but it is a SOFT stop: execution history and earnings are preserved, and you can re-follow the same leader later with create_subscription. To merely halt copies temporarily without ending the follow, use update_subscription with status:"paused" instead. Returns the cancellation result. Requires THREE_WS_API_KEY.

NameTypeReqDescription
idstringyesUUID of the subscription to stop (from list_subscriptions).

No output schema declared.

No examples provided.

create_subscription ~662

Follow a copy-trade leader from the authenticated account, defining how their trades are mirrored into your own wallet. MONEY-ADJACENT: this sets how much of YOUR SOL each copy may spend. Non-custodial — three.ws never signs or holds funds; it emits sized, guard-checked copy INTENTS you act on. Idempotent: re-calling with the same leader_agent_id + network updates that subscription (and re-activates it) rather than creating a duplicate. Sizing rule: "fixed" spends fixed_sol per copy; "multiplier" spends multiplier × the leader's entry; "pct_balance" spends pct_balance % of your spendable SOL. Every order is clamped to per_trade_cap_sol and the remaining daily_budget_sol. Returns the created/updated subscription. Requires THREE_WS_API_KEY.

NameTypeReqDescription
copier_walletstringyesYour own Solana wallet address that will execute the mirrored trades. Never a private key — non-custodial.
copy_sellsbooleanMirror the leader's exits, not just entries (default true).
daily_budget_solnumberMax SOL fanned out across copies per UTC day (default 1). Must be > 0.
fixed_solnumberSOL spent per copy when sizing_rule="fixed". Required for fixed sizing.
leader_agent_idstringyesUUID of the public leader (agent with a sniper track record) to follow.
max_open_copiesintegerCap on concurrent pending copy intents (1–100, default 5).
mcap_ceiling_usdSkip coins above this market cap (USD). Omit/null to ignore.
mcap_floor_usdSkip coins below this market cap (USD). Omit/null to ignore.
min_oracle_scoreSkip coins whose Oracle conviction score is below this (0–100). Omit/null to ignore.
min_order_solnumberSkip dust copies sized below this, in SOL (default 0.02). Cannot exceed per_trade_cap_sol.
multipliernumberFraction of the leader's entry size to copy when sizing_rule="multiplier" (default 0.1).
networkstringSolana network (default mainnet).
pct_balancenumberPercent of your spendable SOL per copy when sizing_rule="pct_balance" (0–100).
per_trade_cap_solnumberHard ceiling on any single copy, in SOL (default 0.5). Must be > 0.
perf_fee_bpsintegerLeader's performance fee on your realized copy profit, in basis points (0–3000, default 1000 = 10%). Charged above a high-water mark, settled in $THREE.
require_safety_passbooleanSkip a copy when the coin's safety context cannot be confirmed (default false).
sizing_rulestringHow each copy is sized: fixed | multiplier (× leader entry) | pct_balance (% of your SOL). Default fixed.
telegram_chat_idOptional Telegram chat ID to receive copy-intent alerts for this subscription.

No output schema declared.

No examples provided.

get_earnings ~204

Read copy-trade performance-fee accounting. Without agent_id: the authenticated account's own fees OWED across every leader they copy — a total plus a per-subscription breakdown (cumulative realized copy profit, closed copies, billable profit above the high-water mark, and the fee). With agent_id: a leader's PUBLIC aggregate earnings (active copiers, accrued fee, total copier profit) — the social-proof figure, no per-copier identity exposed and no API key required. All figures are real: realized copy profit above each subscription's high-water mark at the leader's fee, settled in $THREE. Read-only.

NameTypeReqDescription
agent_idstringOptional leader agent UUID. Provide it for that leader's public aggregate earnings; omit it for your own fees-owed rollup (requires THREE_WS_API_KEY).
networkstringSolana network for the leader aggregate (default mainnet). Ignored for your own rollup.

No output schema declared.

No examples provided.

get_executions ~199

List the authenticated account's copy executions — the sized, guard-checked copy INTENTS generated when a followed leader trades. Each row carries the coin (mint/symbol/name), the mirrored direction (buy/sell), the planned SOL size, the leader, the safety/quote snapshot used for the decision, the lifecycle status, and any fill signature you recorded. Filter by status: "pending" (actionable now — default), "acted", "dismissed", "skipped" (guard blocked it, with skip_reason), "expired", or "all". Reading refreshes the inbox: stale pending intents are expired automatically. Use record_execution to mark a pending intent acted/dismissed. Read-only; requires THREE_WS_API_KEY.

NameTypeReqDescription
limitintegerMax rows to return, newest first (1–100, default 50).
statusstringLifecycle filter (default "pending" — only intents still actionable).

No output schema declared.

No examples provided.

list_subscriptions ~109

List the copy-trade subscriptions belonging to the authenticated account — every leader (a trader with a track record) you follow, with their identity, the subscription status (active / paused / stopped), the sizing rule and full guard-rule set, the performance fee, the high-water mark, and live pending/acted copy-intent counts. Use this to audit who you copy and how aggressively before tuning a follow with update_subscription. Returns the subscriptions newest-first. Read-only; requires THREE_WS_API_KEY.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

record_execution ~207

Resolve a PENDING copy intent (from get_executions) by recording how you handled it. action:"acted" records that you executed the mirrored trade from your own wallet — optionally with the on-chain tx_signature for your records; action:"dismissed" discards the intent without trading. NON-CUSTODIAL: this never signs, sends, or broadcasts a transaction — it only updates the intent's status after YOU traded. Not idempotent: it transitions pending → acted/dismissed once; an intent that already expired or was actioned returns "not_actionable". Returns the updated execution. Requires THREE_WS_API_KEY.

NameTypeReqDescription
actionstringyes"acted" = you executed the trade yourself; "dismissed" = you skipped it.
idstringyesUUID of the pending copy intent (from get_executions with status:"pending").
tx_signaturestringOptional Solana transaction signature of your fill, recorded only when action="acted".

No output schema declared.

No examples provided.

update_subscription ~529

Re-tune an existing copy-trade subscription by id. Pause it (stop new copies, keep the follow), resume it, stop it, and/or change its sizing rule and guard rules (caps, daily budget, market-cap band, oracle/safety gates, performance fee). MONEY-ADJACENT: guard changes alter how much of your SOL future copies may spend — non-custodial, intents only. Only the fields you pass change; the rest are preserved. Editing guards on a paused subscription keeps it paused unless you also set status:"active". Idempotent. Returns the updated subscription. Requires THREE_WS_API_KEY.

NameTypeReqDescription
copier_walletstringChange the Solana wallet that executes mirrored trades.
copy_sellsbooleanWhether to mirror the leader's exits as well as entries.
daily_budget_solnumberMax SOL fanned out per UTC day (> 0).
fixed_solnumberSOL per copy when sizing_rule="fixed".
idstringyesUUID of the subscription to update (from list_subscriptions).
max_open_copiesintegerCap on concurrent pending copy intents (1–100).
mcap_ceiling_usdSkip coins above this market cap (USD). Pass null to clear the ceiling.
mcap_floor_usdSkip coins below this market cap (USD). Pass null to clear the floor.
min_oracle_scoreSkip coins below this Oracle conviction score (0–100). Pass null to clear the gate.
min_order_solnumberSkip dust copies below this, in SOL. Cannot exceed per_trade_cap_sol.
multipliernumberMultiple of the leader's entry when sizing_rule="multiplier".
pct_balancenumberPercent of your SOL per copy when sizing_rule="pct_balance" (0–100).
per_trade_cap_solnumberHard ceiling on any single copy, in SOL (> 0).
perf_fee_bpsintegerLeader's performance fee in basis points (0–3000).
require_safety_passbooleanSkip a copy when the coin's safety cannot be confirmed.
sizing_rulestringChange the sizing rule: fixed | multiplier | pct_balance.
statusstringSet the lifecycle status: active (resume), paused (halt new copies, keep the follow), or stopped (end it, keeps history).
telegram_chat_idTelegram chat ID for copy-intent alerts. Pass null to clear.

No output schema declared.

No examples provided.