Skip to content

WakeTrades

com.waketrades/mcpwaketrades.comstreamable-httpv1.0.0Scanned

Copy Hyperliquid traders onto your own account, non-custodial. Not for Restricted Persons (Terms).

33 tools: 6 can delete or cancel things, 3 do something that can't be undone, 14 change things and 10 only read.

Tools: 6 delete, 3 irreversible, 14 write, 10 read.
  • Reads private data · 1
  • Reads text others write · 33
  • Can send data out · 2
  • 2 findings

Anlyon alternative

23 of these tools change something. Run those as governed actions.

Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.

Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.

Import an OpenAPI spec →

Tools

Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.

33 tools

Deletes or cancels 6Claude Code: deny
  • close_allCloses every copied position at market, then pauses copying.Reads text others writeNo findings

    Why it is in this group

    • The name "close_all" says "close": a word for a change.
    • The server marks it destructive (destructiveHint: true).

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Closes every copied position at market, then pauses copying. Positions opened outside WakeTrades are not touched.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: true
  • close_losingCloses at market every copied position currently in loss; the others keep running.Reads text others writeNo findings

    Why it is in this group

    • The name "close_losing" says "close": a word for a change.
    • The server marks it destructive (destructiveHint: true).

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Closes at market every copied position currently in loss; the others keep running. One of the actions offered by a drawdown alert.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: true
  • close_positionCloses one copied position at market.Reads text others writeNo findings

    Why it is in this group

    • The name "close_position" says "close": a word for a change.
    • The server marks it destructive (destructiveHint: true).

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Closes one copied position at market.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: true
  • emergency_stopIn one call: closes every copied position at market and pauses copying.Reads text others writeNo findings

    Why it is in this group

    • The name "emergency_stop" says "stop": a word for a change.
    • The server marks it destructive (destructiveHint: true).

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    In one call: closes every copied position at market and pauses copying. It does not revoke the trading key (only the wallet can, on Hyperliquid › API); resume_copying restarts copying.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: true
  • revoke_all_sessionsSigns out every session of this wallet: browsers, AI agents and links opened from the Telegram bot, this session included.Reads text others writeNo findings

    Why it is in this group

    • The name "revoke_all_sessions" says "revoke": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Signs out every session of this wallet: browsers, AI agents and links opened from the Telegram bot, this session included. Use it if a session_token may have leaked. Copying and open copies are not affected; sign in again to continue.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: true
Can't be undone 3Claude Code: ask
  • finish_sign_inSends the signed message.Reads text others writeCan send data outNo findings

    Why it is in this group

    • The description's first verb is "send": a word for sending, and what is sent cannot be taken back.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • outboundThe description's first verb is "send": it sends or publishes something to other people.
    Description, as the server wrote it
    Sends the signed message. Returns session_token: valid until your plan or free trial ends (paying extends it, no new sign-in needed), 6 months at most, 7 days before the trial starts. revoke_all_sessions ends it. The first sign-in of a wallet creates its WakeTrades account.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
  • prepare_paymentReturns the payment action and the EIP-712 typedData to sign for a plan (exact price, WakeTrades receiver): usdSend from your free perps USDC, or sendAsset from your spot USDC when…Reads text others write1 finding

    Why it is in this group

    • The name "prepare_payment" says "payment": a word that usually means money moves, which cannot be taken back.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.

    Findings

    • Warn

      The server marks "prepare_payment" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"openWorldHint":true}; The name "prepare_payment" says "payment": a word that usually means money moves, which cannot be taken back.

      What this check looks for
    Description, as the server wrote it
    Returns the payment action and the EIP-712 typedData to sign for a plan (exact price, WakeTrades receiver): usdSend from your free perps USDC, or sendAsset from your spot USDC when the perps balance is short (unified account). The free trial must have started. Before signing, check typedData (not only action): primaryType HyperliquidTransaction:UsdSend or HyperliquidTransaction:SendAsset, message.destination = receiver and message.amount = your plan's price, both from GET https://waketrades.com/api/v1/subscription; never sign a Withdraw.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • submit_paymentRelays the signed payment (usdSend or sendAsset) to Hyperliquid and applies the plan as soon as Hyperliquid accepts it.Reads text others writeNo findings

    Why it is in this group

    • The name "submit_payment" says "submit": a word for a change.
    • The name "submit_payment" also says "payment": a word that usually means money moves, which cannot be taken back.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Relays the signed payment (usdSend or sendAsset) to Hyperliquid and applies the plan as soon as Hyperliquid accepts it. dry_run: true runs every check (action, plan and amount, receiver, token, signer, age, balance of the signed source) and answers { dryRun, ok, plan, amount, from, source, wouldRelay } or the error the real call would give, without relaying or applying anything; then send the same action without dry_run within its 10 minutes. Before signing, check typedData (not only action): primaryType HyperliquidTransaction:UsdSend or HyperliquidTransaction:SendAsset, message.destination = receiver and message.amount = your plan's price, both from GET https://waketrades.com/api/v1/subscription; never sign a Withdraw.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
