NEAR Intents MCP · Yeetful
Cross-chain swaps over MCP via the official NEAR Intents 1Click API — quote any asset to any other across ~30 chains, build the single deposit transfer the user signs, and track the swap to delivery with explorer links. Free, no bridge UI. This service never signs.
Routability
can the router discover, pick, and call it?Not yet graded. Diagnostics check param schemas, description quality, live health, and run the actual routing planner against this service’s own tools — construction only, nothing is paid or executed.
Tools
8- POST/mcp/build_swapstart herevia Custom (MCP)near-intents.yeetful.com
EXECUTE a cross-chain swap: requests a REAL quote (pins a one-time deposit address, so only call after the user confirms the preview) and returns ONE unsigned {action:'send_transaction'} step — transfer the exact quoted amount to the deposit address on the origin chain. That single signature does everything: solvers deliver the destination asset to the recipient automatically. Origin chain must be EVM (Ethereum, Base, Arbitrum, Optimism, Polygon, BNB Chain, Avalanche, Gnosis, Scroll). from = the payer AND refund address — pass "$USER_ADDRESS" for the connected user. recipient defaults to `from` on EVM destinations; for Solana/Bitcoin/NEAR/etc destinations ask the user for it — NEVER guess. Response includes the numbered flow to narrate, warnings, and the deposit address used by submit_deposit_tx / check_status / await_completion.
9 parameters
- originChainstringbodyrequired
Origin (EVM) chain — a name like "base", "arbitrum", "ethereum", "solana", "bitcoin", "near" (or an EVM chainId like "8453"). Use the `chains` tool for the full list.
- originTokenstringbodyrequired
Origin (sell) token — a symbol like "USDC"/"ETH", a contract address, or a full 1Click assetId ("nep141:…"). Never a wallet address.
- destinationChainstringbodyrequired
Destination chain — a name like "base", "arbitrum", "ethereum", "solana", "bitcoin", "near" (or an EVM chainId like "8453"). Use the `chains` tool for the full list.
- destinationTokenstringbodyrequired
Destination (receive) token — a symbol like "USDC"/"ETH", a contract address, or a full 1Click assetId ("nep141:…"). Never a wallet address.
- amountstringbodyrequired
Amount to sell in HUMAN units of the origin token, e.g. "1.5" or "100". Converted with the token's real decimals — never pass base units.
- fromstringbodyrequired
The USER'S OWN wallet address on the origin chain — pays the deposit, receives any refund. Pass "$USER_ADDRESS" for the connected user; never guess or reuse an address from conversation.
- recipientstringbody
Where funds arrive on the DESTINATION chain, in that chain's address format. Defaults to `from` when the destination is EVM; required otherwise (ask the user).
- slippageBpsnumberbody
Slippage tolerance in basis points (default 100 = 1%, max 1000).
- deadlineMinutesnumberbody
Minutes until the deposit address expires and refunds begin (default 30).
- POST/mcp/how_it_worksvia Custom (MCP)near-intents.yeetful.com
START HERE when the user asks what this is, whether a cross-chain move is possible, or before the first swap of a conversation: the full quote → deposit → settle → verify flow, which chains this service can build transactions for, and the safety rules. Free, instant, no network calls.
- POST/mcp/chainsvia Custom (MCP)near-intents.yeetful.com
Every blockchain 1Click can swap between, with live token counts and whether this service can BUILD the deposit transaction there (EVM) or quote-only. Use to answer "can I move X from chain A to chain B?".
- POST/mcp/tokensvia Custom (MCP)near-intents.yeetful.com
Search the 1Click supported-asset list — filter by chain and/or symbol substring. Returns assetId, contract, decimals, and live USD price for each match. Use it to resolve ambiguity BEFORE quoting (e.g. which "USDC" on a chain is canonical).
3 parameters
- chainstringbody
Filter chain — a name like "base", "arbitrum", "ethereum", "solana", "bitcoin", "near" (or an EVM chainId like "8453"). Use the `chains` tool for the full list.
- searchstringbody
Symbol substring, e.g. "usdc", "eth". Case-insensitive.
- limitnumberbody
Max rows (default 30).
- POST/mcp/quotevia Custom (MCP)near-intents.yeetful.com
Live DRY-RUN quote from the NEAR Intents solver network for a swap between ANY two supported assets on ANY chains (USDC Base→Arbitrum, ETH→SOL, USDC→BTC…): expected output, minimum after slippage, USD values, fees, ETA. Commits NOTHING and creates NO deposit address — always safe. Quote first, confirm with the user, then build_swap.
8 parameters
- originChainstringbodyrequired
Origin chain — a name like "base", "arbitrum", "ethereum", "solana", "bitcoin", "near" (or an EVM chainId like "8453"). Use the `chains` tool for the full list.
- originTokenstringbodyrequired
Origin (sell) token — a symbol like "USDC"/"ETH", a contract address, or a full 1Click assetId ("nep141:…"). Never a wallet address.
- destinationChainstringbodyrequired
Destination chain — a name like "base", "arbitrum", "ethereum", "solana", "bitcoin", "near" (or an EVM chainId like "8453"). Use the `chains` tool for the full list.
- destinationTokenstringbodyrequired
Destination (receive) token — a symbol like "USDC"/"ETH", a contract address, or a full 1Click assetId ("nep141:…"). Never a wallet address.
- amountstringbodyrequired
Amount to sell in HUMAN units of the origin token, e.g. "1.5" or "100". Converted with the token's real decimals — never pass base units.
- slippageBpsnumberbody
Slippage tolerance in basis points (default 100 = 1%, max 1000).
- refundTostringbody
Optional for previews: the user's origin-chain address (improves accuracy on some routes).
- recipientstringbody
Optional for previews of EVM/Solana/NEAR destinations, REQUIRED for other destinations (Bitcoin, TON…): the delivery address on the destination chain.
- POST/mcp/submit_deposit_txvia Custom (MCP)near-intents.yeetful.com
AFTER the user's deposit transfer confirms on-chain: submit its transaction hash so 1Click picks it up immediately instead of waiting to detect it. Optional but recommended — call it as soon as the chat reports the deposit transaction confirmed.
- POST/mcp/check_statusvia Custom (MCP)near-intents.yeetful.com
Current state of a swap by its deposit address — the status, what that status MEANS, both chains' transaction hashes with explorer links, delivered/refunded amounts, and the next step. One shot; use await_completion to watch until it settles.
1 parameter
- depositAddressstringbodyrequired
The one-time deposit address returned by build_swap — it's the swap's tracking ID for its whole life.
- POST/mcp/await_completionvia Custom (MCP)near-intents.yeetful.com
Poll a swap by deposit address until it reaches a terminal state (SUCCESS / REFUNDED / FAILED) or ~40s elapses, then report the outcome with explorer links. Cross-chain settlement usually lands within a minute or two of the deposit confirming — if time runs out mid-flight that's normal; just call it again.
2 parameters
- depositAddressstringbodyrequired
The one-time deposit address returned by build_swap — it's the swap's tracking ID for its whole life.
- timeoutSecnumberbody
Seconds to keep watching before reporting back (default 40, max 45).