Alpaca Trading API integration for Model Context Protocol (MCP)
Ophis is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
Gasless, MEV-protected onchain token swaps for AI agents on 14 EVM chains, built on CoW Protocol.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http ophis-mcp https://mcp.ophis.fi/mcp
# 2 — ask your agent for something these tools do
# parse_intent, get_quote, build_order and 11 more
Ophis costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it.
claude mcp add --scope user --transport http ophis-mcp https://mcp.ophis.fi/mcpReconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
14 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| text | string | yes | The natural-language swap request. |
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| chainId | integer | yes | EVM chain id (use list_chains for supported chains). |
| sellToken | string | yes | Sell token address (0x...). |
| buyToken | string | yes | Buy token address (0x...). |
| isStablePair | boolean | no | Optional assertion checked against the server-owned stablecoin registry; omit to auto-classify. |
| kind | string | yes | 'sell' = you specify the sell amount; 'buy' = you specify the buy amount. |
| amount | string | yes | Amount in atoms (uint256 decimal string). |
| from | string | yes | The trading account address (quotes are account-aware). |
| validForSeconds | integer | no | Quote validity window in seconds (default 1200 = 20 min). |
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) an
| Parameter | Type | Required | Notes |
|---|---|---|---|
| chainId | integer | yes | EVM chain id (use a chainId from list_chains tradeable). |
| owner | string | yes | The signer/owner address (receiver defaults to this). |
| sellToken | string | yes | Sell token address (0x...). |
| buyToken | string | yes | Buy token address (0x...). |
| isStablePair | boolean | no | Optional assertion checked against the server-owned stablecoin registry; omit to auto-classify. |
| sellAmount | string | yes | In atoms. kind 'sell': the EXACT amount you sell. kind 'buy': the MAXIMUM you'll spend (slippage-adjusted UP from the quote). |
| buyAmount | string | yes | In atoms. kind 'sell': the MINIMUM you accept (slippage-adjusted DOWN from the quote). kind 'buy': the EXACT amount you want to receive. |
| kind | string | yes | 'sell' = sellAmount is exact and buyAmount is your minimum out; 'buy' = buyAmount is exact and sellAmount is your maximum in. |
| validForSeconds | integer | no | 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 reject |
| feeAmount | string | no | Signed feeAmount in atoms. Must be omitted or "0" on this tool (the fee is taken from surplus + the appData partner fee). |
| partiallyFillable | boolean | no | Allow partial fills (default false = fill-or-kill). |
| slippageBips | integer | no | 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 w |
| referenceBuyAmount | no | — | |
| referenceSellAmount | no | — | |
| referrerCode | string | no | 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. Gram |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| chainId | integer | yes | EVM chain id the order was built for. |
| order | object | yes | The order object returned by build_order. |
| signature | string | yes | 0x EIP-712 signature over the order by the owner. |
| signingScheme | string | no | Signature scheme over the order (default 'eip712'). |
| from | string | yes | The owner address that signed. |
| fullAppData | string | yes | The fullAppData string returned by build_order. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | yes | Wallet address (0x...). |
Look up what an integrator's own-fee routing earned on indexed chains, including Arc, 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. Own-fee payout la
| Parameter | Type | Required | Notes |
|---|---|---|---|
| appCode | string | yes | Your integrator appCode / referral code (3-64 chars of [a-z0-9_-]). |
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, GP
No parameter schema on file.
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).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| chainId | integer | yes | EVM chain id (use list_chains for Ophis chains). |
| owner | string | yes | Wallet address to read balances for (0x...). |
| tokens | array | no | ERC-20 token addresses to read (0x...); max 50. Native balance is always returned. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| owner | string | yes | Wallet address to read (0x...). |
| chainIds | array | no | Chains to read (max 13). Omit to scan all chains with a public RPC. |
| tokensByChain | object | no | Map of chainId -> ERC-20 token addresses to read on that chain (native is always included). |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| chainId | integer | yes | EVM chain id. |
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| chainId | integer | yes | EVM chain id (GeckoTerminal-mapped: eth/optimism/base/arbitrum/polygon/bsc/avax/linea/gnosis/ink). |
| token | string | yes | Token address (0x...). |
| timeframe | string | no | Candle timeframe (default 'day'). |
| aggregate | integer | no | Bucket multiple base units into one candle, e.g. timeframe=hour aggregate=4 = 4h candles (default 1). |
| limit | integer | no | Number of candles (default 30, max 300). |
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 executi
| Parameter | Type | Required | Notes |
|---|---|---|---|
| chainId | integer | yes | EVM chain id (use a chainId from list_chains tradeable). |
| sellToken | string | yes | Sell token address (0x...). |
| buyToken | string | yes | Buy token address (0x...). |
| sellAmount | string | yes | Exact sell amount in atoms (uint256 decimal string). |
| from | string | yes | The trading account address (quotes are account-aware). |
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, match
| Parameter | Type | Required | Notes |
|---|---|---|---|
| chainId | integer | yes | EVM chain id (use a chainId from list_chains tradeable). |
| symbol | string | yes | Token symbol to resolve, e.g. "USDC" or "WETH". |
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| chainId | integer | yes | EVM chain id the order is for (use list_chains tradeable). |
| owner | string | no | The signing account address; enables the receiver drain-guard check. |
| order | object | no | The (partial) order about to be signed. |
| fullAppData | string | no | The exact appData JSON string that will be submitted with the order. |
| signingDomain | object | no | The EIP-712 domain the order will be signed against. |
| orderbookUrl | string | no | The orderbook base URL the order will be submitted to. |
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install Ophis or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
This listing is an address its publisher runs, and you connect to it directly — this marketplace is not in the path. The scanner reads packages and public source, and an address is neither: the repository linked on this page is where this record was collected from, not a copy of what the address serves, so it is not graded in its place. So there is no grade — not a withheld one, an unmeasured one.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 0.1.2.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish Ophis can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.