{"apiVersion":"v1","directorySlug":"avalon-mcp-921bee68dd","title":"Avalon","description":"Avalon is a frontier lab advancing Trading Intelligence: frontier models whose native discipline is the market. Trading Intelligence, for everyone.","pageUrl":"https://www.mcpbundles.com/skills/avalon-mcp-921bee68dd","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://mcp.avalon.trade/mcp","hostedMcpUrl":null,"toolCount":17,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"trade.avalon/avalon-mcp-921bee68dd","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"list_markets","description":"List every published market as an explore-page summary: strategy equity curve (percent return from liveSince, at most 240 points), benchmark series, token price and vault size. Every observed number carries a status; an uninitialized or unavailable value is not a number. Summaries never carry custody or operation state. Filter by vault chain or a ticker/name query; sort by volume, movers or new. Access: public.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"q":{"type":"string"},"sort":{"enum":["volume","movers","new"],"type":"string"},"chain":{"enum":["ethereum","hyperevm","robinhood"],"type":"string"}}},"title":"list_markets","logicalName":"list_markets","displayName":"list_markets","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_market","description":"Get one market by id or ticker: the strategy, the vault (custody model, typed infrastructure addresses without the signer reference, the vault fee routing: all vault fees to token holders through the Avalon vault-fee multisig, observed share price) and the strategy token (its trading fee recipients: Doppler 5%, Avalon 47.5%, the creator 47.5%). Token and strategy are separate products; no field of one is derived from the other. Returns not_found for an unknown market. Access: public.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["market"],"properties":{"market":{"type":"string","minLength":1}}},"title":"get_market","logicalName":"get_market","displayName":"get_market","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_equity_series","description":"Get the strategy equity series for a market over a range (1M, 3M, 1Y, ALL): percent return derived from the daily settled share price net of fees, the benchmark rebased to 0 at the start of the window, both downsampled to at most 240 points, plus full provenance (observed holdings, proposed NAV, settled price, derived return) per settled day. Empty when the market has no settled price yet. Access: public.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["market"],"properties":{"range":{"enum":["1M","3M","1Y","ALL"],"type":"string","default":"ALL"},"market":{"type":"string","minLength":1}}},"title":"get_equity_series","logicalName":"get_equity_series","displayName":"get_equity_series","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_activity","description":"List the activity of a market, oldest first. Two kinds of event: an operation transition Avalon made (deposit, withdraw, claim, launch), the newest 200, with the operation id and the from/to states (a deposit appears once the chain shows it); and, for a market whose token has launched, each buy and sell of the token read from the chain up to the confirmed block (D16), with its chain identity (chain, block, transaction hash, log index), the wallet, the USD amount and the token amount. Nothing is","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["market"],"properties":{"market":{"type":"string","minLength":1}}},"title":"get_activity","logicalName":"get_activity","displayName":"get_activity","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_token_candles","description":"Get the strategy token's price candles for a market, read from the chain on demand (D16): range 1D, 7D, 30D or ALL (default 1D) and timeframe 5m, 15m, 1h, 4h or 1d (default: about 100 to 200 candles for the range). Each candle has its bucket start t (ISO), open, high, low and close in USD per token, and the USD volume v. A bucket without trades is flat with zero volume. At most 1,000 candles, the most recent, up to the confirmed block. When the chain cannot be read, candles is unavailable with t","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["market"],"properties":{"range":{"enum":["1D","7D","30D","ALL"],"type":"string","default":"1D"},"market":{"type":"string","minLength":1},"timeframe":{"enum":["5m","15m","1h","4h","1d"],"type":"string"}}},"title":"get_token_candles","logicalName":"get_token_candles","displayName":"get_token_candles","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_token_positions","description":"Get a wallet's holdings of each listed strategy token, by address, read from the chain at the latest block (MD-12); a read is served again for up to 5 seconds. Three separate amounts in base units (18 decimals), never added together: walletBalance (what the wallet can sell now), releasableAllocation (the vested creator allocation the token can release to it) and claimableCreatorBuy (the vested creator buy the Bundler can pay it). Give market to read one market only. A failed read is unavailable","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["address"],"properties":{"market":{"type":"string","minLength":1},"address":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"}}},"title":"get_token_positions","logicalName":"get_token_positions","displayName":"get_token_positions","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_started","description":"Call this first. Reads an account's USDG and ETH on Robinhood Chain (chain 4663), says whether it is ready to trade strategy tokens and invest in vaults, what is missing, the least ETH to hold for gas, how to fund it through Across, and what to install: Avalon's MCP and a wallet that signs on its own. Reads only. Access: public.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["account"],"properties":{"account":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"}}},"title":"get_started","logicalName":"get_started","displayName":"get_started","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_positions","description":"Read what a wallet holds on Avalon right now, straight from Robinhood Chain: its balance of every listed strategy token, and for every listed vault on Robinhood Chain its shares, their value in the deposit asset, and deposit or withdrawal requests that are waiting or ready to claim. Every listed market appears, zeros included, all read at one block (blockNumber). It shows only the listed strategy tokens and vault shares: other tokens and USDG the wallet holds are not listed, so the Safe of a vau","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["account"],"properties":{"account":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"}},"additionalProperties":false},"title":"get_positions","logicalName":"get_positions","displayName":"get_positions","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"quote_trade","description":"Quote a buy or a sell of a listed strategy token on Robinhood Chain, from the token's Doppler pool (Uniswap v4 V4Quoter), read live at one block. buy pays USDG (6 decimals) for the token; sell pays the token (18 decimals) for USDG. amountIn is in base units. slippageBps defaults to 100 and is capped at 300 (slippage_too_high above it). minimumOut is expectedOut less the slippage. The answer gives exact decimal strings in formatted for user-facing amounts (use these rather than converting base un","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["market","side","amountIn"],"properties":{"side":{"enum":["buy","sell"],"type":"string"},"market":{"type":"string","maxLength":80,"minLength":1},"amountIn":{"type":"string","pattern":"^[0-9]+$"},"slippageBps":{"type":"integer","maximum":9007199254740991,"minimum":0}},"additionalProperties":false},"title":"quote_trade","logicalName":"quote_trade","displayName":"quote_trade","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"quote_deposit","description":"Quote a deposit of USDG into a strategy vault (the pooled fund, not the strategy token). Give the market and assets in USDG base units (6 decimals). Read live from the Lagoon vault on Robinhood Chain at one block. mode is queued when the deposit is a request that Avalon settles in seconds at the next price (expectedOut is an estimate and minimumOut is null): every Avalon vault prices forward, so expect queued. mode is instant only on a vault with an instant path that mints shares in the deposit","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["market","assets"],"properties":{"assets":{"type":"string","allOf":[{"pattern":"^[0-9]+$"},{"pattern":"^[1-9][0-9]{0,77}$"}]},"market":{"type":"string","minLength":1}}},"title":"quote_deposit","logicalName":"quote_deposit","displayName":"quote_deposit","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"quote_withdraw","description":"Quote a withdrawal of vault shares from a strategy vault for USDG (the pooled fund, not the strategy token). Give the market and shares in base units (18 decimals). Read live from the Lagoon vault on Robinhood Chain at one block. mode is queued when the withdrawal is a request that Avalon settles at the next price (expectedOut is an estimate at the last price, minimumOut is null): every Avalon vault prices forward, so expect queued. A queued withdrawal settles in seconds only when the vault's Sa","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["market","shares"],"properties":{"market":{"type":"string","minLength":1},"shares":{"type":"string","allOf":[{"pattern":"^[0-9]+$"},{"pattern":"^[1-9][0-9]{0,77}$"}]}}},"title":"quote_withdraw","logicalName":"quote_withdraw","displayName":"quote_withdraw","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"prepare_trade","description":"Prepare a buy or a sell of a strategy token on Robinhood Chain (chain 4663) from a quote_trade quoteId, for the account to sign and send itself. Avalon never signs or sends. Before calling, check get_started for ETH and, on a buy, sufficient USDG; on a sale check get_positions for the input token. Stop if funds are missing. Use a fresh quote for the exact amount the user confirmed; never substitute an expired quote or another amount. Confirm the quoted amounts with the user before calling. Pass","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["quoteId","idempotencyKey","account"],"properties":{"account":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"},"quoteId":{"type":"string","pattern":"^q1_","maxLength":1024},"idempotencyKey":{"type":"string","pattern":"^[A-Za-z0-9._:-]+$","maxLength":128,"minLength":8}}},"title":"prepare_trade","logicalName":"prepare_trade","displayName":"prepare_trade","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"prepare_deposit","description":"Prepare a deposit of USDG into a strategy vault (the pooled fund, not the strategy token) from a quote_deposit quoteId, for the account to sign with its own wallet. The vault is re-read on Robinhood Chain first. Every Avalon vault prices forward (Lagoon sync mode None), so expect a queued quote: it becomes requestDeposit, which Avalon settles in seconds at the next price after you call report_submission, then prepare_claim claims the shares. An instant quote, only on a vault with an instant path","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["quoteId","idempotencyKey","account"],"properties":{"account":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"},"quoteId":{"type":"string","pattern":"^q1_","maxLength":1024},"idempotencyKey":{"type":"string","pattern":"^[A-Za-z0-9._:-]+$","maxLength":128,"minLength":8}}},"title":"prepare_deposit","logicalName":"prepare_deposit","displayName":"prepare_deposit","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"prepare_withdraw","description":"Prepare a withdrawal of vault shares for USDG from a strategy vault (the pooled fund, not the strategy token) from a quote_withdraw quoteId, for the account to sign with its own wallet. The vault is re-read on Robinhood Chain first. Every Avalon vault prices forward (Lagoon sync mode None), so expect a queued quote (requestRedeem, below). An instant quote, only on a vault with an instant path, becomes syncRedeem, paid from the vault's Safe in the same transaction, pinning on chain as the least U","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["quoteId","idempotencyKey","account"],"properties":{"account":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"},"quoteId":{"type":"string","pattern":"^q1_","maxLength":1024},"idempotencyKey":{"type":"string","pattern":"^[A-Za-z0-9._:-]+$","maxLength":128,"minLength":8}}},"title":"prepare_withdraw","logicalName":"prepare_withdraw","displayName":"prepare_withdraw","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"prepare_claim","description":"Prepare the claim of everything a settled vault request left for the account: the shares of a settled deposit request (deposit with the claimable assets) and the USDG of a settled withdrawal request (redeem with the claimable shares), one transaction each, both when both are ready. Takes no quote: the amounts are what the vault shows claimable for the account now, and everything claimed goes to the account. Returns transactions (complete EIP-1559 requests for Robinhood Chain, chain 4663, with ga","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["market","idempotencyKey","account"],"properties":{"market":{"type":"string","minLength":1},"account":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"},"idempotencyKey":{"type":"string","pattern":"^[A-Za-z0-9._:-]+$","maxLength":128,"minLength":8}}},"title":"prepare_claim","logicalName":"prepare_claim","displayName":"prepare_claim","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"report_submission","description":"Report the hash of a transaction you sent from a prepare answer. Avalon reads the transaction and its receipt from Robinhood Chain itself: the sender must be the operation's account (wrong_sender otherwise) and the transaction must be one the operation prepared, unchanged (the same to, data and value), with a nonce no lower than the prepared one (not_this_operation otherwise, with get_positions first and never a resend). A smart account that sent the calls as one wallet_sendCalls batch cannot be","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["operationId","txHash"],"properties":{"txHash":{"type":"string","pattern":"^0x[0-9a-fA-F]{64}$"},"operationId":{"type":"string","maxLength":128,"minLength":1}}},"title":"report_submission","logicalName":"report_submission","displayName":"report_submission","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_operation","description":"Read an operation a prepare tool created: its product, action, market, account, state, the hashes reported for it, and the next step in plain words. A vault request that is pending is re-read from the vault each call, and moves to claimable once the vault settled it (then call prepare_claim) and to done once it is claimed. A withdrawal request settles only once the vault's Safe holds what it pays, which can take longer than seconds if the creator first needs to sell holdings. While prepared, nex","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["operationId"],"properties":{"operationId":{"type":"string","maxLength":128,"minLength":1}}},"title":"get_operation","logicalName":"get_operation","displayName":"get_operation","annotations":{"untrustedContentHint":true,"readOnlyHint":true}}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=Avalon&config=eyJ1cmwiOiAiaHR0cHM6Ly9tY3AuYXZhbG9uLnRyYWRlL21jcCJ9"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22Avalon%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.avalon.trade%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22Avalon%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.avalon.trade%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=Avalon&connectorUrl=https%3A%2F%2Fmcp.avalon.trade%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"Avalon\" --url \"https://mcp.avalon.trade/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/avalon-mcp-921bee68dd","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/avalon-mcp-921bee68dd/tools/{tool}","mcpServerUrl":"https://mcp.avalon.trade/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/avalon-mcp-921bee68dd?live=1"}