io.github.odyssey-finance/loopr · v0.2.0 · crypto-web3
Odyssey Loopr is healthy: it completed an MCP handshake in 1429 ms and exposes 17 tools.
Quote, build and simulate leveraged DeFi yield positions on Odyssey Loopr.
Endpoint: https://app.odyssey.finance/api/mcp (streamable-http)
Repository · JSON · Add to my inventory
| Users (last 30 days) | 0 |
| Handshake | Healthy |
| Auth needed | None |
| Tool count | 17 |
| Latency | 1429 ms |
| Last checked (UTC) | 2026-11-05T21:10:45.277Z |
| Checked (UTC) | Status | Latency | Error |
|---|---|---|---|
| 2026-11-05T21:10:45.277Z | Healthy | 1429 |
list_strategies | List Loopr leveraged strategies with APY, leverage bounds, deposit/borrow tokens and TVL. Filter by chain, deposit asset or protocol. |
get_strategy | Get one strategy. Pass depositToken/borrowToken when several strategies share a strategyId on the same chain. |
get_positions | List an owner EOA's Loopr positions with health, leverage and PnL. Requires chainId or chainIds. Pass positionAddress (with chainId, not chainIds) to fetch a single position: it returns `{ position, errors, catalogUnavailable }`, and a null `position` with `errors` rows means the chain could not be |
get_sca_account | Derive the smart contract account (SCA) that holds Loopr positions for an EOA. Deterministic; the same on every chain. |
quote_open | Quote opening a leveraged position: expected collateral, debt, health factor and liquidation price. Returns a quote envelope; `expiresAt` is unix ms and quotes expire after 180 seconds. Amounts are base-unit integer strings. |
quote_adjust | Quote adding collateral ('push', requires leverage) or withdrawing it ('pull'). Returns a quote envelope; `expiresAt` is unix ms and quotes expire after 180 seconds. Amounts are base-unit integer strings. |
quote_borrow | Quote borrowing more against a position. Returns a quote envelope; `expiresAt` is unix ms and quotes expire after 180 seconds. Amounts are base-unit integer strings. |
quote_repay | Quote repaying debt. 'auto' repays from collateral via a flash-loan swap and requires slippage; 'manual' repays from the wallet. Returns a quote envelope; `expiresAt` is unix ms and quotes expire after 180 seconds. Amounts are base-unit integer strings. |
quote_claim | Quote claiming rewards. 'send' pays them to the owner; 'compound' swaps them into the position and requires slippage. The returned `rewards` feed build_claim. Returns a quote envelope; `expiresAt` is unix ms and quotes expire after 180 seconds. Amounts are base-unit integer strings. |
quote_close | Quote closing a position in full. Returns a quote envelope; `expiresAt` is unix ms and quotes expire after 180 seconds. Amounts are base-unit integer strings. |
build_open | Build the steps that open a leveraged position. Returns UNSIGNED transaction steps for the owner to sign in order; this server never holds keys or sends transactions. The build expires after 180 seconds (`expiresAt`, unix ms): build immediately before signing, not as a plan for later. Builds are sin |
build_adjust | Build the steps that add collateral ('push': requires collateralToken, amount, borrowToken, leverage) or withdraw it ('pull': requires token, tokenOut, and exactly one of withdrawAmount or withdrawAll). Fields of the other direction are refused, not ignored. Returns UNSIGNED transaction steps for th |
build_borrow | Build the steps that borrow more against a position. Returns UNSIGNED transaction steps for the owner to sign in order; this server never holds keys or sends transactions. The build expires after 180 seconds (`expiresAt`, unix ms): build immediately before signing, not as a plan for later. Builds ar |
build_repay | Build the steps that repay debt. 'auto' requires slippage; 'manual' repays from the owner's wallet. Returns UNSIGNED transaction steps for the owner to sign in order; this server never holds keys or sends transactions. The build expires after 180 seconds (`expiresAt`, unix ms): build immediately bef |
build_claim | Build the steps that claim rewards. Pass `rewards` exactly as quote_claim returned them. 'compound' requires slippage. Returns UNSIGNED transaction steps for the owner to sign in order; this server never holds keys or sends transactions. The build expires after 180 seconds (`expiresAt`, unix ms): bu |
build_close | Build the steps that close a position in full. Returns UNSIGNED transaction steps for the owner to sign in order; this server never holds keys or sends transactions. The build expires after 180 seconds (`expiresAt`, unix ms): build immediately before signing, not as a plan for later. Builds are sing |
simulate | Simulate built steps on a fork (Tenderly) from the owner's address before anyone signs. Pass `steps` and `expiresAt` exactly as a build_* tool returned them. Check `ok`; on failure the failing step carries the revert reason; never ask anyone to sign a failing build. A swap-route failure can be retri |