Ophis Extension
This tutorial covers how to add Ophis as a goose extension so goose can turn natural-language swap requests into executable orders across supported chains.
- goose Desktop
- goose CLI
Use goose configure to add a Remote Extension (Streamable HTTP) extension type with:
Endpoint URL
https://mcp.ophis.fi/mcp
What is Ophis?
Ophis is an intent-based DEX aggregator with a natural-language layer and a keyless MCP server for AI agents. It is non-custodial, gasless, and MEV-protected, and returns swap surplus to the trader. Ophis is a fork of CoW Protocol. It deploys its own settlement contract on Optimism and routes through CoW Protocol on the other supported chains: Ethereum, Base, Arbitrum, Polygon, BNB Chain, Gnosis, Avalanche, Linea, Plasma, and Ink.
The MCP server is keyless and requires no API key or environment variables. It exposes six tools: parse_intent, get_quote, build_order, submit_order, lookup_tier, and list_chains. Trades are signed by the user's own wallet, so the server never holds keys or funds.
Configuration
- goose Desktop
- goose CLI
- Launch the installer
- Click
Yesto confirm the installation - Click the button in the top-left to open the sidebar
- Navigate to the chat
- Run the
configurecommand:
goose configure
- Choose to add a
Remote Extension (Streamable HTTP).
┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension
│
◆ What type of extension would you like to add?
│ ○ Built-in Extension
│ ○ Command-line Extension
│ ● Remote Extension (Streamable HTTP) (Connect to a remote extension via MCP Streamable HTTP)
└
- Give your extension a name.
┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension
│
◇ What type of extension would you like to add?
│ Remote Extension (Streamable HTTP)
│
◆ What would you like to call this extension?
│ Ophis
└
- Enter the Streamable HTTP endpoint URI.
┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension
│
◇ What type of extension would you like to add?
│ Remote Extension (Streamable HTTP)
│
◇ What would you like to call this extension?
│ Ophis
│
◆ What is the Streamable HTTP endpoint URI?
│ https://mcp.ophis.fi/mcp
└
- Enter the number of seconds goose should wait for actions to complete before timing out. Default is
300seconds.
┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension
│
◇ What type of extension would you like to add?
│ Remote Extension (Streamable HTTP)
│
◇ What would you like to call this extension?
│ Ophis
│
◇ What is the Streamable HTTP endpoint URI?
│ https://mcp.ophis.fi/mcp
│
◆ Please set the timeout for this tool (in secs):
│ 300
└
- Enter a description for this extension.
┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension
│
◇ What type of extension would you like to add?
│ Remote Extension (Streamable HTTP)
│
◇ What would you like to call this extension?
│ Ophis
│
◇ What is the Streamable HTTP endpoint URI?
│ https://mcp.ophis.fi/mcp
│
◇ Please set the timeout for this tool (in secs):
│ 300
│
◆ Enter a description for this extension:
│ Natural-language intent DEX aggregator with a keyless MCP server for AI agents
└
- Choose
Nowhen asked to add custom headers.
┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension
│
◇ What type of extension would you like to add?
│ Remote Extension (Streamable HTTP)
│
◇ What would you like to call this extension?
│ Ophis
│
◇ What is the Streamable HTTP endpoint URI?
│ https://mcp.ophis.fi/mcp
│
◇ Please set the timeout for this tool (in secs):
│ 300
│
◇ Enter a description for this extension:
│ Natural-language intent DEX aggregator with a keyless MCP server for AI agents
│
◆ Would you like to add custom headers?
│ No
│
└ Added Ophis extension
Example Usage
Once Ophis is configured, you can describe a swap in plain language and ask goose to prepare an order. Here are some examples:
Parse an intent
Parse this swap intent: "swap 100 USDC for ETH on Base".
Get a quote
Get a quote to swap 0.5 WETH for USDC on Arbitrum.
List supported chains
Which chains does Ophis support?
The server returns a quote and an unsigned order. The actual trade is signed by your own wallet, so no keys or funds are ever shared with the extension.
Resources
- Website: ophis.fi
- App: swap.ophis.fi
- Docs: docs.ophis.fi
- Source: github.com/ophis-fi/ophis