npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

openocean-mcp

v0.0.4

Published

Mcp server for Openocean access

Readme

OPENOCEAN-MCP: 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:

  • CHAIN_LIST: Fetch chain list.
    • Parameters:
  • GAS_PRICE: Fetch gas price.
    • Parameters: chain (string)
  • QUOTE: Fetch a quote for a swap.
    • Parameters: chain (string), inTokenAddress (string), outTokenAddress (string), amount (string), slippage (string)
  • SWAP: Building swap transaction.
    • Parameters: chain (string), inTokenAddress (string), outTokenAddress (string), amount (string), slippage (string), account (string)
  • GET_TRANSACTION: Fetch transaction info.
    • Parameters: chain (string), hash (string)
  • TOKEN_LIST: Fetch token list.
    • Parameters: chain (string)
  • DEX_LIST: Fetch dex list.
    • Parameters: chain (string)

Parameter breakdown

  • chain: The chain code of the DEX.
  • inTokenAddress: The token you want to sell.
  • outTokenAddress: The token you want to buy.
  • amount: Token amount with decimals. For example, if 1 USDT is input, use 1000000 (1 USDT * 10^6).
  • slippage: Define the acceptable slippage level by inputting a percentage value within the range of 0.05 to 50. 1% slippage set as 1.
  • account: user's wallet address.
  • hash: Hash from the OpenOcean contract on the blockchain.

Prerequisites

Installation

There are a few ways to use openocean-mcp:

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 openocean-mcp command available system-wide:

pnpm add -g openocean-mcp

3. Building from Source (for development or custom modifications):

  1. Clone the repository:

    git clone https://github.com/openocean-finance/openocean-mcp.git
    cd openocean-mcp
  2. Install dependencies:

    pnpm install
  3. Build the server: This compiles the TypeScript code to JavaScript in the dist directory.

    pnpm run build

    The prepare script also runs pnpm run build, so dependencies are built upon installation if you clone and run pnpm 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.

{
  "mcpServers": {
    "openocean-mcp-server": {
      "command": "pnpm",
      "args": ["dlx", "openocean-mcp"]
    }
  }
}

Alternative if Globally Installed:

If you have installed openocean-mcp globally (pnpm add -g openocean-mcp), you can simplify the command and args:

{
  "mcpServers": {
    "openocean-mcp-server": {
      "command": "openocean-mcp",
      "args": []
    }
  }
}
  • command: The executable to run.
    • For pnpm dlx: "pnpm" (with "dlx" as the first arg)
    • For global install: "openocean-mcp"
  • args: An array of arguments to pass to the command.
    • For pnpm dlx: ["dlx", "openocean-mcp"]
    • For global install: []
  • 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 via pnpm 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 setting workingDirectory to the project root would be important.