Changes things 14Claude Code: ask
  • backtest_leaderWhat copying one Hyperliquid trader would have done over the last 30 or 90 days, at an exposure level (prudent, equilibre or risque; not advanced) and a starting balance (USDC, def…Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    What copying one Hyperliquid trader would have done over the last 30 or 90 days, at an exposure level (prudent, equilibre or risque; not advanced) and a starting balance (USDC, default 5,000): returnPct, pnlUsd, maxDrawdownPct (worst drop from a peak, in % of the starting balance), feesUsd, ruined, trades (leader, copied, skipped by reason), coverage (truncated: true when Hyperliquid no longer has the oldest fills), assumptions and disclaimer. Same method as the Simulated Copy column of the Monthly Report, at the level's full size for this one trader, with the trader's fill prices plus our measured copy delay cost. A simulation on past data, not a promise. Limits: 5 per 24 hours during the free trial, 20 with a paid plan; the trader's data is kept 1 hour. Errors: backtest_limit, backtest_busy (retry after 60 seconds), unknown_leader.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • confirm_trading_keyaccept_terms: true accepts https://waketrades.com/terms on behalf of the wallet owner.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    accept_terms: true accepts https://waketrades.com/terms on behalf of the wallet owner. Retry after 10 seconds on agent_not_registered_yet. Starts copying and the free trial if a webhook or Telegram is linked.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
  • helloWhat WakeTrades is in one sentence, three quick-start steps with their endpoints, the Hyperliquid network, whether copying is on for everyone (on, pause or halt), and links to the …Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    What WakeTrades is in one sentence, three quick-start steps with their endpoints, the Hyperliquid network, whether copying is on for everyone (on, pause or halt), and links to the docs, OpenAPI, llms.txt, MCP, agent skills and Terms. No session needed.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • pause_copyingNo new copies; open copies stay managed (stops kept, closed when the leader closes).Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    No new copies; open copies stay managed (stops kept, closed when the leader closes).

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
    • idempotentHint: true
  • prepare_trading_keyCreates (or returns) the WakeTrades trading key for this account and returns the approveAgent action and the EIP-712 typedData to sign with the wallet.Reads text others writeNo findings

    Why it is in this group

    • The description's first verb is "create": a word for a change.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Creates (or returns) the WakeTrades trading key for this account and returns the approveAgent action and the EIP-712 typedData to sign with the wallet. Hyperliquid refuses keys on an account without a deposit. Before signing, check that typedData's primaryType is HyperliquidTransaction:ApproveAgent; never sign a Withdraw.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
    • idempotentHint: true
  • resume_copyingResumes copying if the trial or plan is valid and an alert channel is linked.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Resumes copying if the trial or plan is valid and an alert channel is linked.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
    • idempotentHint: true
  • set_advancedAdvanced level only (every plan and the free trial).Reads text others write1 finding

    Why it is in this group

    • The name "set_advanced" says "set": a word for a change.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.

    Findings

    • Info

      The description is 2,051 characters long, over the 2,000 this check looks for.

      Matched text

      description ends: "...-even. After a partial close the copy keeps following the leader on what is left."

      What this check looks for
    Description, as the server wrote it
    Advanced level only (every plan and the free trial). Every field is optional; missing fields keep their value. size_pct: size of your copies in % of your leaders' size across 3 leaders (100 = risque). max_exposure_x: total exposure cap in x your balance, or null for none. max_open_positions: integer, or null for no limit. alerts_pct: one or two increasing drawdown thresholds. auto_stop_pct: drawdown from your highest balance at which every copy is closed and copying pauses, or null. follow_adds, copy_leader_tpsl: booleans. markets: which markets new copies may open on, any of crypto (Hyperliquid's main perps), btc (BTC only), xyz (every tokenized stock, index and commodity), gold (xyz:GOLD), wti (xyz:CL), indexes (xyz:SP500, xyz:XYZ100, xyz:JP225, xyz:KR200), combined with OR; [] = all markets (default). min_market_leverage: copy only markets whose Hyperliquid max leverage is at least this (AND with markets), or null. max_leverage: cap on the leverage set on your copies (margin used, not copy size), or null. sides: both (default), long or short, for new copies; adds, reductions and closes of open copies are always followed. copy_stop_pct: your own stop on each new copy at entry -/+ this %, or null; the leader's copied stop is kept when it is closer. daily_loss_pct: when your balance, deposits and withdrawals of the day excluded, falls this % below its first reading of the UTC day, no new copies for 24 hours (event daily_loss_limit), or null. Trades not copied by these rules are skipped with codes market_filtered, leverage_filtered, side_filtered, daily_loss_limit. You are on your own. tp1_pct / tp1_close_pct, tp2_pct / tp2_close_pct, sl_pct / sl_close_pct: your own take profits and stop loss on each new copy, at a PnL % of the copy (leverage included, as Hyperliquid shows it: at 10x, 20 = 2% price) and the % of the copy to close (tp2: of what is left; 100 = all), or null; break_even_after_tp1: after take profit 1, move the stop to break-even. After a partial close the copy keeps following the leader on what is left.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
  • set_copy_settingsDuring sign-up, call it first with the level only, then with leaders (suggest_leader proposes one).Reads text others writeNo findings

    Why it is in this group

    • The name "set_copy_settings" says "set": a word for a change.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    During sign-up, call it first with the level only, then with leaders (suggest_leader proposes one). Leaders to copy (followed in order: up to 3 at prudent, equilibre and risque, up to 5 at advanced; the others stay saved) and the exposure level. Every level copies your leaders' positions scaled to your balance, adds and reductions included, with their stop loss and take profit and no stop of its own; the size is set per leader, so following fewer leaders lowers your exposure. prudent: 25% of your leaders' size across 3 leaders, total exposure up to 3x your balance, drawdown alerts at -6% and -8%. equilibre: 50%, up to 10x, alerts -15% and -20%. risque: 100%, up to 20x, alerts -30% and -50%, 2 leaders strongly recommended (not required), risk_ack: true required above 10,000 USDC. advanced: every plan and the free trial, starts with risque's settings; change them with set_advanced. Alerts never close anything on their own. At prudent, equilibre and risque, new copies need a Hyperliquid Unified Account (switch_to_unified_account) with no positions opened outside WakeTrades; at advanced, only the xyz markets need it. An account needs a minimum balance because Hyperliquid has a minimum order size: plan for at least 1,100 USDC at prudent, 550 at equilibre, 300 at risque (get_levels gives recommendedLevel for your balance); below that, most copies open at the 11 USDC minimum order, larger than the level's share; the answer may carry a non-blocking warning copies_too_small.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
  • set_order_modeHow copies enter.Reads text others writeNo findings

    Why it is in this group

    • The name "set_order_mode" says "set": a word for a change.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    How copies enter. limit (default for new accounts): a post-only order at the leader's price; unfilled after 1 minute, it is cancelled and the copy opens at market unless the price is more than 1% from the leader's entry; if the leader exits first, nothing is copied (limit_missed event). market: at market right away, skipped if the price is more than 1% from the leader's entry. Orders already waiting keep their mode.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
    • idempotentHint: true
  • start_sign_inReturns a nonce and the exact message to sign with the wallet (EIP-191 personal_sign).Reads text others writeNo findings

    Why it is in this group

    • The name "start_sign_in" says "start": a word for a change.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Returns a nonce and the exact message to sign with the wallet (EIP-191 personal_sign). Valid 10 minutes.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
    • idempotentHint: true
  • submit_trading_keyRelays the signed approveAgent to Hyperliquid.Reads text others writeNo findings

    Why it is in this group

    • The name "submit_trading_key" says "submit": a word for a change.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Relays the signed approveAgent to Hyperliquid. On hyperliquid_refused, reason no_deposit means deposit USDC first; too_many_agents means revoke an API wallet on Hyperliquid.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
  • suggest_leaderTraders of our latest Monthly Report for an exposure level (advanced uses risque's list).Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Traders of our latest Monthly Report for an exposure level (advanced uses risque's list). Rule: each more prudent level's suggestion is set aside first (prudent, then equilibre); then, among the level's #3 to #5 not set aside, the one who opened the most positions in the 30 days before the report is suggested (a tie goes to the better rank), never #1 or #2; if #3 to #5 were all set aside, the most active of them anyway. One suggestion per level, for every account: three traders of the report in all; the full lists are in get_report with a paid plan. risque strongly recommends 2 leaders: choose the second one yourself. The answer's top-level fields are the suggestion and suggestions repeats it: address, rank, winRatePct, profitFactor, tradesPerMonth, medianHoldHours, note, liveCheck. Report figures are month-end: before choosing, check the trader's current positions with get_leader_positions. Then pass the address to set_copy_settings; changeable any time. Error no_suggestion: no report published yet.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • switch_to_unified_accountSwitches the Hyperliquid account to a Unified Account with the trading key (Hyperliquid agentSetAbstraction): no wallet signature.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Switches the Hyperliquid account to a Unified Account with the trading key (Hyperliquid agentSetAbstraction): no wallet signature. Required for new copies at prudent, equilibre and risque, and for xyz markets at every level. Call it right after confirm_trading_key. Returns { mode, unified }; an account already unified is left as is. Errors: key_required (confirm the trading key first), switch_failed (switch it in your Hyperliquid settings).

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
    • idempotentHint: true
