An MCP server for NEAR intent swaps using the Defuse Protocol one-click SDK.
Server has 5 tools with complete schemas and descriptions. Naming follows verb_noun pattern (GET_*, CHECK_*, EXECUTE_*). Descriptions are detailed (150-300 chars) and include usage context (STEP 1-5 workflow). All parameters have types and descriptions. However, descriptions contain example values (e.g., 'nep141:arb-0x...') which LLMs may reuse literally. Parameter descriptions lack explicit format constraints (e.g., 'ISO format' for deadline is mentioned but not consistently). Output schemas are not documented, responses are inferred from SDK but not explicitly declared in tool definitions. Error handling and recovery guidance are absent from tool descriptions.
[STEP 5] Check the current execution status of a NEAR intent swap. Returns the swap state (PENDING_DEPOSIT, PROCESSING, SUCCESS, REFUNDED, FAILED, etc.) along with detailed transaction information. Use this to monitor swap progress after initiating the swap, and continue polling until the swap is complete.
[STEP 4] Submit a deposit transaction hash to initiate the swap after sending funds to the deposit address. This notifies the 1Click service that funds have been sent and triggers the swap execution process. Use this after users have sent their funds to the deposit address from the full quote response.
[STEP 2] Get a full quote with deposit address for a NEAR intent swap. This requires recipient and refund addresses and returns a unique deposit address where users can send their funds to initiate the swap. Use this when users are ready to proceed with the swap after checking the simple quote. NOTE: If users provide simple token names (e.g., 'ETH', 'USDC'), first use GET_NEAR_SWAP_TOKENS to discover the exact token IDs required for this API.
[STEP 1] Get a simple quote for a NEAR intent swap between different chains and assets. This is a dry run that doesn't require any addresses - perfect for users who want to check swap rates and fees before committing to a swap. Use this when users want to explore swap options without providing recipient addresses. NOTE: If users provide simple token names (e.g., 'ETH', 'USDC'), first use GET_NEAR_SWAP_TOKENS to discover the exact token IDs required for this API.
Output schemas not documented. Tool descriptions do not specify what fields are returned, forcing LLMs to infer response structure from SDK behavior. This violates pattern:tool and pattern:response-shaper.
Example values embedded in parameter descriptions (e.g., 'nep141:arb-0xaf88d065e77c8cc2239327c5edb3a432268e5831.omft.near'). LLMs tend to reuse example values literally rather than adapting to context. Should use enum constraints or format declarations instead.
No error handling or recovery guidance in tool descriptions. Tools do not document what errors can occur, whether they are retryable, or what the LLM should do next. Violates pattern:recovery-guide and pattern:error-classification.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | 2026-07-28+ | v2 |
[DISCOVERY] Get a list of tokens currently supported by the 1Click API for NEAR Intents. Returns token metadata including blockchain, contract address, current USD price, symbol, decimals, and price update timestamp. Use this to help users discover available tokens before requesting quotes.
EXECUTE_NEAR_SWAP is a destructive operation (initiates a real swap) but lacks confirmation/dry-run pattern. No mention of irreversibility or need for user confirmation. Violates pattern:confirmation-request.
Parameter relationships undocumented. GET_NEAR_SWAP_FULL_QUOTE has interdependent params (recipientType determines valid recipient format; refundType determines valid refundTo format). Dependencies not stated in descriptions, risking silent misuse.