Documentation: MCP tools

MCP tools reference

Nine tools. Eight only read; trade can move money, inside the vault only. No tool can withdraw, change rules, or accept a destination address.

Tool Inputs What it does
list_assets class (optional: crypto or equity) What can be traded. Crypto by symbol and chain; stocks and ETFs by ticker with every issuer that offers it, and the smallest order that has been quoting (minimumUsd).
get_market_data asset Numbers, not advice: the listed price and, for crypto, the market signals Scam Shield scores (liquidity, market cap, token age) with the risk level. For stocks, price per issuer and the quoting minimum.
check_asset asset A verdict before trading. Crypto: Scam Shield's risk level (low, medium, high) with reasons. Stocks: whether this vault may trade them, and the notice to respect. Also any active NEAR Intents security incident touching the asset.
get_quote side, asset, amountUsd A dry run: the price and the minimum you would accept. No funds move. If a rule would stop the trade, you get the same blocked answer trade would give.
trade side (buy or sell), asset, amountUsd, reason (optional, private to the owner) Requests a trade. Runs every check, quotes, executes through NEAR Intents (confidential layer when the funds are there) and verifies the result.
get_portfolio none Holdings in USD, split into crypto and tokenized stocks.
get_pnl none Profit and loss since the vault's first trade, per asset and in total: realized (sells at average cost) and unrealized (what is still held from Norr's buys, at today's price). Deposits have no known cost and are not counted.
get_policy none The rules: largest trade, daily spending cap and what is left today, daily loss cap, stock share, allowlists, cooldown, whether stocks are enabled, whether the vault is paused.
get_activity none Recent requests and outcomes, newest first. Use it to follow up on a trade waiting for approval.

asset is a symbol (SOL, USDC), a ticker (NVDA, which Norr routes to the best-priced issuer), or a NEAR Intents asset id.

What trade answers

Status Meaning What the agent should do
executed It happened. Includes the fill (asset, amount, price), venue (confidential or public) and verification (independent, or custody-reported for confidential swaps). Nothing; check get_portfolio if needed.
blocked A rule or safety check stopped it. Includes a code (below) and a plain-language message. Adjust the request; do not resend it unchanged.
pending_approval The owner must approve it in the custody provider first. Do not resend. Follow up with get_activity.
failed or refunded It did not complete; nothing was lost. Read the message.

Block codes

Code Why
PAUSED The owner paused this vault (or everything).
OVER_TRADE_LIMIT Larger than the vault's largest single trade.
DAILY_SPEND_CAP Buys today would pass the daily spending cap (stops one big trade being split into many small ones).
DAILY_LOSS_CAP Realized losses today reached the cap; buying stops, selling still works.
COOLDOWN Too soon after the last trade.
ASSET_NOT_ALLOWED Not on the vault's allowlist.
EQUITY_LIMIT Would push stocks above the vault's allowed share.
INELIGIBLE Stocks are off until the owner confirms non-US status.
SCAM_RISK Scam Shield rates the token high risk (or medium, when the vault does not allow medium).
SHIELD_INCIDENT An active NEAR Intents security incident touches the asset, or the incident feed cannot be read (Norr fails closed).
PRICE_SANITY The quoted stock price is more than 2% from the reference price, or there is no reliable reference.
UNKNOWN_ASSET Not in the asset list.
NO_LIQUIDITY No route quoted for that size.
PRIVACY_UNAVAILABLE The vault requires the confidential layer and the trade cannot run there.
PRICING_UNAVAILABLE The service has not loaded market data yet (it keeps retrying).

Tokenized markets trade around the clock, so there is no market-closed code; stock minimums are higher outside US market hours.