You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Chain name resolution — Pass "base", "ethereum", "arb" instead of numeric chain IDs. Supports aliases and fuzzy matching.
Input validation — Addresses, amounts, and chain IDs are validated before hitting the API, with clear error messages.
Bundled tools — check_chain_status and get_app_fees combine multiple API calls into single tools with parallel fetching.
Decision-tree descriptions — Tool descriptions guide agents to pick the right tool ("For just the price, use get_token_price. For full fundamentals, use get_token_details.").
Slim responses — Responses are trimmed to essential fields. Chart data is downsampled from ~21KB to ~3KB.
API schema discovery — get_api_schema lets agents explore available endpoints on demand (progressive disclosure pattern).
Tx hash lookup — get_transaction_status accepts either a request ID or an on-chain transaction hash.
Structured errors — Errors are categorized (validation, api, network, rate_limit, server, auth) with retryability hints.
Architecture
Transport: Stdio (MCP spec)
Runtime: Node.js >=20
API: Direct HTTP calls to api.relay.link (no SDK dependency)
Read-only: Returns quotes, fees, and status. Does not sign or broadcast transactions.
Agent flow examples
User: "Bridge 0.1 ETH from Ethereum to Base"
1. Agent calls get_bridge_quote(originChainId="ethereum", destinationChainId="base", ...)
→ chain names resolved automatically, quote returned with fees and ETA
2. Agent shows user the quote and a link to execute on relay.link
User: "What tokens are trending on Base?"
1. Agent calls get_trending_tokens(chainId="base")
→ returns token identities (no prices)
2. Agent calls get_token_price for each interesting token
→ returns current USD prices