three.ws Copy Trading
io.github.nirholasPublished by GitHub account nirholasv0.1.4Updated Oct 24, 2026
Manage copy-trade follows — follow leaders, tune sizing and guard rules, and track fees owed.
Overview
A local stdio MCP server that lets an assistant manage three.ws copy-trading follows, sizing and guard rules, the copy-intent inbox, and fees owed.
- What you can do
- List, create, update and cancel copy-trade follows, including sizing rules and guard limits such as per-trade caps and daily budgets, and pause, resume or stop them. Read the copy-intent inbox and history with coin, direction, sized order, skip reason and status. Mark a pending intent as acted, optionally with a fill signature, or dismissed. Read fees owed across followed leaders, or a leader's public aggregate earnings.
- When to use it
- Use it when you already copy-trade on three.ws and want an assistant to set up or tune follows, review pending copy intents, log fills you made from your own wallet, and check fees owed. Leader discovery is not part of this server.
- Requirements
- Node.js 20 or later, run via npx or a local install. A three.ws account credential in THREE_WS_API_KEY (API key or OAuth access token), required for all tools except a leader's public aggregate earnings. Network access to three.ws, overridable with THREE_WS_BASE; optional THREE_WS_TIMEOUT_MS.
Installation
In SourceWeft
- Open three.ws Copy Trading in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
@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
Or run with npx (no install):
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/dashboard/developers.
Claude Code, one line:
Claude Desktop / Cursor (claude_desktop_config.json or mcp.json):
Inspect the surface with the MCP Inspector:
Discovery (which leaders to follow) lives in
@three-ws/intel-mcp→copy_smart_wallets. This server manages the follows you commit to.
Tools
All reads return live data (counts, intents, and accruals move between calls), so none are idempotent.
Input parameters
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 sizing/guard fields from 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. leader_agent_id and network cannot be changed here: they identify the subscription, so re-pointing them means creating a new follow with create_subscription.
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).
Example
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 ownTHREE_WS_BASE).
Environment variables
Errors
A failed tool call returns an MCP error result (isError: true) whose text is a single JSON object: { "ok": false, "error": "<code>", "message": "…" }, plus status on upstream rejections:
Links
- Homepage: https://three.ws
- Changelog: https://three.ws/changelog
- Issues: https://github.com/nirholas/three.ws/issues
- License: Apache-2.0, see LICENSE
Part of the three.ws SDK suite — 3D AI agents, on-chain identity, and agent payments.
Website · Changelog · GitHub
Source: packages/copy-mcp/README.md at commit c8f2cde
Tools
0Version history
2- v0.1.4LatestOct 10, 2026
- v0.1.2Sep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts