--- name: lifi-mcp-skill description: Use the LI.FI MCP server through UXC for cross-chain route discovery, bridge/DEX availability checks, token and chain lookup, gas/balance/allowance checks, quote generation, and transfer status tracking. Use when tasks involve planning or monitoring cross-chain swaps and bridges without signing or broadcasting transactions. --- # LI.FI MCP Skill Use this skill to run LI.FI MCP operations through `uxc`. Reuse the `uxc` skill for generic protocol discovery, auth binding, envelope parsing, and error handling. ## Prerequisites - `uxc` is installed and available in `PATH`. - Network access to `https://mcp.li.quest/mcp`. - Optional: a LI.FI API key for higher rate limits. ## Core Workflow 1. Verify endpoint and protocol with help-first probing: - `uxc https://mcp.li.quest/mcp -h` - Confirm protocol is MCP (`protocol == "mcp"` in the envelope). 2. Optional auth setup for higher rate limits: - `uxc auth credential set lifi-mcp --auth-type bearer --secret-env LIFI_API_KEY` - `uxc auth binding add --id lifi-mcp --host mcp.li.quest --path-prefix /mcp --scheme https --credential lifi-mcp --priority 100` - LI.FI accepts either `Authorization: Bearer ` or `X-LiFi-Api-Key`; prefer bearer unless endpoint behavior changes. 3. Use a fixed link command by default: - `command -v lifi-mcp-cli` - If missing, create it: - `uxc link lifi-mcp-cli https://mcp.li.quest/mcp` - `lifi-mcp-cli -h` 4. Inspect operation schema before execution: - `lifi-mcp-cli get-chains -h` - `lifi-mcp-cli get-token -h` - `lifi-mcp-cli get-quote -h` - `lifi-mcp-cli get-status -h` 5. Prefer discovery first, then route/quote, then execution-precheck queries. ## Capability Map - Chain and token discovery: - `get-chains` - `get-chain-by-id` - `get-chain-by-name` - `get-tokens` - `get-token` - Route discovery and provider availability: - `get-connections` - `get-tools` - Quotes and route planning: - `get-quote` - `get-routes` - `get-step-transaction` - `get-quote-with-calls` - Wallet prechecks: - `get-native-token-balance` - `get-token-balance` - `get-allowance` - `get-gas-prices` - `get-gas-suggestion` - Monitoring and service checks: - `get-status` - `test-api-key` - `health-check` Always inspect host help and operation help in the current endpoint version before relying on an operation name or argument shape. ## Recommended Usage Pattern 1. Discover chain IDs dynamically: - `lifi-mcp-cli get-chains` - `lifi-mcp-cli get-chain-by-name name=base` 2. Resolve token addresses before quoting: - `lifi-mcp-cli get-token chain=8453 token=USDC` 3. Check whether a route exists before asking for a quote: - `lifi-mcp-cli get-connections fromChain=8453 toChain=42161` 4. Generate the quote: - `lifi-mcp-cli get-quote fromChain=8453 toChain=42161 fromToken=USDC toToken=USDC fromAddress= fromAmount=` 5. Validate execution preconditions: - `lifi-mcp-cli get-allowance ...` - `lifi-mcp-cli get-native-token-balance ...` 6. Use `get-status` only after the externally signed transaction has been broadcast. ## Guardrails - Keep automation on JSON output envelope; do not rely on `--text`. - Parse stable fields first: `ok`, `kind`, `protocol`, `data`, `error`. - Use `lifi-mcp-cli` as the default command path. - `lifi-mcp-cli ...` is equivalent to `uxc https://mcp.li.quest/mcp ...` when the same auth binding is configured. - Use direct `uxc "" ...` only as a temporary fallback when link setup is unavailable. - Prefer `key=value` for simple arguments and positional JSON for nested objects. - This endpoint is read-only from the agent perspective: - it does **not** sign transactions - it does **not** broadcast transactions - it returns unsigned `transactionRequest` objects for external wallet execution - Do not present `get-quote` or `get-step-transaction` as executed trades; they are execution plans only. - Before suggesting an ERC20 route as ready to execute, check allowance if the route needs approval. - Prefer `get-routes` only when the user explicitly wants multiple alternatives; default to `get-quote` for the best route. - In live testing, chain lookup tools accepted names, but token/balance/allowance tools were more reliable with numeric chain IDs. Prefer numeric IDs after discovery. ## Tested Real Scenario The endpoint was verified through `uxc` host discovery and returned a live MCP tool list including: - `get-allowance` - `get-chain-by-id` - `get-chain-by-name` - `get-chains` - `get-connections` - `get-gas-prices` - `get-gas-suggestion` - `get-quote` - `get-routes` - `get-status` - `get-token` - `get-tokens` - `get-tools` - `health-check` This confirms the skill target is a real hosted MCP surface accessible via UXC. ## References - Invocation patterns: - `references/usage-patterns.md`