Is the Ophis MCP server down?

mcp-registry/fi.ophis/mcp · v0.1.2

Also listed as awesome/ophis-fi/ophis

healthy
Last checked 2026-10-17 16:32 UTC · handshake 2.1s

As of 2026-10-17 16:32 UTC, the Ophis MCP server is up with a Glimind reliability score of 96/100 (grade A). Over the last 30 days it answered 100% of Glimind's liveness checks. It had 10 outages in 90 days, with a median recovery of 28 minutes.

uptime (30d checks)
100%
checks observed
3,177
outages (90d)
10
tools
14

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

Install Ophis MCP server

Add to Cursor Add to VS Code

Claude Code

claude mcp add --transport http ophis-mcp-server https://mcp.ophis.fi/mcp

Claude Desktop · Windsurf · Cline (mcpServers JSON)

{
  "mcpServers": {
    "ophis-mcp-server": {
      "type": "http",
      "url": "https://mcp.ophis.fi/mcp"
    }
  }
}

Third-party server, listed as discovered. Review its source before installing.

Agent-readiness: B (87/100)

B (87/100): 0 error(s), 3 warning(s) across 14 tool(s); ~4,546 tokens of tool definitions.
Scores higher than 65% of 15,300 MCP servers Glimind has audited.
Its tool list costs an agent ~4,546 tokens per session — more than 60% of servers.
no tool-poisoning patterns
Schemas86
Descriptions85
Safety hints79
Token cost100
Client compatibility70
Protocol100
Reliability100
Stability88

What to fix (5)

2 tool(s) look like they change state (create/send/delete/pay…) but declare no destructiveHint.

Set annotations {"readOnlyHint": false, "destructiveHint": true|false, "idempotentHint": …}. Clients use these to ask the user before a side effect and to auto-approve safe reads.

Tools: build_order, validate_order

1 tool(s) have parameters with no type (no type/enum/anyOf/$ref).

Give every parameter a "type" (or "enum"/"anyOf"). Untyped parameters make models guess — strings for numbers, objects for arrays.

Tools: build_order

2 parameter(s) across 1 tool(s) have no description.

Add a "description" to each parameter with its format and an example ("ISO 8601 date, e.g. 2026-10-17"). This is the commonest cause of wrong arguments on the first call.

Tools: build_order

No tool declares an outputSchema.

Declare outputSchema and return structuredContent (MCP 2025-06-18+). Agents can then parse results without guessing, and chain tools reliably.

In the last 30 days: 0 tool(s) removed and 3 schema change(s).

Add new tools or optional parameters instead of renaming or removing; deprecate first (say so in the description) and remove later. Agents cache tool contracts.

Auto-fix: 1 corrected tool definition

Paste-ready definitions with the problems above fixed. Changes marked verify need a human look. 1 tool(s) still need parameter descriptions written by someone who knows the API. All of them as JSON: /v1/readiness/mcp-registry%2Ffi.ophis%2Fmcp/fixes

build_order 1 change
{
  "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 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' ",
  "inputSchema": {
    "type": "object",
    "$schema": "http://json-schema.org/draft-07/schema#",
    "required": [
      "chainId",
      "owner",
      "sellToken",
      "buyToken",
      "sellAmount",
      "buyAmount",
      "kind"
    ],
    "properties": {
      "kind": {
        "enum": [
          "sell",
          "buy"
        ],
        "type": "string",
        "description": "'sell' = sellAmount is exact and buyAmount is your minimum out; 'buy' = buyAmount is exact and sellAmount is your maximum in."
      },
      "owner": {
        "type": "string",
        "description": "The signer/owner address (receiver defaults to this)."
      },
      "chainId": {
        "type": "integer",
        "description": "EVM chain id (use a chainId from list_chains `tradeable`)."
      },
      "buyToken": {
        "type": "string",
        "description": "Buy token address (0x...)."
      },
      "buyAmount": {
        "type": "string",
        "description": "In atoms. kind 'sell': the MINIMUM you accept (slippage-adjusted DOWN from the quote). kind 'buy': the EXACT amount you want to receive."
      },
      "feeAmount": {
        "type": "string",
        "description": "Signed feeAmount in atoms. Must be omitted or \"0\" on this tool (the fee is taken from surplus + the appData partner fee)."
      },
      "sellToken": {
        "type": "string",
        "description": "Sell token address (0x...)."
      },
      "sellAmount": {
        "type": "string",
        "description": "In atoms. kind 'sell': the EXACT amount you sell. kind 'buy': the MAXIMUM you'll spend (slippage-adjusted UP from the quote)."
      },
      "isStablePair": {
        "type": "boolean",
        "description": "Optional assertion checked against the server-owned stablecoin registry; omit to auto-classify."
      },
      "referrerCode": {
        "type": "string",
        "description": "Affiliate referral code to embed in appData (credits that code's owner for eligible settled trades, including Arc). Defaults to the server's OPHIS_DEFAULT_REFERRER_CODE. An empty string opts out. Grammar: 3-64 chars [a-z0-9_-]; an invalid code errors."
      },
      "slippageBips": {
        "type": "integer",
        "minimum": 0,
        "description": "Max accepted slippage in bips; capped at 5000 (50%); when omitted, the enforced backstop defaults to 100 bps (1%). Recorded in appData. ENFORCED: build_order fetches a live quote and rejects a limit worse than this vs the quote. Fund safety: the receiver is always pinned to the owner."
      },
      "validForSeconds": {
        "type": "integer",
        "minimum": 60,
        "description": "Order lifetime in seconds (default 1200 = 20 min; minimum 60). The enforced live-quote fetch can consume several seconds, so very short lifetimes would return a near-expired order the orderbook rejects."
      },
      "partiallyFillable": {
        "type": "boolean",
        "description": "Allow partial fills (default false = fill-or-kill)."
      },
      "referenceBuyAmount": {
        "type": "string"
      },
      "referenceSellAmount": {
        "type": "string"
      }
    },
    "additionalProperties": false
  },
  "annotations": {
    "title": "Build signable order",
    "readOnlyHint": true,
    "openWorldHint": true
  }
}

