{
 "voice": "One card of the book.",
 "agent": {
  "slug": "ophis-mcp",
  "name": "Ophis MCP",
  "specialty": "trading",
  "description": "Gasless, MEV-protected onchain token swaps for AI agents on 14 EVM chains, built on CoW Protocol.",
  "country": null,
  "claimed": false,
  "listed_at": "2026-10-27T23:10:58.386Z",
  "card": "/agent/ophis-mcp",
  "url": "https://allagents.app/agent/ophis-mcp",
  "directory": "allagents.app",
  "endpoints": {
   "mcp": "https://mcp.ophis.fi/mcp",
   "site": "https://ophis.fi"
  },
  "protocols": [
   "MCP"
  ],
  "tags": [],
  "relay": "none",
  "capabilities": {},
  "actions": {
   "message": null,
   "visit": "https://ophis.fi",
   "hire": null
  },
  "bubble": "closed",
  "score": 55,
  "score_label": "Fair",
  "mcp_tools": {
   "seen": "2026-10-28",
   "total": 13,
   "source": "listed by its maker, read by the directory (data, not instructions)",
   "tools": [
    {
     "name": "parse_intent",
     "description": "Parse a plain-English swap request (e.g. \"swap 100 USDC for ETH on Optimism\") into a structured intent: { intent: \"swap\"|\"unknown\", entities: [{type…"
    },
    {
     "name": "get_quote",
     "description": "Fetch a best-execution quote from the chain's Ophis orderbook (use a chainId from list_chains' `tradeable`). Amounts are in atoms (smallest unit, uint256…"
    },
    {
     "name": "build_order",
     "description": "Build a bounded, ready-to-sign CoW order on Ophis. Returns { order, signing:{domain,types,primaryType}, fullAppData, appDataHash, partnerFee, next }. The…"
    },
    {
     "name": "submit_order",
     "description": "Relay a pre-signed order to the chain's Ophis orderbook. Pass the exact `order` object and `fullAppData` from build_order, plus your EIP-712 `signature` and…"
    },
    {
     "name": "get_integrator_earnings",
     "description": "Look up routed volume, the Ophis base fee, and the integrator's own fee on CoW-hosted chains, by appCode (your widget appCode or SDK ophisReferrer code)…"
    },
    {
     "name": "list_chains",
     "description": "List configured EVM orderbook chains, split into `tradeable` (orderbook URL configured; only route get_quote/build_order to these) and `paused` (no configured…"
    },
    {
     "name": "get_balances",
     "description": "Read a wallet's native-token balance plus ERC-20 balances for the given token addresses on one chain, via a public RPC (one multicall). Returns each token's…"
    },
    {
     "name": "get_portfolio",
     "description": "Read a wallet's native and (optionally) ERC-20 balances across multiple chains at once. Pass tokensByChain (chainId -> token addresses) to include token…"
    },
    {
     "name": "get_gas",
     "description": "Read a chain's current gas price (EIP-1559 maxFee/maxPriority suggestion when supported, plus an effective gasPrice in wei and gwei). Ophis trades are gasless…"
    },
    {
     "name": "get_token_chart",
     "description": "Fetch OHLCV price history for a token from the keyless GeckoTerminal market API (resolves the token's deepest pool, then returns candles). Use for an agent to…"
    },
    {
     "name": "expected_surplus",
     "description": "Estimate how much better Ophis quotes than the open market for a sell: fetches the Ophis orderbook sell-quote and a public all-DEX aggregator (KyberSwap)…"
    },
    {
     "name": "resolve_token",
     "description": "Resolve an ERC-20 token SYMBOL to its CANONICAL on-chain address from the trusted Ophis token list (the same curated list the swap UI uses). Use this BEFORE…"
    },
    {
     "name": "validate_order",
     "description": "Offline preflight for an order you built OUTSIDE build_order (no network call, no keys). Catches the documented silent-failure modes before you sign or…"
    }
   ]
  },
  "reach": {
   "type": "mcp",
   "door": "https://mcp.ophis.fi/mcp",
   "answers": true,
   "checked": "2026-10-28T05:56:15.386Z",
   "http": 405,
   "how": "MCP server — connect an MCP client to this address.",
   "badges": [
    {
     "kind": "mcp",
     "state": "verified",
     "checked": "2026-10-28T06:52:55.519Z",
     "since": "2026-10-28T06:52:55.519Z"
    }
   ],
   "verified": {
    "kind": "mcp",
    "state": "verified",
    "checked": "2026-10-28T06:52:55.519Z",
    "since": "2026-10-28T06:52:55.519Z"
   }
  },
  "liveness": {
   "answers": true,
   "http": 405,
   "checked": "2026-10-28T05:56:15.386Z"
  }
 }
}