Only reads 10Show 10 read-only tools
  • get_accountAccount, copy state, open positions, Hyperliquid balance and network, and copiesOnHold { held, reasons, coins }: held is true when new copies would not open now.Reads text others writeNo findings

    Why it is in this group

    • The name "get_account" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Account, copy state, open positions, Hyperliquid balance and network, and copiesOnHold { held, reasons, coins }: held is true when new copies would not open now. Reasons: not_activated (sign-up not finished), paused, trial_expired, plan_expired, key_invalid (trading key expired or revoked: sign a new one), platform_paused, no_leaders, no_margin, not_unified (prudent, equilibre, risque: switch_to_unified_account), manual_positions (positions opened outside WakeTrades, listed in coins: close them), xyz_not_unified (advanced on a standard account: only the xyz markets are held, held stays false).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • get_journalRecent copy events (the same as webhook alerts).Reads text others writeNo findings

    Why it is in this group

    • The name "get_journal" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Recent copy events (the same as webhook alerts).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • get_leaderEquity, open positions and statistics of a Hyperliquid address you could copy: over 30 days, and over 90 days in stats.d90 (with pnlUsd and pnlPct, perps only).Reads text others writeNo findings

    Why it is in this group

    • The name "get_leader" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Equity, open positions and statistics of a Hyperliquid address you could copy: over 30 days, and over 90 days in stats.d90 (with pnlUsd and pnlPct, perps only).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • get_leader_positionsA Hyperliquid trader's current open positions: coin, side, sizeUsd, entryPx, markPx, leverage, pnl (unrealized), liquidationPx, openedAt or openedBefore.Reads text others writeNo findings

    Why it is in this group

    • The name "get_leader_positions" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    A Hyperliquid trader's current open positions: coin, side, sizeUsd, entryPx, markPx, leverage, pnl (unrealized), liquidationPx, openedAt or openedBefore. Use it before choosing a suggested trader: the Monthly Report figures are month-end and a trader can hold a large losing position now. Positions already open when you start copying are never copied; notCopied: true would mark a market WakeTrades does not copy. Also orders: the trader's open orders (kind limit, sl or tp; coin, side, reduceOnly, wholePosition, value, px = trigger price for sl / tp, tp and sl = trigger prices of the take profit and stop loss attached to that order or null, placedAt), to see the prices they are waiting for. Read from Hyperliquid, kept 60 seconds.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • get_levelsDefinitions of the four exposure levels (prudent, equilibre, risque, advanced): size of your copies, leaders, exposure cap, drawdown alerts, plans, minPracticalBalanceUsd.Reads text others writeNo findings

    Why it is in this group

    • The name "get_levels" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Definitions of the four exposure levels (prudent, equilibre, risque, advanced): size of your copies, leaders, exposure cap, drawdown alerts, plans, minPracticalBalanceUsd. With equity (USDC) or a session_token (your Hyperliquid balance): recommendedLevel, the most prudent of prudent, equilibre, risque whose minimum balance the equity covers (1,100 / 550 / 300 USDC), with recommendationNote; under every minimum, risque with belowAllMinimums: true (copies under Hyperliquid's minimum order open at 11 USDC; risque stays closest to the leaders' proportions). advanced is never recommended. No session needed.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • get_offerPlan prices in USDC for 1, 3 or 6 months, the struck regular prices, and the founder rule: 50% off for as long as you renew before your plan ends (lost if a paid plan lapses), firs…Reads text others writeNo findings

    Why it is in this group

    • The name "get_offer" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Plan prices in USDC for 1, 3 or 6 months, the struck regular prices, and the founder rule: 50% off for as long as you renew before your plan ends (lost if a paid plan lapses), first members only, can close without notice. bestValue = 6m.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • get_ordersRecent copy orders, including skipped trades and why.Reads text others writeNo findings

    Why it is in this group

    • The name "get_orders" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Recent copy orders, including skipped trades and why.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • get_positionsCopied positions with their stop and take profit, and openedAt (ms) for their age.Reads text others writeNo findings

    Why it is in this group

    • The name "get_positions" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Copied positions with their stop and take profit, and openedAt (ms) for their age.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • get_reportThe monthly report: up to 5 Hyperliquid traders per exposure level (prudent, equilibre, risque; advanced picks from any list), with what a copy at that level would have made and lo…Reads text others writeNo findings

    Why it is in this group

    • The name "get_report" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    The monthly report: up to 5 Hyperliquid traders per exposure level (prudent, equilibre, risque; advanced picks from any list), with what a copy at that level would have made and lost over 90 days. Paid plan (access: full): everything, names and addresses included. Free trial (access: preview): rank, type, the copy figures, the trader's 90-day and 6-month returns, win rate (rounded down) and profit factor; no names or addresses. yourCopy: the top 3 of each level copied together, by balance (simulated). market: the month's market. texts: the month's notes (preview: no names, addresses or per-leader notes). annex: the biggest returns and why they are not listed (preview: up to 3 reasons, no address). yourResults: this wallet's real figures for the month ({ ready: false } until a month of copying is closed). Published on the 1st of each month for the month just ended.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • get_startedThe full flow for an AI agent, the rules that apply, and links to the docs and the OpenAPI reference.Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "get_started" says "get": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "doc": it reads documents.
    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    The full flow for an AI agent, the rules that apply, and links to the docs and the OpenAPI reference.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Exfil surface

Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.