Get alerted

Get an email or webhook when this server's readiness drops by 10+ points, tool-poisoning text appears, or a tool breaks:

curl -X POST https://glimind.com/v1/subscriptions -H 'content-type: application/json' -d '{"tools":["mcp-registry/fi.ophis/mcp"],"email":"[email protected]"}'

Agents: watch_tool({"toolId": "mcp-registry/fi.ophis/mcp"}) over MCP.

Passed

Largest tool definitions

Static checks of the advertised tools/list (schema, descriptions, annotations, tool-poisoning patterns, names, size) plus observed protocol, uptime, latency and contract changes. Read-only: no tool is ever called. Weights: schema 15, docs 20, safety 15, efficiency 15, compatibility 15, protocol 5, reliability 10, stability 5. Token counts are estimates (~3.6 characters per token).

Operator? Fix these, then re-check live. Embed the readiness badge:

Markdown
[![MCP agent-readiness](https://glimind.com/v1/readiness/badge/mcp-registry%2Ffi.ophis%2Fmcp.svg)](https://glimind.com/server/mcp-registry%2Ffi.ophis%2Fmcp?ref=badge)
HTML
<a href="https://glimind.com/server/mcp-registry%2Ffi.ophis%2Fmcp?ref=badge"><img src="https://glimind.com/v1/readiness/badge/mcp-registry%2Ffi.ophis%2Fmcp.svg" alt="MCP agent-readiness"></a>
reStructuredText
.. image:: https://glimind.com/v1/readiness/badge/mcp-registry%2Ffi.ophis%2Fmcp.svg
   :target: https://glimind.com/server/mcp-registry%2Ffi.ophis%2Fmcp?ref=badge
   :alt: MCP agent-readiness

Tool-definition log

Glimind records every version of this server's tool definitions in a signed, append-only transparency log. Current manifest sha256:322bf7cf7876ff0b…, first seen 2026-10-17, included at leaf 11762 of 17,905. Version history · verify what your client received.

Tools (14)

Compare: most reliable finance servers · most reliable data servers · most reliable crypto servers

Know before your agent calls it

Glimind tells agents whether a server is up right now and how to call it, then fails over to a live alternative when it isn't.

Add Glimind — free, no signup:

Add to Cursor Add to VS Code

Claude Code

claude mcp add --transport http glimind https://glimind.com/mcp

Claude Desktop · Windsurf · Cline (mcpServers JSON)

{
  "mcpServers": {
    "glimind": {
      "type": "http",
      "url": "https://glimind.com/mcp"
    }
  }
}

FAQ

Is the Ophis MCP server down right now?

As of 2026-10-17 16:32 UTC, the Ophis MCP server is up with a Glimind reliability score of 96/100 (grade A). Over the last 30 days it answered 100% of Glimind's liveness checks. It had 10 outages in 90 days, with a median recovery of 28 minutes.

How many tools does Ophis MCP server provide?

Ophis MCP server advertises 14 tools, including build_order, expected_surplus, get_balances, get_gas, get_integrator_earnings.

How do I install Ophis MCP server?

Point your MCP client at this streamable-http endpoint: https://mcp.ophis.fi/mcp

Is the Ophis MCP server safe to connect to an AI agent?

Glimind scanned all 14 tool definitions for tool-poisoning patterns — hidden or invisible characters, instructions that override the model, concealment from the user, requests to read credential or MCP config files, conversation exfiltration and cross-tool shadowing — and found none. This checks what the server tells the model, not what its code does; review the source before granting access to sensitive data.

Operator of Ophis MCP server?

Status page: 90-day uptime, every outage and how long it lasted.

Claim this listing to get the Verified operator marker, a remediation checklist and owner analytics, or embed the live badge from any of the tool pages above. Maintainers: alerts, deploy attestation and monthly reports.

Status is an automated estimate from Glimind's liveness checks (handshake and tool listing only; no tool is ever called) and may lag or differ from your network. Glimind is not affiliated with this server or its operator. Operator? Request a correction or opt out at https://glimind.com/opt-out.