mcpbeat Sign in

Ophis MCP Server

answering

Ophis MCP is answering right now. Last checked 7 min ago. It exposes 13 tools. Last commit 5 Nov 2026.

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

Uptime history 91 days of history · worst day 0%
91 days agonow
100.0%
Uptime 24h
92 of 92 checks
13
Tools
read from the server
235 ms
Response time
average over 24h
4
Stars
last commit 5 Nov 2026

What changed 37

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 11 August 2026. No other catalogue keeps this.

26 Oct 12 tools changed the parameters they ask for build_order, expected_surplus, get_balances and 9 more
20 Oct 3 tool descriptions were rewritten get_integrator_earnings, submit_order, validate_order
20 Oct a tool disappeared lookup_tier
20 Oct a tool changed the parameters it asks for build_order
20 Oct a tool changed version
1 Oct 2 tool descriptions were rewritten get_integrator_earnings, list_chains
29 Sep a tool description was rewritten get_integrator_earnings
29 Sep a tool changed the parameters it asks for build_order
29 Sep a tool changed version
28 Sep 4 tool descriptions were rewritten build_order, get_integrator_earnings, get_portfolio and 1 more
and 10 more, back to 11 August 2026

What the code does

We read the source, 3 d ago · tools taken from the live server · rules 995398eba69f

Evidence

Things with no honest explanation: a promise that contradicts the code, code that runs at install time while hiding what it does, data leaving the machine.

Contract delegates control to foreign code apps/backend/contracts/solidity/libraries/Caller.sol:21
        (success, rdata) = self.delegatecall(cdata);
Capabilities

What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.

  'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAE8AAABOCAYAAABhaEsjAAAKCklEQVR42t2c+1dTVxbH+RP8fbTG+qitj6KooCi9dmYBYoQICDhAiLxVHhEXRIiQy0NeARKMgiht0GFkarWxavE5pDLOOFO1sZ2qIwEODyEPjVf9B/YcqcujS5B7yb3JjWet72/8QD7r7LP3/p59rp+3ltKIZmVrTVSgXJW/MiHXKIlQmJZt24kWRqahBVvSYF6EAiQRKTBfugM…
  "bytecode": "0x608060405234801561001057600080fd5b50604051610e1d380380610e1d8339818101604052602081101561003357600080fd5b5051610040600082610046565b5061013d565b6100508282610054565b5050565b6000828152602081815260409091206100769183906108946100b7821b17901c565b1561005057604051339060016…
        if (cTokens) cTokens.innerHTML = tokens[k] ?? ''
COPY apps/broadcaster/package.json apps/broadcaster/pnpm-lock.yaml apps/broadcaster/.npmrc ./

Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.

We found things in this code

Code changes quietly between releases, and nobody reads the diff of a dependency. We do, on every release — watch Ophis MCP and you get told the day something new turns up.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 7 min ago.

run in your terminal
claude mcp add mcp --transport http https://mcp.ophis.fi/mcp
Settings → Connectors → Add custom connector, then paste this address
https://mcp.ophis.fi/mcp
~/.codex/config.toml
[mcp_servers.mcp]
url = "https://mcp.ophis.fi/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "mcp": {
      "url": "https://mcp.ophis.fi/mcp"
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "mcp": {
      "type": "http",
      "url": "https://mcp.ophis.fi/mcp"
    }
  }
}

Available tools 13

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

balances
get_balances
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).
build
build_order
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, Robinhood Chain, and Arc 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.
chains
list_chains
List configured EVM orderbook chains, split into `tradeable` (orderbook URL configured; only route get_quote/build_order to these) and `paused` (no configured orderbook URL, so those tools reject the chain). This is configuration, not a live health or liquidity check. The standalone app's externally funded NEAR networks are not orderbook chains. Each tradeable chain includes its orderbook host, GPv2Settlement contract (Optimism, Unichain, Robinhood Chain, and Arc are non-canonical), and canonical Ophis fee config. No input.
expected
expected_surplus
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.
gas
get_gas
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.
integrator
get_integrator_earnings
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). Routed volume is reported in USD, split by chain and by Ophis-operated versus CoW-hosted chains. Read-only, keyless, cumulative.
parse
parse_intent
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.
portfolio
get_portfolio
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 13 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.
quote
get_quote
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).
resolve
resolve_token
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 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.
submit
submit_order
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). Returns the order UID on success and enrolls the owner for indexing, referral attribution, and trade rewards.
token
get_token_chart
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.
validate
validate_order
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 (prevents Ophis referral attribution), 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.

Tools removed

Tools this server used to expose. Anything built against them stopped working on the day they went.

lookup_tier
removed 20 Oct 2026

Endpoints

URLTransportStateLatencyChecked
https://mcp.ophis.fi/mcp streamable-http answering 194 ms 7 min ago

Alternatives to Ophis MCP

same job, measured the same way
Z1N
by z1nprotocol

MCP server for the Z1N Protocol - on-chain identity for AI agents on Polygon

280 installs/wk 6 tools answering
Suwappu
by 0xsoftboi

Cross-chain DEX for AI agents. Swap tokens across 7+ chains.

37 installs/wk local only
DeXe DAO governance
by edward-arinin-web-dev

DeXe Protocol DAOs for AI agents: create DAOs, proposals, votes, OTC token sales, on-chain reads.

192 installs/wk local only
Base Intel MCP
by datakoot

Read-only on-chain intelligence for AI agents on Base: balances, tokens, gas, tx status.

5 tools answering
Defiguard MCP
by kota1026

DeFiGuard MCP Server - DeFi protocol risk analysis tools for AI coding agents. Analyze token co...

58 installs/wk local only
Agentic Commerce
by bosonprotocol

MCP server for Boson Protocol — on-chain agentic commerce for physical & digital goods.

63 tools answering
Gitlab MCP Server
by dubuqingfeng

GitLab MCP (Model Context Protocol) server for AI agents

58 installs/wk local only
Trello MCP Server
by billnobill

Trello Model Context Protocol (MCP) Server for AI Agents

44 installs/wk local only

Ophis MCP — questions

Answers built from our own checks of this server.

What can Ophis MCP do?
It exposes 13 tools, read directly from the server on our last check. Among them: build_order, expected_surplus, get_balances, get_gas, get_integrator_earnings, get_portfolio and 7 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
Is Ophis MCP working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 92 of 92 checks got a reply (100.0%), average response time 235 ms. The bar chart above shows every period we have measured.
Did Ophis MCP ever remove tools?
Yes. lookup_tier is no longer exposed — we recorded the date each one disappeared. A tool vanishing usually means a breaking change for anything that depended on it.
How do I connect Ophis MCP?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Ophis MCP need an API key?
No. Ophis MCP completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 13 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Ophis MCP?
It answers our handshake in 235 ms on average, which is faster than 58% of all working MCP servers we measure. The comparison comes from our own checks across the whole registry, every 15 minutes.
Is Ophis MCP open source?
The code is open source: it is published under the GPL-3.0 licence, written in Rust, 4 stars on GitHub and 10 open issues. The licence covers the code in the repository, not the hosted service at mcp.ophis.fi, which runs on its operator's own terms.