The MCP server
Ten tools, hosted, free. Nothing to install, nothing to sign up for. One URL in your client's config and the model can price and execute swaps across every chain we route.
Add it to a client
It speaks streamable HTTP, so any client that supports a remote MCP server needs only the URL. No command, no npx, no local process to keep alive. That includes:
- Claude
- Cursor
- Windsurf
- Cline
- Zed
- VS Code
- Codex
- Gemini CLI
Paste this into your MCP config:
{
"mcpServers": {
"ravn": {
"url": "https://app.ravn.exchange/api/mcp"
}
}
}The ten tools
Read off a live tools/list call on the hosted server. All free, none need a key.
- ravn_quotePrice a swap across every eligible venue at once. Returns the winner, a quoteToken, and every route that lost.
- ravn_executeTurn a quoteToken into an execution payload, tagged TRANSACTION, SIGNATURE or DEPOSIT.
- ravn_submit_signatureSubmit signed typed data for SIGNATURE venues. RAVN relays it to the venue.
- ravn_statusNormalised swap status, identical in shape whichever venue settled it.
- ravn_healthPer-venue liveness, so the agent can exclude a degraded venue before quoting.
- ravn_chainsEvery chain RAVN routes, with numeric chain IDs.
- ravn_tokensThe listed token registry for a chain.
- ravn_tokens_resolveResolve a token address to its symbol, name and decimals.
- ravn_btc_coverageWhich tokens on a chain actually route from native Bitcoin as the source.
- ravn_btc_prepare_sendBuild an unsigned Bitcoin transaction for a DEPOSIT route. The piece that lets an agent built for Ethereum-style wallets spend Bitcoin.
Written for the model, not for us
The tool descriptions carry what a model needs to get the call right first time. Chain IDs are numeric. -1 is Bitcoin and -2 is Solana. Amounts are integer strings in the smallest unit. Some venues want a destination address at quote time, not at execute time.
That last one matters. Ask for a Bitcoin route without a destination address and you get a priced preview you cannot execute, not an error. The schema says so, so the model checks executable instead of guessing.