66 paths in this server alone from private data, through text someone else wrote, to a way out. Denying 1 private-data tool breaks every one.

Reads private data1
Reads files, mail, messages, databases, secrets, calendars or repositories.
Reads text others write33
Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
Can send data out2
Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.
deny to break every path
{
  "permissions": {
    "deny": [
      "mcp__waketrades__get_started"
    ]
  }
}

Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.

Findings

Matches of fixed checks, with the text they matched.

1 warn1 info
  • The server marks "prepare_payment" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"openWorldHint":true}; The name "prepare_payment" says "payment": a word that usually means money moves, which cannot be taken back.

    What this check looks for
  • The description is 2,051 characters long, over the 2,000 this check looks for.

    Matched text

    description ends: "...-even. After a partial close the copy keeps following the leader on what is left."

    What this check looks for

History

Changes to its tool definitions and to its remote endpoint, newest first.

No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http waketrades https://waketrades.com/mcp
claude mcp add --transport http waketrades https://waketrades.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__waketrades__get_started",
      "mcp__waketrades__get_offer",
      "mcp__waketrades__get_leader",
      "mcp__waketrades__get_account",
      "mcp__waketrades__get_levels",
      "mcp__waketrades__get_leader_positions",
      "mcp__waketrades__get_positions",
      "mcp__waketrades__get_orders",
      "mcp__waketrades__get_journal",
      "mcp__waketrades__get_report"
    ],
    "ask": [
      "mcp__waketrades__hello",
      "mcp__waketrades__start_sign_in",
      "mcp__waketrades__finish_sign_in",
      "mcp__waketrades__set_copy_settings",
      "mcp__waketrades__suggest_leader",
      "mcp__waketrades__backtest_leader",
      "mcp__waketrades__set_advanced",
      "mcp__waketrades__link_webhook",
      "mcp__waketrades__prepare_trading_key",
      "mcp__waketrades__submit_trading_key",
      "mcp__waketrades__confirm_trading_key",
      "mcp__waketrades__switch_to_unified_account",
      "mcp__waketrades__prepare_payment",
      "mcp__waketrades__submit_payment",
      "mcp__waketrades__set_order_mode",
      "mcp__waketrades__pause_copying",
      "mcp__waketrades__resume_copying"
    ],
    "deny": [
      "mcp__waketrades__unlink_webhook",
      "mcp__waketrades__close_position",
      "mcp__waketrades__close_losing",
      "mcp__waketrades__close_all",
      "mcp__waketrades__emergency_stop",
      "mcp__waketrades__revoke_all_sessions"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as waketrades. Review it before you use it.

Capability tags behind 33 rules
  • mcp__waketrades__hello untrusted-input
  • mcp__waketrades__get_started private-data, untrusted-input
  • mcp__waketrades__get_offer untrusted-input
  • mcp__waketrades__get_leader untrusted-input
  • mcp__waketrades__start_sign_in untrusted-input
  • mcp__waketrades__finish_sign_in untrusted-input, outbound
  • mcp__waketrades__get_account untrusted-input
  • mcp__waketrades__get_levels untrusted-input
  • mcp__waketrades__set_copy_settings untrusted-input
  • mcp__waketrades__suggest_leader untrusted-input
  • mcp__waketrades__get_leader_positions untrusted-input
  • mcp__waketrades__backtest_leader untrusted-input
  • mcp__waketrades__set_advanced untrusted-input
  • mcp__waketrades__link_webhook untrusted-input, outbound
  • mcp__waketrades__unlink_webhook untrusted-input
  • mcp__waketrades__prepare_trading_key untrusted-input
  • mcp__waketrades__submit_trading_key untrusted-input
  • mcp__waketrades__confirm_trading_key untrusted-input
  • mcp__waketrades__switch_to_unified_account untrusted-input
  • mcp__waketrades__prepare_payment untrusted-input
  • mcp__waketrades__submit_payment untrusted-input
  • mcp__waketrades__set_order_mode untrusted-input
  • mcp__waketrades__get_positions untrusted-input
  • mcp__waketrades__get_orders untrusted-input
  • mcp__waketrades__get_journal untrusted-input
  • mcp__waketrades__get_report untrusted-input
  • mcp__waketrades__pause_copying untrusted-input
  • mcp__waketrades__resume_copying untrusted-input
  • mcp__waketrades__close_position untrusted-input
  • mcp__waketrades__close_losing untrusted-input
  • mcp__waketrades__close_all untrusted-input
  • mcp__waketrades__emergency_stop untrusted-input
  • mcp__waketrades__revoke_all_sessions untrusted-input

Pin

Keep the decision: fail CI when the tools change, follow every change, or show a badge.

Pin in CI

Fail a build when the tools you reviewed are not the tools the server serves today.

curl -s "https://anlyon.dev/api/v1/servers/com.waketrades/mcp/verify?hash=35b778b2db495c843fabd756bce025e0567cad2cf99efea978ff40e63483b51e" | jq -e '.changed == false'

Pinned hash 35b778b2db49, from Oct 28, 2026, 17:17 UTC.

Watch

Get told when its tools change: a new tool, a new description, a new class.

https://anlyon.dev/servers/com.waketrades/mcp/changes.xml

An Atom feed. Works in any feed reader or Slack's RSS app.

Badge

anlyon.dev badge for com.waketrades/mcp
[![anlyon.dev](https://anlyon.dev/badge/com.waketrades/mcp.svg)](https://anlyon.dev/servers/com.waketrades/mcp)

Source: MCP Registry · repository. Synced Oct 28, 2026, 17:17 UTC.