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

Moby

REMOTE · MCP.MOBY.WIN

Bearer agent key. Codex, Claude Code CLI, Gemini CLI (paid key), Grok CLI. ChatGPT: workspace plans.

Available components

63 Trust /100

Last scanned (23 hours ago)

Scores higher than 44% of remote servers

Reachable. Last reached 4 Nov 2026.

Category Crypto and Web3

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security57
Transport & Reachability100
Schema Quality & AI Usability64
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 19792 tokens (~257/item across 77 items; 77 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 Management7
  • Stability observed for 2 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
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 78 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass
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.

  • 4 Nov 26 +3

    We did not load change detail this far back for this component, so this day may have recorded more than is shown.

    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “get_my_guardrails” rewrote its description, which is the text the model reads security
    • Tool “get_my_followed_wallets” rewrote its description, which is the text the model reads security
    • Tool “get_my_closed_positions” rewrote its description, which is the text the model reads security
    • Tool “get_my_position” rewrote its description, which is the text the model reads security
    • Tool “get_whalewatch_feed_window” rewrote its description, which is the text the model reads security
    • Tool “get_screener_groups” rewrote its description, which is the text the model reads security
    • Tool “get_token_holdings” rewrote its description, which is the text the model reads security
    • Tool “search_tokens” rewrote its description, which is the text the model reads security
    • Tool “get_my_following_feed” rewrote its description, which is the text the model reads security
    • Tool “get_my_closed_trades” rewrote its description, which is the text the model reads security
    • Tool “get_my_watchlist_tokens” rewrote its description, which is the text the model reads security
    • Tool “get_token_holders” rewrote its description, which is the text the model reads security
    • Tool “get_my_token_balance” rewrote its description, which is the text the model reads security
    • Tool “get_my_balances” rewrote its description, which is the text the model reads security
    • Tool “get_whalewatch_feed” rewrote its description, which is the text the model reads security
    • Tool “get_top_held” rewrote its description, which is the text the model reads security
    • Tool “get_whalewatch_kol_feed” rewrote its description, which is the text the model reads security
    • Tool “get_token_x_profile” rewrote its description, which is the text the model reads security
    • Tool “get_whale_wallet_pnl_chart” rewrote its description, which is the text the model reads security
    • Tool “get_token_overview” rewrote its description, which is the text the model reads security
    • Tool “get_whalewatch_wallet_lists” rewrote its description, which is the text the model reads security
    • Tool “get_strategy” rewrote its description, which is the text the model reads security
    • Tool “get_token_dca_orders” rewrote its description, which is the text the model reads security
    • Tool “unfollow_wallet” rewrote its description, which is the text the model reads security
    • Tool “save_active_strategy” rewrote its description, which is the text the model reads security
    • Tool “cancel_order” rewrote its description, which is the text the model reads security
    • Tool “list_strategies” rewrote its description, which is the text the model reads security
    • Tool “get_whale_wallet_wins” rewrote its description, which is the text the model reads security
    • Tool “discover_wallets_to_follow” rewrote its description, which is the text the model reads security
    • Tool “get_whale_wallet_positions” rewrote its description, which is the text the model reads security
    • Tool “get_whalewatch_lists” rewrote its description, which is the text the model reads security
    • Tool “get_group_leaderboard” rewrote its description, which is the text the model reads security
    • Tool “get_degen_leaderboard” rewrote its description, which is the text the model reads security
    • Tool “get_whale_wallet_profile” rewrote its description, which is the text the model reads security
    • Tool “get_my_portfolio” rewrote its description, which is the text the model reads security
    • Tool “get_launchpads” rewrote its description, which is the text the model reads security
    • Tool “get_my_watchlists” rewrote its description, which is the text the model reads security
    • Tool “get_token_price” rewrote its description, which is the text the model reads security
    • Tool “get_my_dca_schedules” rewrote its description, which is the text the model reads security
    • Tool “get_kol_top_held” rewrote its description, which is the text the model reads security
    • Tool “get_token_trade_brief” rewrote its description, which is the text the model reads security
    • Tool “get_token_ohlcv” rewrote its description, which is the text the model reads security
    • Tool “save_trading_profile” rewrote its description, which is the text the model reads security
    • Tool “get_my_active_strategies” rewrote its description, which is the text the model reads security
    • Tool “get_my_orders” rewrote its description, which is the text the model reads security
    • Tool “execute_swap” rewrote its description, which is the text the model reads security
    • Tool “get_token_chart” rewrote its description, which is the text the model reads security
    • Tool “get_whale_wallet_profiles” rewrote its description, which is the text the model reads security
    • Tool “get_token_smart_money” rewrote its description, which is the text the model reads security
    • Tool “get_screener_leaderboard” rewrote its description, which is the text the model reads security
    • Tool “get_token_live_feed” rewrote its description, which is the text the model reads security
    • Tool “search_whalewatch_wallets” rewrote its description, which is the text the model reads security
    • Tool “get_my_activity” rewrote its description, which is the text the model reads security
    • Tool “quick_buy” rewrote its description, which is the text the model reads security
    • Tool “get_my_transaction” rewrote its description, which is the text the model reads security
    • Tool “get_swap_status” rewrote its description, which is the text the model reads security
    • Tool “get_token_key_holders” rewrote its description, which is the text the model reads security
    • Tool “quick_sell” rewrote its description, which is the text the model reads security
    • Tool “get_screener_event_filters” rewrote its description, which is the text the model reads security
    • Tool “get_whale_wallet_holdings” rewrote its description, which is the text the model reads security
    • Tool “get_my_feedback” rewrote its description, which is the text the model reads security
    • Tool “get_whalewatch_home_feed” rewrote its description, which is the text the model reads security
    • Tool “get_smart_money_pulse” rewrote its description, which is the text the model reads security
    • Tool “get_token_whale_holders” rewrote its description, which is the text the model reads security
    • Tool “get_my_transactions” rewrote its description, which is the text the model reads security
    • Tool “get_swap_quote” rewrote its description, which is the text the model reads security
    • Tool “create_order” rewrote its description, which is the text the model reads security
    • Tool “submit_feedback” rewrote its description, which is the text the model reads security
    • Tool “get_my_trading_profile” rewrote its description, which is the text the model reads security
    • Tool “get_token_risk_signals” rewrote its description, which is the text the model reads security
    • Tool “get_whalewatch_wallet_list_detail” rewrote its description, which is the text the model reads security
    • Tool “follow_wallet” rewrote its description, which is the text the model reads security
    • Tool “get_my_recommended_wallets” rewrote its description, which is the text the model reads security
    • Tool “get_whalewatch_legend” rewrote its description, which is the text the model reads security
    • Tool “get_market_movers” rewrote its description, which is the text the model reads security
    • Tool “get_my_wallets” rewrote its description, which is the text the model reads security
    • Tool “get_whale_wallet_track_record” rewrote its description, which is the text the model reads security
    • Tool coverage: 62% → 100% ▲ functional
    • Schema quality: 353 → 257 ▲ functional
    • Too many changes on this day to record them all, so 37 were dropped functional
    • Schema quality: good → excellent functional
    • Server version: 1.0.0 → 1.1.0 functional
    • “get_token_live_feed” reworded the description of “token_address” cosmetic
    • “get_token_trade_brief” reworded the description of “token_address” cosmetic
    • “get_token_smart_money” reworded the description of “token_address” cosmetic
    • “search_tokens” reworded the description of “query” cosmetic
    • “get_token_key_holders” reworded the description of “token_address” cosmetic
    • “get_kol_top_held” reworded the description of “token_address” cosmetic
    • “get_my_closed_trades” reworded the description of “include_fills” cosmetic
    • “get_token_dca_orders” reworded the description of “order_direction” cosmetic
    • “get_my_closed_trades” reworded the description of “limit” cosmetic
    • “save_trading_profile” reworded the description of “profile” cosmetic
    • “get_whale_wallet_pnl_chart” reworded the description of “period” cosmetic
    • “get_whalewatch_home_feed” reworded the description of “limit” cosmetic
    • “get_token_whale_holders” reworded the description of “token_address” cosmetic
    • “get_token_chart” reworded the description of “period” cosmetic
    • “get_token_x_profile” reworded the description of “token_address” cosmetic
    • “get_token_price” reworded the description of “token_address” cosmetic
    • “get_token_holdings” reworded the description of “token_address” cosmetic
    • “discover_wallets_to_follow” reworded the description of “wallet_type” cosmetic
    • “get_token_holders” reworded the description of “token_address” cosmetic
    • “get_my_portfolio” reworded the description of “refresh” cosmetic
    • “get_token_chart” reworded the description of “token_address” cosmetic
    • “get_token_ohlcv” reworded the description of “token_address” cosmetic
    • “get_my_token_balance” reworded the description of “token_address” cosmetic
    • “get_token_dca_orders” reworded the description of “token_address” cosmetic
    • “get_token_holders” dropped the optional parameter “network” cosmetic
    • “get_token_chart” dropped the optional parameter “network” cosmetic
    • “get_whale_wallet_profile” dropped the optional parameter “network” cosmetic
    • “get_token_dca_orders” dropped the optional parameter “network” cosmetic
    • “get_token_smart_money” dropped the optional parameter “network” cosmetic
    • “get_token_live_feed” dropped the optional parameter “network” cosmetic
    • “get_whalewatch_feed_window” dropped the optional parameter “network” cosmetic
    • “get_my_transactions” dropped the optional parameter “network” cosmetic
    • “get_token_x_profile” dropped the optional parameter “network” cosmetic
    • “discover_wallets_to_follow” dropped the optional parameter “network” cosmetic
    • “get_my_token_balance” dropped the optional parameter “network” cosmetic
    • “get_group_leaderboard” dropped the optional parameter “network” cosmetic
    • “get_whale_wallet_track_record” dropped the optional parameter “network” cosmetic
    • “get_token_price” dropped the optional parameter “network” cosmetic
    • “get_whalewatch_lists” dropped the optional parameter “network” cosmetic
    • “get_whalewatch_kol_feed” dropped the optional parameter “network” cosmetic
    • “get_whale_wallet_pnl_chart” dropped the optional parameter “network” cosmetic
    • “get_my_position” dropped the optional parameter “network” cosmetic
    • “get_whalewatch_wallet_lists” dropped the optional parameter “network” cosmetic
    • “get_my_activity” dropped the optional parameter “network” cosmetic
    • “get_screener_groups” dropped the optional parameter “network” cosmetic
    • “get_swap_quote” dropped the optional parameter “network” cosmetic
    • “get_whale_wallet_profiles” dropped the optional parameter “network” cosmetic
    • “get_screener_leaderboard” dropped the optional parameter “network” cosmetic
    • “get_my_recommended_wallets” dropped the optional parameter “network” cosmetic
    • “search_whalewatch_wallets” dropped the optional parameter “network” cosmetic
    • “get_token_ohlcv” dropped the optional parameter “network” cosmetic
    • “get_launchpads” dropped the optional parameter “network” cosmetic
    • “get_top_held” dropped the optional parameter “network” cosmetic
    • “get_token_holdings” dropped the optional parameter “network” cosmetic
    • “follow_wallet” dropped the optional parameter “network” cosmetic
    • “quick_buy” dropped the optional parameter “network” cosmetic
    • “get_my_watchlists” dropped the optional parameter “network” cosmetic
    • “get_whale_wallet_positions” dropped the optional parameter “network” cosmetic
    • “get_screener_event_filters” dropped the optional parameter “network” cosmetic
    • “get_my_balances” dropped the optional parameter “network” cosmetic
    • “get_my_dca_schedules” dropped the optional parameter “network” cosmetic
    • “unfollow_wallet” dropped the optional parameter “network” cosmetic
    • “get_whale_wallet_holdings” dropped the optional parameter “network” cosmetic
    • “get_token_overview” dropped the optional parameter “network” cosmetic
    • “quick_sell” dropped the optional parameter “network” cosmetic
    • Tool “get_whalewatch_wallet_lists” changed its title: Find-wallets shell → Wallet lists to browse and follow cosmetic
    • Tool “get_my_orders” changed its title: My orders and order history → My open orders (limit, TP, SL, DCA) cosmetic
    • Tool “get_my_portfolio” changed its title: My whole portfolio → My portfolio value cosmetic
    • Tool “get_whalewatch_home_feed” changed its title: Whale feed highlights → Notable whale trades now cosmetic
    • Tool “create_order” changed its title: Place a trigger order → Place limit, stop-loss, take-profit or DCA order (real money) cosmetic
    • Tool “get_token_holders” changed its title: All token holders → All top holders cosmetic
    • Tool “get_token_live_feed” changed its title: Token trade feed → Live whale trades in a token cosmetic
    • Tool “save_active_strategy” changed its title: Record a running strategy → Save, pause or stop a strategy cosmetic
    • Tool “get_whale_wallet_profile” changed its title: Whale wallet full profile → Wallet profile and track record cosmetic
    • Tool “get_my_recommended_wallets” changed its title: Wallets recommended for me → Wallets similar to my holdings cosmetic
    • Tool “get_whalewatch_wallet_list_detail” changed its title: One find-wallets list → Wallets in a curated list cosmetic
    • Tool “get_token_ohlcv” changed its title: Token candles → Token OHLCV candles cosmetic
    • Tool “quick_sell” changed its title: Quick sell a position → Sell a token to USDC (real money) cosmetic
    • Tool “get_screener_leaderboard” changed its title: Token leaderboard → Trending Solana tokens cosmetic
    • Tool “get_whalewatch_kol_feed” changed its title: KOL transaction feed → KOL and influencer trades cosmetic
    • Tool “get_kol_top_held” changed its title: Tracked KOLs holding a token → KOLs holding a token cosmetic
    • Tool “get_my_watchlist_tokens” changed its title: Tokens on my watchlist → My watchlist tokens cosmetic
    • Tool “search_whalewatch_wallets” changed its title: Search wallets by name or brand → Search whale and KOL wallets cosmetic
    • Tool “get_whale_wallet_track_record” changed its title: Whale wallet track record → Wallet track record cosmetic
    • Tool “get_smart_money_pulse” changed its title: Smart-money pulse → Smart money pulse (whale buys and sells) cosmetic
    • Tool “quick_buy” changed its title: Quick buy a token → Buy a token with USDC (real money) cosmetic
    • Tool “cancel_order” changed its title: Cancel an order → Cancel an order or DCA cosmetic
    • Tool “get_degen_leaderboard” changed its title: Degen leaderboard → Trending memecoins and new tokens (high risk) cosmetic
    • Tool “get_swap_status” changed its title: Check a swap's outcome → Swap status cosmetic
    • Tool “get_my_transaction” changed its title: One of my transactions in full → Transaction detail cosmetic
    • Tool “get_swap_quote” changed its title: Price a swap → Quote a swap cosmetic
    • Tool “list_strategies” changed its title: Starter strategies → Starter trading strategies cosmetic
    • Tool “get_whalewatch_feed” changed its title: Whale transaction feed → Whale trade feed (filterable) cosmetic
    • Tool “get_my_closed_positions” changed its title: My closed positions → My closed positions (realized PnL) cosmetic
    • Tool “get_strategy” changed its title: One starter strategy, ready to run → Get a strategy's instructions cosmetic
    • Tool “get_top_held” changed its title: Top-held tokens leaderboard → Most-held tokens by whales or Moby users cosmetic
    • Tool “get_my_closed_trades” changed its title: My closed trades → My trade history for a token cosmetic
    • Tool “get_token_risk_signals” changed its title: Token risk signals → Token risk check (honeypot, authorities, snipers) cosmetic
    • Tool “get_my_following_feed” changed its title: My following feed → Trades by wallets I follow cosmetic
    • Tool “get_token_whale_holders” changed its title: Tracked whales holding a token → Whales holding a token, by list cosmetic
    • Tool “get_my_feedback” changed its title: My feedback to Moby → My feedback status cosmetic
    • Tool “get_screener_event_filters” changed its title: Market-mover filter values → Market mover filter values cosmetic
    • Tool “get_whale_wallet_positions” changed its title: Whale wallet positions with cost basis → Whale wallet positions with PnL cosmetic
    • Tool “get_token_x_profile” changed its title: Token's X/Twitter profile → Project X account check cosmetic
    • Tool “get_my_position” changed its title: My position in a token → My position and PnL in a token cosmetic
    • Tool “get_market_movers” changed its title: Market events → Market movers and price alerts cosmetic
    • Tool “get_token_dca_orders” changed its title: Token DCA orders → Public DCA orders on a token cosmetic
    • Tool “get_my_guardrails” changed its title: My trading guardrails → My trading limits (guardrails) cosmetic
    • Tool “get_my_trading_profile” changed its title: My trading profile → My trading profile (call first) cosmetic
    • Tool “discover_wallets_to_follow” changed its title: Suggested wallets to follow → Find wallets to copy trade cosmetic
    • Tool “get_launchpads” changed its title: Launchpad activity → New launches by launchpad (pump.fun) cosmetic
    • Tool “save_trading_profile” changed its title: Save my trading profile → Save trading profile cosmetic
    • Tool “execute_swap” changed its title: Execute a swap → Execute quoted swap (real money) cosmetic
    • Tool “get_my_balances” changed its title: My balances → My balances (USDC and tokens) cosmetic
    • Tool “get_whale_wallet_profiles” changed its title: Rate many whale wallets at once → Rate many wallets at once cosmetic
    • Tool “get_whale_wallet_wins” changed its title: Whale wallet wins → Whale wallet best trades cosmetic
  • 2 Nov 26 60

    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 4 Nov 2026 · Probed https://mcp.moby.win/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=moby.win CN=WE1,O=Google Trust Services,C=US 6 Oct 2026 4 Jan 2027 ECDSA 256 ECDSA-SHA256 5fb5b6124e795d7213c772b8d7e5c22d
SANs: moby.win, *.moby.win
CN=WE1,O=Google Trust Services,C=US (CA) CN=GTS Root R4,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 ECDSA 256 ECDSA-SHA384 7ff31977972c224a76155d13b6d685e3
CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 15 Nov 2023 28 Jan 2028 ECDSA 384 SHA256-RSA 7fe530bf331343bedd821610493d8a1b

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of mcp.moby.win. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
win. present 29737 8 Verified
moby.win. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://mcp.moby.win/mcp Verified 200
http (plaintext) http://mcp.moby.win/mcp HTTPS enforced 301 https://mcp.moby.win/mcp
MCP tools · 77 exposed · ~17,089 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. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
get_token_whale_holders ~91

Tracked whales holding one Solana token, grouped by whale list. `get_token_key_holders` is the same population ungrouped (whales and KOLs together, with win rates); use this for 'which KIND of whale is in this'.

NameTypeReqDescription
token_addressstringyesSolana token mint address (base58). Get it from search_tokens or a leaderboard row.

Structured output declared, but exposes no named fields.

No examples provided.

get_token_x_profile ~89

Follower count, age and verification of a Solana token's X (Twitter) account. Paid per lookup; use sparingly. Answers 'is this project's social presence real or a two-day-old burner'. Not for routine enrichment of every token in a list.

NameTypeReqDescription
token_addressstringyesSolana token mint address (base58). Get it from search_tokens or a leaderboard row.

Structured output declared, but exposes no named fields.

No examples provided.

get_top_held ~102

Tokens ranked by total USD held by tracked whales (default) or by Moby users. Use for "what are whales holding most". Always TOKENS, never a ranking of people. `holder_type=whale` for 'what are whales piling into', `holder_type=user` for 'what do Moby users hold most'.

NameTypeReqDescription
holder_typestring–whale (default) = held by tracked whales; user = held by Moby users.

Structured output declared, but exposes no named fields.

No examples provided.

get_whale_wallet_holdings ~91

Current holdings of one tracked wallet. ⚠️ Somebody else's portfolio, not the user's (that is `get_my_balances`). Take `wallet_address` from a whale feed row; opaque references work. `get_whale_wallet_positions` adds cost basis and PnL.

NameTypeReqDescription
wallet_addressstringyesTracked wallet, from a whale feed row. Opaque references work too.

Structured output declared, but exposes no named fields.

No examples provided.

get_whale_wallet_pnl_chart ~99

One wallet's cumulative realized PnL curve (1d, 7d, 30d, 1y). Is the record a steady climb or one lucky trade? ⚠️ Somebody else's equity curve, never the user's.

NameTypeReqDescription
periodstring–Chart window. Default 30d.
wallet_addressstringyesTracked trader wallet, from a WhaleWatch feed. Opaque references work too.

Structured output declared, but exposes no named fields.

No examples provided.

get_whale_wallet_positions ~90

One tracked wallet's positions with cost basis and unrealized PnL. Richer than `get_whale_wallet_holdings` (amount and USD only). ⚠️ Somebody else's positions; the user's own are `get_my_balances` / `get_my_position`.

NameTypeReqDescription
wallet_addressstringyesTracked trader wallet, from a WhaleWatch feed. Opaque references work too.

Structured output declared, but exposes no named fields.

No examples provided.

get_whale_wallet_profile ~228

Identity, 7d and 30d win rate and PnL, holdings and recent trades for one public Solana wallet. Use for "is this wallet any good". Also whether Moby stopped tracking it (`identity.tracking_paused_at`). Prefer it over `get_whale_wallet_track_record` + `get_whale_wallet_positions`. `windows.d7` / `windows.d30`: realized P/L, closes, win rate, avg/median hold days, share of closes held under 24h. Read `read.situation` with the window stats. `include_holdings=false` = stats only, much smaller; to rate many wallets use `get_whale_wallet_profiles`. A wallet Moby has seen but not indexed returns null sections, not an error. ⚠️ Somebody else's profile, never the user's.

NameTypeReqDescription
include_holdingsboolean–false = stats only, no holdings (smaller, faster). Default true.
wallet_addressstringyesTracked trader wallet, from a WhaleWatch feed. Opaque references work too.

Structured output declared, but exposes no named fields.

No examples provided.

get_whale_wallet_profiles ~147

Win rate and PnL for up to 20 wallets in one call. Rate 10-20 key holders before a buy; stats only. Pass the `wallet_address` refs from `get_token_key_holders`. Each profile has `windows.d7` / `windows.d30` (realized P/L, closes, win rate, median hold, short-hold share), `track_record`, `realized` and `identity`. An unknown wallet is left out: match rows on `wallet_ref`. ⚠️ Other people's wallets.

NameTypeReqDescription
wallet_addressesarrayyes1-20 tracked wallet refs, e.g. from get_token_key_holders.

Structured output declared, but exposes no named fields.

No examples provided.

get_whale_wallet_track_record ~101

Win rate, realized PnL, trade count and hold time for one wallet. Prefer the profile tool. Also `backfill_state` (whether Moby finished indexing it). `get_whale_wallet_profile` has this plus holdings and follow state in one call. ⚠️ Somebody else's record, never the user's.

NameTypeReqDescription
wallet_addressstringyesTracked trader wallet, from a WhaleWatch feed. Opaque references work too.

Structured output declared, but exposes no named fields.

No examples provided.

get_whale_wallet_wins ~92

Top 5 closed trades by profit for one wallet. Judge a wallet before weighting its trades. ⚠️ Somebody else's track record, not the user's (theirs is `get_my_closed_positions`). An empty list means no wins data, not that the wallet never won.

NameTypeReqDescription
wallet_addressstringyesTracked trader wallet, from a WhaleWatch feed. Opaque references work here too.

Structured output declared, but exposes no named fields.

No examples provided.

get_whalewatch_feed ~591

Buys and sells by tracked Solana whale wallets, filterable by token, wallet, list and time. Newest first. Filter by `token_address`, `wallet_address` (a TRACKED wallet, never the user's; their trades are `get_my_activity`) or `list_ids` from `get_whalewatch_lists`. For a whole time window use `get_whalewatch_feed_window`. Rows sort by `timestamp`, then `sequence` (ingest order), so trades by one wallet in the same second stay in order. Rows carry `wallet_list_type` (whale, trader, kol); SELL rows carry `held_seconds` and `quick_flip: true` when sold within 15 minutes of the first buy: check it before reading that wallet's buy as conviction. `include_context=true` adds a per-row `context`: pnl_pct_vs_entry (trade price vs the wallet's average entry, a fraction), tags, hold_days_at_trade, share_sold_of_position, position_before_usd, entry_vwap_before, days_since_prev_trade / prev_trade_at and the wallet's 30-day wallet_win_rate / wallet_realized_pnl_30d_usd. Unknown values are null: pnl_pct_vs_entry is null when the wallet's entry was never seen. Wallet quality: use get_whale_wallet_track_record(wallet_address) for a wallet's win rate and PnL.

NameTypeReqDescription
after_timestamp––Only trades after this instant. ISO 8601 UTC, e.g. `2026-08-11T14:30:00Z`.
before_timestamp––Only trades before this instant. ISO 8601 UTC, e.g. `2026-08-11T14:30:00Z`.
include_contextboolean–Add the per-row `context` block (position/PnL facts for each trade).
limitinteger–Trades per page, 1-100. Keep it small.
list_ids––Whale list ids from `get_whalewatch_lists`. Omit for all lists.
min_days_since_prev_trade––Only trades by a wallet that had been quiet at least this many days before the trade (no tracked trade on this network, any token), e.g. 14 for 'woke up after two weeks'. Trades with no earlier trade…
pageinteger–1-based page number.
token_address––Restrict to whale trades in this one token.
transaction_types––`buy` and/or `sell`. Omit for both. Anything else is rejected rather than ignored — an unrecognised value used to drop the filter and return every row.
wallet_address––Restrict to one TRACKED WHALE wallet. Not the user's wallet.

Structured output declared, but exposes no named fields.

No examples provided.

get_whalewatch_feed_window ~644

Every tracked whale trade in a window up to 48h, one row per swap, cursor paged. Unlike `get_whalewatch_feed`: ONE ROW PER SWAP (`list_id` is one matching list) and cursor paged (pass `next_cursor` back as `cursor` until null; new trades never shift a page). Filter by side, minimum trade size, minimum market cap, `actions`, `list_ids` and `min_days_since_prev_trade`. A window over 48h is rejected. Rows sort by `timestamp`, then `sequence` (ingest order), so trades by one wallet in the same second stay in order. Rows carry `wallet_list_type` (whale, trader, kol); SELL rows carry `held_seconds` and `quick_flip: true` when sold within 15 minutes of the first buy: check it before reading that wallet's buy as conviction. `include_context=true` adds a per-row `context`: pnl_pct_vs_entry (trade price vs the wallet's average entry, a fraction), tags, hold_days_at_trade, share_sold_of_position, position_before_usd, entry_vwap_before, days_since_prev_trade / prev_trade_at and the wallet's 30-day wallet_win_rate / wallet_realized_pnl_30d_usd. Unknown values are null: pnl_pct_vs_entry is null when the wallet's entry was never seen.

NameTypeReqDescription
actions––What the trade did to the wallet's position: `first_buy`, `re_entry`, `add`, `trim`, `close`, `sell_unknown_entry`. Omit for all.
after_timestampstringyesWindow start (inclusive). At most 48h before the window end. ISO 8601 UTC, e.g. `2026-08-11T14:30:00Z`.
before_timestamp––Window end (inclusive). Omit for now. ISO 8601 UTC, e.g. `2026-08-11T14:30:00Z`.
cursor––`next_cursor` from the previous page. Omit for the first page.
include_contextboolean–Add the per-row `context` block (position/PnL facts for each trade).
limitinteger–Swaps per page, 1-1000. Keep it small unless you need the whole window.
list_ids––Whale list ids from `get_whalewatch_lists`. Omit for all lists.
min_amount_usd––Only trades of at least this many USD.
min_days_since_prev_trade––Only trades by a wallet that had been quiet at least this many days before the trade (no tracked trade on this network, any token), e.g. 14 for 'woke up after two weeks'. Trades with no earlier trade…
min_market_cap_usd––Only trades in tokens whose market cap at trade time was at least this.
transaction_types––`buy` and/or `sell`. Omit for both.

Structured output declared, but exposes no named fields.

No examples provided.

get_whalewatch_home_feed ~96

The latest headline whale buy on Solana ($10k or more), as the Moby app's home screen shows it. For anything filtered (one token, one wallet, lists, a time window, more rows) use `get_whalewatch_feed`; for market-wide flow use `get_smart_money_pulse`.

NameTypeReqDescription
limitinteger–Rows to return. The headline feed serves 1.

Structured output declared, but exposes no named fields.

No examples provided.

get_whalewatch_kol_feed ~388

What crypto influencers (KOLs, callers) are buying and selling on Solana. Same rows as `get_whalewatch_feed`, pre-filtered to KOLs server-side (no `list_ids`). For one KOL's trades use `get_whalewatch_feed` with its `wallet_address`. `include_context=true` adds a per-row `context`: pnl_pct_vs_entry (trade price vs the wallet's average entry, a fraction), tags, hold_days_at_trade, share_sold_of_position, position_before_usd, entry_vwap_before, days_since_prev_trade / prev_trade_at and the wallet's 30-day wallet_win_rate / wallet_realized_pnl_30d_usd. Unknown values are null: pnl_pct_vs_entry is null when the wallet's entry was never seen. Wallet quality: use get_whale_wallet_track_record(wallet_address) for a wallet's win rate and PnL.

NameTypeReqDescription
after_timestamp––Only trades after this instant. ISO 8601 UTC, e.g. `2026-08-11T14:30:00Z`.
before_timestamp––Only trades before this instant. ISO 8601 UTC, e.g. `2026-08-11T14:30:00Z`.
include_contextboolean–Add the per-row `context` block (position/PnL facts for each trade).
limitinteger–Trades per page, 1-100. Keep it small.
pageinteger–1-based page number.
token_address––Restrict to KOL trades in this one token.
transaction_types––`buy` and/or `sell`. Omit for both. Anything else is rejected rather than ignored — an unrecognised value used to drop the filter and return every row.

Structured output declared, but exposes no named fields.

No examples provided.

get_whalewatch_legend ~51

Static legend for badges on whale feed rows. Static reference data: call it once to explain a marker on a feed row, never poll it. It has no market data and no wallets.

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

get_whalewatch_lists ~61

Tracked whale, KOL and trader lists and their list_ids, for filtering whale feeds. Pass `list_ids` to `get_whalewatch_feed`. Not the browse-and-follow lists (`get_whalewatch_wallet_lists`).

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

get_whalewatch_wallet_list_detail ~78

Ranked wallets in one curated list (slug from the browse lists tool). Pre-ranked. `slug` MUST come from `get_whalewatch_wallet_lists`: an invented or stale slug is a 404, not an empty list.

NameTypeReqDescription
slugstringyesList slug from get_whalewatch_wallet_lists.

Structured output declared, but exposes no named fields.

No examples provided.

get_whalewatch_wallet_lists ~96

Curated wallet lists to browse for copy trading, with their slugs. The Find-wallets tab: a 'picks' strip, then one summary per curated list (whale groups, KOL groups, proven traders). Pass a `slug` to `get_whalewatch_wallet_list_detail`. Not `get_whalewatch_lists`, which is for filtering `get_whalewatch_feed`.

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

list_strategies ~275

Moby's ready-made strategies (Large Cap Allocator, Smart Money Confirmed, others) with risk labels. From the Strategies section of AI Trading in the Moby app: each card's `id`, `name`, `summary`, `how_it_works`, `chips` (the editable defaults), `risk_label`, `warning` and the Moby `tools` it uses, with the user's max per trade filled in. Use it during or after onboarding to recommend a card, and whenever the user asks what strategies there are. To match a card to the user, offer the one or two ids in `recommended_strategies` from `get_my_trading_profile` / `save_trading_profile` (majors or stocks → Large Cap Allocator, BTC <> ZEC Barbell; launches or memes → StonkFun Trend Rider, StonkFun Whale Swarm, Early Launch Hunter; mix → Smart Money Confirmed). Read each card's `summary`, `how_it_works` and `risk_label` before you recommend it, and only recommend cards this tool returned. The full prompt is NOT here: call `get_strategy(strategy_id)` for it. `app_links` are Moby app deep links to hand to the user; they open the Moby app on their phone.

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

quick_buy ~406

Buy a Solana token or tokenized stock with USDC in one step. Real money. Confirm token and amount first. Checked server-side against max per trade, daily buy volume and market-cap range. ⚠️ THIS SPENDS REAL MONEY from the user's agent wallet and cannot be undone. Confirm the exact amount and token with the user and get an explicit yes BEFORE calling it. There is no quote step, so the user sees no price first: prefer `get_swap_quote` + `execute_swap` when they may want the price. Exactly one of `amount_usd` or `amount_in`. Take the address from `search_tokens` or the Majors / Stocks boards: an impostor is unrecoverable. Red safety tier buys are refused. The result has `quote_id`; when `fill_pending` is true, call `get_swap_status(request_id=quote_id)`. AMOUNTS: quote the `_ui` fields (whole tokens); un-suffixed `output_amount` / `minimum_output_amount` / `filled_*_amount` are the smallest unit. Null = unknown, never zero: `fill_pending: true` = submitted, fill not booked yet; read it from `get_swap_status`. Moby attaches no exits: place this position's TP/SL yourself with `create_order`.

NameTypeReqDescription
amount_in––How much to spend in whole units of USDC, the only funding asset — SOL is a position, never spent by a buy. Mutually exclusive with `amount_usd`.
amount_usd––How much to spend in US DOLLARS. Mutually exclusive with `amount_in`.
output_tokenstringyesContract address of the token to BUY. Get it from `search_tokens`.
rationale––Optional. Your 2–4 line thesis: why this coin, why now, who's in it, what breaks it. Stored with the trade and shown to the user; ≤500 chars.

Structured output declared, but exposes no named fields.

No examples provided.

quick_sell ~375

Sell all or part of a held token to USDC at market. Real money. Full sells also cancel that token's open exits. Quote and execute happen together, so it never fails on an expired quote: THE tool to close or trim. ⚠️ THIS SPENDS REAL MONEY from the user's agent wallet and cannot be undone. Confirm the exact amount and token with the user and get an explicit yes BEFORE calling it. `pct` is a percent of the CURRENT on-chain balance (default 100 = all); proceeds land in USDC in the same wallet. The result has `sold_amount`, `transaction_signature` and the `quote_id`; when `fill_pending` is true, call `get_swap_status(request_id=quote_id)`. AMOUNTS: quote the `_ui` fields (whole tokens); un-suffixed `output_amount` / `minimum_output_amount` / `filled_*_amount` are the smallest unit. Null = unknown, never zero: `fill_pending: true` = submitted, fill not booked yet; read it from `get_swap_status`. A full sell cancels every resting TP/SL on the token, all lots (`cancelled_order_ids`; `cancel_failed_order_ids` / `cancel_pending_order_ids` + `cancel_note` are retried). Sells are never blocked by market cap, safety tier or trade limits; the `market` switch still applies.

NameTypeReqDescription
max_slippage_bps––Slippage tolerance in basis points (100 = 1%). Omit for Moby's default.
pctnumber–Percent of the current balance to sell, 1-100. Default 100 = close it.
token_addressstringyesContract address of the HELD token to sell. Get it from `get_my_balances`.

Structured output declared, but exposes no named fields.

No examples provided.

save_active_strategy ~384

Record a strategy start, pause, resume, stop or run heartbeat. Moves no money. So other sessions and clients see what you run: - START: omit `active_strategy_id`; pass `strategy_id` for a starter card (its name is used if you omit `name`) or `name` for a custom one, plus `settings` (the numbers the user confirmed: amounts, mix, exits, the ask-first flag) and `schedule` in plain words ('every 4 hours'). - PAUSE / RESUME / STOP: pass `active_strategy_id` and `status` paused / active / stopped. - EDIT: pass `active_strategy_id` and only the fields that changed (an empty value clears `settings`, `schedule` or `notes`). - HEARTBEAT: after each run, pass `active_strategy_id` and `last_run_at` (now, ISO 8601). At most 20 active or paused per user; stop one to start another. This moves no money and changes no guardrail.

NameTypeReqDescription
active_strategy_id––Omit to start a new one; an `id` from get_my_active_strategies to update.
last_run_at––ISO 8601 time of the run just finished, e.g. `2026-10-29T14:00:00Z`.
name––Display name (max 120 chars).
notes––Anything to remember (max 1000 chars).
schedule––How often it runs, in plain words (max 120 chars).
settings––The confirmed numbers as a small JSON object (max 8 KB); `{}` clears it.
status––active, paused or stopped.
strategy_id––The starter card `id` from list_strategies; omit for a custom strategy.

Structured output declared, but exposes no named fields.

No examples provided.

save_trading_profile ~303

Save onboarding answers or a skip. Changes no limit and moves no money. Call it after you played the answers back in TWO lines and the user said yes, or with `skipped: true` when they decline. Pass `profile` OR `skipped`, not both. - `replace: false` (default) MERGES into what is saved, so for 'update my trading profile' send only the changed fields. `replace: true` overwrites the whole profile. - Amounts are USD. If the user spoke in SOL, convert at the current price and say both. - After the save, the closing step: offer one or two cards from the result's `recommended_strategies`. `strategies_followup`, when present, is that step as an instruction to you: follow it once, do not read it out. - The scan schedule has no field here. The scan schedule is kept on the agent's side, never saved to Moby: keep it in your own memory or as a recurring task in your own app, and recreate it at the start of each session. This changes NO guardrail and moves no money; the guardrails still decide what you may trade.

NameTypeReqDescription
profile––The interview answers. Omit when `skipped` is true.
replaceboolean–False merges into the saved answers; true overwrites them.
skippedboolean–True when the user declined the interview.

Structured output declared, but exposes no named fields.

No examples provided.

search_tokens ~168

Find a Solana token's mint address by name, ticker, symbol or pasted contract address (CA). Use first whenever the user names a token. For majors and tokenized stocks (NVDAx, SPYx, GLDx) take the address from the Majors / Stocks boards instead. Never guess an address. Every other token tool needs the address, and impostor tokens share popular symbols: buying the wrong one is unrecoverable. If several results look plausible, show them and ask which one. `safety_tier`: grey is NOT a red flag; red = caution, and Moby refuses agent buys on red.

NameTypeReqDescription
querystringyesToken name, ticker or symbol (e.g. BONK, NVDAx), or a pasted mint address (CA).

Structured output declared, but exposes no named fields.

No examples provided.

search_whalewatch_wallets ~87

Find a public whale or KOL wallet by name or list brand. By KOL name or whale-list brand, NOT by pasted address, and not a token search (`search_tokens`). `discover_wallets_to_follow` also says which results the user already follows.

NameTypeReqDescription
querystringyesA KOL name or a whale-list brand. Minimum 2 characters.

Structured output declared, but exposes no named fields.

No examples provided.

submit_feedback ~290

Log a bug, wrong data or feature idea for the Moby team. Once per issue; tell the user it was logged, with its id. Not for payments, lost funds or account problems: send those to support in the Moby app. `kind`: bug (something broke), data_issue (a Moby number looks wrong; `tool_name` is required, and `expected` / `actual` help), idea (a missing tool or 'they should add X'). `title` is one line (max 160 chars); `details` is what happened (max 2000 chars). The same title within 24 hours returns the earlier submission with `duplicate: true` instead of a new one. At most 10 a day. Moves no money.

NameTypeReqDescription
actual––What Moby returned (max 500 chars).
detailsstringyesWhat happened or what to add (max 2000 chars).
expected––What the number should be, and where you saw it (max 500 chars).
kindstringyesbug, data_issue or idea.
titlestringyesOne line (max 160 chars).
token_address––The token's contract address, when it is about one token.
tool_name––The Moby tool it is about, e.g. `get_token_overview`. Required for data_issue.

Structured output declared, but exposes no named fields.

No examples provided.

unfollow_wallet ~69

Stop following a wallet. Moves no money. Idempotent: a no-op if the user does not follow it. Also clears that wallet from `get_my_following_feed` at once.

NameTypeReqDescription
wallet_addressstringyesPublic wallet ref, as returned by get_my_followed_wallets.

Structured output declared, but exposes no named fields.

No examples provided.

Install

How do I install the Moby MCP server?

Moby is a hosted endpoint at https://mcp.moby.win/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · mcp.moby.win

# add to Claude Code
claude mcp add --transport http win-moby-moby 'https://mcp.moby.win/mcp'
Common questions

What is the Moby MCP server?

Moby is an MCP server listed in the public MCP registry as win.moby/moby. Bearer agent key. Codex, Claude Code CLI, Gemini CLI (paid key), Grok CLI. ChatGPT: workspace plans. This page covers its hosted endpoint (https://mcp.moby.win/mcp).

Is the Moby MCP server safe to use?

Moby scores 63 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Moby MCP server expose?

Moby exposes 77 tools: get_screener_leaderboard, get_degen_leaderboard, get_screener_groups, get_group_leaderboard, get_launchpads, and 72 more. Their descriptions and schemas cost roughly 17,089 tokens of context every time the server is loaded.

Does the Moby MCP server require authentication?

No. We connected to Moby without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the Moby MCP server still maintained?

Moby is still listed as active in the MCP registry. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.