The MCP-ODOS server enables interaction with decentralized exchanges (DEXs), providing two primary functions:
- Fetch Quotes for Swaps: Use the
ODOS_GET_QUOTE
tool to get swap quotes by specifying parameters likechainId
,sellToken
,buyToken
, andsellAmount
. - Execute Swaps: Use the
ODOS_EXECUTE_SWAP
tool to execute token swaps with parameters includingchainId
,sellToken
,buyToken
,sellAmount
,quote
, andwalletProvider
.
The server is designed to work seamlessly with MCP-compatible clients such as AI assistants or IDE extensions, and can be configured using environment variables like WALLET_PRIVATE_KEY
.
Requires Node.js runtime (v18 or newer) to execute the MCP server for decentralized exchange operations.
Implements the MCP server functionality using TypeScript, providing type-safe interaction with decentralized exchanges.
MCP-ODOS: Model Context Protocol Server for Decentralized Exchanges
This project implements a Model Context Protocol (MCP) server to interact with decentralized exchanges (DEXs). It allows MCP-compatible clients (like AI assistants, IDE extensions, or custom applications) to access functionalities such as getting quotes for swaps and executing swaps.
This server is built using TypeScript and fastmcp
.
Features (MCP Tools)
The server exposes the following tools that MCP clients can utilize:
ODOS_GET_QUOTE
: Fetch a quote for a swap.- Parameters:
chainId
(number),sellToken
(string),buyToken
(string),sellAmount
(string)
- Parameters:
ODOS_EXECUTE_SWAP
: Execute a swap.- Parameters:
chainId
(number),sellToken
(string),buyToken
(string),sellAmount
(string),quote
(string),walletProvider
(string)
- Parameters:
Parameter breakdown
chainId
: The chain ID of the DEX.sellToken
: The token you want to sell.buyToken
: The token you want to buy.sellAmount
: The amount of tokens you want to sell.quote
: The quote you got from theget-quote
service.walletProvider
: The wallet provider you want to use.
Prerequisites
- Node.js (v18 or newer recommended)
- pnpm (See https://pnpm.io/installation)
Installation
There are a few ways to use mcp-odos
:
1. Using pnpm dlx
(Recommended for most MCP client setups):
You can run the server directly using pnpm dlx
without needing a global installation. This is often the easiest way to integrate with MCP clients. See the "Running the Server with an MCP Client" section for examples.
(pnpm dlx
is pnpm's equivalent of npx
)
2. Global Installation from npm (via pnpm):
Install the package globally to make the mcp-odos
command available system-wide:
3. Building from Source (for development or custom modifications):
- Clone the repository:
- Install dependencies:
- Build the server:
This compiles the TypeScript code to JavaScript in the
dist
directory.Theprepare
script also runspnpm run build
, so dependencies are built upon installation if you clone and runpnpm install
.
Configuration (Environment Variables)
This MCP server may require certain environment variables to be set by the MCP client that runs it. These are typically configured in the client's MCP server definition (e.g., in a mcp.json
file for Cursor, or similar for other clients).
- Any necessary environment variables for wallet providers or API keys.
Running the Server with an MCP Client
MCP clients (like AI assistants, IDE extensions, etc.) will run this server as a background process. You need to configure the client to tell it how to start your server.
Below is an example configuration snippet that an MCP client might use (e.g., in a mcp_servers.json
or similar configuration file). This example shows how to run the server using the published npm package via pnpm dlx
.
Alternative if Globally Installed:
If you have installed mcp-odos
globally (pnpm add -g mcp-odos
), you can simplify the command
and args
:
command
: The executable to run.- For
pnpm dlx
:"pnpm"
(with"dlx"
as the first arg) - For global install:
"mcp-odos"
- For
args
: An array of arguments to pass to the command.- For
pnpm dlx
:["dlx", "mcp-odos"]
- For global install:
[]
- For
env
: An object containing environment variables to be set when the server process starts. This is where you provide any necessary environment variables.workingDirectory
: Generally not required when using the published package viapnpm dlx
or a global install, as the package should handle its own paths correctly. If you were running from source (node dist/index.js
), then settingworkingDirectory
to the project root would be important.
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
A Model Context Protocol server that enables AI assistants and applications to interact with decentralized exchanges (DEXs), allowing users to get quotes for token swaps and execute swap transactions.
Related MCP Servers
- AsecurityAlicenseAqualityA Model Context Protocol server that enables AI agents to interact with 30+ Ethereum-compatible blockchain networks, providing services like token transfers, contract interactions, and ENS resolution through a unified interface.Last updated -28230252TypeScriptMIT License
- -securityFlicense-qualityA comprehensive Model Context Protocol server implementation that enables AI assistants to interact with file systems, databases, GitHub repositories, web resources, and system tools while maintaining security and control.Last updated -16TypeScript
- AsecurityAlicenseAqualityA server that allows AI models to interact with cryptocurrency exchange APIs through the Model Context Protocol, providing access to over 100 exchanges and their trading capabilities.Last updated -2047219TypeScriptMIT License
Hashkey MCP Serverofficial
-security-license-qualityA Model Context Protocol server that provides onchain tools for AI applications to interact with the Hashkey Network, enabling cryptocurrency transfers, smart contract deployment, and blockchain interactions.Last updated -TypeScriptMIT License