ZBS Index What actually exists in applied AI, with the source next to it

mcp server

Ophis MCP

Gasless, MEV-protected onchain token swaps for AI agents on 11 EVM chains, built on CoW Protocol.

Description as published by the maintainer. Source

  • version 0.1.0
  • active

active — Most recent push to the repository was 2026-08-06.

What this server can do

14 functions, named and described by the server itself. Parameter names are shown because they say more about what a function does than its name usually does.

build_order(kind, owner, chainId, buyToken, buyAmount, feeAmount, sellToken, sellAmount, isStablePair, referrerCode, slippageBips, validForSeconds, partiallyFillable, referenceBuyAmount, referenceSellAmount)
Build a bounded, ready-to-sign CoW order on Ophis. Returns { order, signing:{domain,types,primaryType}, fullAppData, appDataHash, partnerFee, next }. The receiver is ALWAYS PINNED to the owner (proceeds cannot leave the account); this public endpoint exposes no custom-receiver option. Uses the correct per-chain settlement contract (Optimism, Unichain, and Robinhood Chain are non-canonical) and applies the canonical Ophis fee policy. Apply slippage to the LIMIT side by kind: for kind 'sell' lower buyAmount (your minimum out); for kind 'buy' raise sellAmount (your maximum in). slippageBips is capped at 5000 (50%); when omitted, the enforced backstop defaults to 100 bps (1%). ENFORCED: build_order fetches a live quote and REJECTS the call if the limit is worse than slippageBips vs that quote (or if a quote cannot be fetched; retry). Sign `order` as EIP-712 with `signing`, then call submit_order. Required: chainId, owner, sellToken, buyToken, sellAmount, buyAmount, kind.
expected_surplus(from, chainId, buyToken, sellToken, sellAmount)
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) quote for the same input, and returns `beatBps` (+ = Ophis returns more of the buy token). Use before build_order to show the expected edge. The reference can reflect thin or manipulated liquidity, so treat beatBps as advisory, not a sole execution signal. Sell-side (exact-in) only. Read-only. Required: chainId, sellToken, buyToken, sellAmount, from.
get_balances(owner, tokens, chainId)
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 symbol, decimals, raw atoms, and human-readable amount. A token address that is not an ERC-20 is reported with an `error` and does not fail the batch. Read-only; holds no keys. Supported chains are those with a public RPC (most Ophis chains). Required: chainId, owner.
get_gas(chainId)
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 for the trader, so this mainly bounds the cost of a one-time ERC-20 approval to the VaultRelayer. Read-only. Required: chainId.
get_integrator_earnings(appCode)
Look up what an integrator's own-fee routing earned, by appCode (the identifier you tag into appData: your widget appCode or your SDK ophisReferrer code). Returns routed volume (USD, split by chain and by sovereign-vs-hosted), the Ophis base fee charged on your flow, your OWN stacked fee, and your referral rebate paid-to-date with payout tx links. Guaranteed/paid figures are scoped to the Ophis-operated chains (Optimism, Unichain); CoW-hosted figures are accrued at settlement and disbursed by CoW under CoW terms (see the response `disclaimer`). Read-only, keyless, cumulative (no current-cycle or next-payout data). Required: appCode.
get_portfolio(owner, chainIds, tokensByChain)
Read a wallet's native and (optionally) ERC-20 balances across multiple chains at once. Pass `tokensByChain` (chainId -> token addresses) to include token balances; omit `chainIds` to scan every chain with a public RPC (max 12 chains, and at most 100 token reads total across all chains). Per-chain RPC failures are returned inline so one dead endpoint does not sink the result. Read-only; holds no keys. Required: owner.
get_quote(from, kind, amount, chainId, buyToken, sellToken, isStablePair, validForSeconds)
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 decimal string). For kind='sell' the amount is the sell amount before fee; for kind='buy' it is the desired buy amount. Returns the orderbook quote (sellAmount/buyAmount/feeAmount/validTo). Before build_order, apply slippage to the limit side by kind: kind='sell' -> lower buyAmount (min out); kind='buy' -> raise sellAmount (max in). Required: chainId, sellToken, buyToken, kind, amount, from.
get_token_chart(limit, token, chainId, aggregate, timeframe)
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 reason about recent price action before quoting. Prices come from a single pool that may be thin or manipulated, so treat them as advisory, not a sole execution signal. The keyless tier is a shared ~30 req/min quota, so cache and do not poll tightly. Read-only. Required: chainId, token.
list_chains
List Ophis chains, split into `tradeable` (orderbook host is live, only route get_quote/build_order to these) and `paused` (settlement deployed but no live orderbook yet, so these throw). Each tradeable chain includes its orderbook host, GPv2Settlement contract (Optimism, Unichain, and Robinhood Chain are non-canonical), and canonical Ophis fee config. No input.
lookup_tier(wallet)
Look up a wallet's Ophis fee-rebate tier and live status (30-day volume → bronze/silver/gold/platinum, rebate %). Returns the indexer status plus the static tier ladder. Required: wallet.
parse_intent(text)
Parse a plain-English swap request (e.g. "swap 100 USDC for ETH on Optimism") into a structured intent: { intent: "swap"|"unknown", entities: [{type: sellToken|buyToken|amount|chain, value, raw}] }. Backed by the live Ophis parser. Required: text.
resolve_token(symbol, chainId)
Resolve an ERC-20 token SYMBOL to its CANONICAL on-chain address from the trusted Ophis/CoW token list (the same curated list the swap UI uses). Use this BEFORE quoting or building so you never trade an address taken from chat, the web, or memory: a token can spoof the symbol "USDC" at a scam address, and this fails closed. Returns { found, ambiguous, canonical: {address, decimals, name} | null, matches: [...] }. found=false means no trusted match (do NOT guess: confirm any candidate with get_balances and the user). ambiguous=true means several trusted tokens share the symbol (e.g. native vs bridged); confirm which the user means. Native coins are not returned; resolve the wrapped symbol (e.g. WETH). Read-only. Required: chainId, symbol.
submit_order(from, order, chainId, signature, fullAppData, signingScheme)
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 `from` (owner). The MCP holds no keys — it only forwards. Returns the order UID on success. Required: chainId, order, signature, from, fullAppData.
validate_order(order, owner, chainId, fullAppData, orderbookUrl, signingDomain)
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 submit: wrong appCode (settles but earns zero rebate), wrong orderbook host (api.cow.fi silently bypasses the Ophis stack on Ophis-operated chains), wrong EIP-712 domain (signing against CoW's canonical settlement on an Ophis-operated chain yields a domain the deployed contract rejects), appData hash mismatch (order.appData must equal keccak256 of the exact fullAppData string), an unpinned receiver (proceeds leaving the owner), an expired or non-zero-fee order, and malformed partnerFee entries. Pass whatever you have (chainId is required; owner, order, fullAppData, signingDomain, orderbookUrl are all optional and each is checked if present). Returns { valid, errors, warnings, expected } where `expected` echoes the correct per-chain orderbook host, settlement, EIP-712 domain, appCode, and partnerFee. Prefer build_order to construct orders; use this to verify externally-built ones. Required: chainId.

Last successful function declaration observed on . Source: https://mcp.ophis.fi/mcp. We list what the server declared; we do not call any of these functions.

Endpoint status observed on . Source: https://mcp.ophis.fi/mcp.

Signals

These are separate measurements of different things. They are deliberately not combined into one score, because a popularity number that mixes website traffic with saves and stars cannot be checked or acted on.

Signal Value What it measures Window Observed Source
GitHub stars 3 Number of GitHub accounts that bookmarked this repository since it was created. It is a bookmark count, not installs, not active users and not quality. cumulative, all time GitHub
Last commit 2026-08-06 Date of the most recent push to any branch. This is the strongest cheap indicator of whether the project is still maintained. point in time GitHub
Open issues 20 Open issues plus open pull requests, as GitHub counts them together. A high number can mean an active project or an abandoned one. as of fetch GitHub
Latest published version 0.1.0 Latest version string the maintainer published to the registry. as of fetch Model Context Protocol
Registry record last updated 2026-06-29 When the registry record was last updated by its maintainer. point in time Model Context Protocol
License GPL-3.0 Licence GitHub detected in the repository. Detection can be wrong; the LICENSE file is authoritative. as of fetch GitHub
First listed in the MCP Registry 2026-06-29 Date this server was first published to the official MCP Registry. Not a usage or quality measure. point in time Model Context Protocol
repository status active The repository exists on GitHub and is not archived. This says nothing about how recently it was worked on. as of fetch GitHub
mcp tools declared 14 tools Number of functions the server itself declared when asked to list them. This is what the server offers an agent, not a measure of how well any of them work. as of probe mcp.ophis.fi
mcp endpoint status ok The server listed 14 functions when asked. as of probe mcp.ophis.fi

Where to get it

Related, by what their authors tagged them

  • FibX — last commit 2026-07-30, shares defi, dex-aggregator
    Swap, transfer, track a portfolio and use Aave V3 on Base, Citrea, HyperEVM and Monad.
  • Arcadia Finance — last commit 2026-05-04, shares defi, optimism
    Concentrated liquidity on Uniswap/Aerodrome (rebalance, compound, leverage) or single-sided lending.
  • CoinRithm Agent Trading — last commit 2026-08-06, shares agent-trading
    Keyless prediction-market data across 12 venues plus paper-trading of crypto spot, futures, and PM.
  • Chainflip Broker as a Service — last commit 2026-07-23, shares defi, dex, ethereum
    Native cross-chain swaps: Bitcoin, Ethereum, Solana, Polkadot, Tron, Arbitrum. Quote, swap, track.
  • io.github.0xSoftBoi/suwappu — last commit 2026-08-06, shares defi, dex, ethereum
    Cross-chain DEX for AI agents. Swap tokens across 7+ chains.
  • DexPaprika — last commit 2026-08-05, shares defi, dex
    Real-time DEX and on-chain data: liquidity pools, token prices, swaps, and trading volume.
  • Cross-Chain Bridge Route API — last commit 2026-07-19, shares defi, dex
    Best cross-chain bridge routes with fees, time, providers. LI.FI-powered. x402.
  • DEX Swap Quotes API — last commit 2026-07-31, shares defi, dex
    Best swap quotes across DEXes (Uniswap, SushiSwap, Aerodrome). Base & Ethereum. x402.
  • Jupiter Solana Swap Quote API — last commit 2026-07-19, shares defi, dex
    Solana swap quotes via Jupiter — best route, price impact, priority fees, USD pricing. x402.
  • Order Book Depth API — last commit 2026-07-31, shares defi, dex
    Uniswap V3 pool liquidity depth analysis — price impact at 1/2/5/10% levels. x402.

These share tags the maintainers applied themselves, such as defi, dex-aggregator, optimism, agent-trading. Common tags like "mcp" or "ai" are ignored for this: agreeing with six hundred other projects is not a similarity.

This is not a recommendation and not a test result. It is a map of what the authors said their work is about.

How the author describes it

Topics the maintainer set on GitHub: agent-trading, defi, dex, dex-aggregator, ethereum, intent-based-trading, mev-protection, optimism, rust, solidity, typescript.

This record as data

Every field on this page, with its source and observation date, is in the catalog JSON. Fetch the whole kind at once instead of parsing this HTML.

GET /api/v1/entries/mcp_server.json

Sources

  1. ophis-fi/ophis on GitHub — GitHub, observed , trust tier 3.
  2. Tools declared by the MCP server at https://mcp.ophis.fi/mcp — mcp.ophis.fi, observed , trust tier 4.
  3. Official MCP Registry — Model Context Protocol, observed , trust tier 1.