Ophis MCP — Claude Code MCP server: gasless token swaps
Hands an agent 13 tools for swaps across 15 EVM chains: quotes, order building, submission. No keys held — the agent signs.
claude mcp add --transport http mcp https://mcp.ophis.fi/mcpWhat Ophis MCP does
The server runs as a Cloudflare Worker over Streamable-HTTP at https://mcp.ophis.fi/mcp. Thirteen tools sit behind it. parse_intent turns a plain-language swap request into a structured intent, resolve_token maps a symbol to its canonical address and fails closed against spoofing, get_quote pulls the best execution from the chain's orderbook, build_order assembles a ready-to-sign EIP-712 payload, and submit_order relays an order the agent has already signed. Alongside those: balances for one address on one chain or across several, current gas price, OHLCV history, and validate_order for an offline preflight of an externally built order.
No private keys live on the server, and it never signs. What build_order returns pins the order receiver to the owner, which closes off the usual drain vector for autonomous agents. That guard is off-chain only — it is not an authorization boundary on-chain. Signing happens with the agent's own key, then the signature goes to submit_order. The endpoint is public and unauthenticated, since every backing service is already public and the tools only read or build.
list_chains reports configuration rather than probing live availability. The separate NEAR funding flow in the standalone app is not something these tools create or fund. Local work needs pnpm: pnpm --filter @ophis/mcp-server dev starts wrangler dev on http://localhost:8787/mcp, and npx @modelcontextprotocol/inspector@latest connects to it.
What it helps with
- build a signable swap order without hand-deriving per-chain contracts
- pull a quote from the Ophis orderbook on a given chain
- preflight someone else's order: appCode, EIP-712 domain, appData hash
- check an address's balances across several EVM chains at once
- turn a plain swap sentence into a structured intent
Example prompts for the agent
- Parse "swap 100 USDC for WETH on Optimism" and build the order
- Resolve the canonical WETH address on Optimism with resolve_token
- Run validate_order on this order before I submit it
How to install Ophis MCP
Platform CLI: remote server
claude mcp add --transport http mcp https://mcp.ophis.fi/mcpPlatform CLI: remote server
codex mcp add mcp-server --url https://mcp.ophis.fi/mcpConfig file
{
"mcpServers": {
"mcp-server": {
"url": "https://mcp.ophis.fi/mcp"
}
}
}Config file
{
"servers": {
"mcp-server": {
"type": "http",
"url": "https://mcp.ophis.fi/mcp"
}
}
}Platform CLI: remote server
gemini mcp add -t http mcp-server https://mcp.ophis.fi/mcpStep by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about Ophis MCP
How do I install Ophis MCP in Claude Code?
Run claude mcp add --transport http mcp https://mcp.ophis.fi/mcp.
What does Ophis MCP do?
It exposes the Ophis trading surface to an agent on 15 EVM chains: intent parsing, quotes, order building, relaying a signed order, balances, and order validation.
Does the server need my private keys?
No. It holds no keys and never signs. build_order returns a payload with the receiver pinned to the owner, and the agent signs with its own key.