Openocean について
Openocean は、OpenOcean のアグリゲーション API を通じて、複数チェーンのスワップ見積もり取得やトークン交換を行う MCP サーバーです。チェーン、トークン、DEX、ガス価格、取引情報も照会できます。
主な機能
- 01チェーン、トークン、DEX一覧の取得
- 02ガス価格の取得
- 03トークンスワップ見積もりの取得
- 04スワップトランザクションの構築
- 05トランザクション情報の照会
活用シーン
- 01見積もりとスリッページの比較
- 02複数チェーンのDEX交換取引の構築
- 03オンチェーン取引情報の確認
MCP 対応
互換クライアントに、チェーンやトークンの情報、見積もり、交換取引の構築、取引情報照会のツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
OPENOCEAN-MCP サーバー
OpenOcean のアグリゲーション API を使用して、複数の分散型取引所にまたがるトークンスワップを実行する MCP サーバーです。
概要
このプロジェクトは、分散型取引所(DEX)と連携するための Model Context Protocol(MCP)サーバーを実装しています。MCP 対応クライアント(AI アシスタント、IDE 拡張機能、カスタムアプリケーションなど)から、複数のチェーンにまたがるスワップの見積もり取得やスワップの実行といった機能を利用できます。
このサーバーは TypeScript と fastmcp を使用して構築されています。
機能(MCP ツール)
このサーバーでは、MCP クライアントが利用できる以下のツールを公開しています。
CHAIN_LIST:チェーン一覧を取得します。- パラメーター:
GAS_PRICE:ガス価格を取得します。- パラメーター:
chain(string)
- パラメーター:
QUOTE:スワップの見積もりを取得します。- パラメーター:
chain(string)、inTokenAddress(string)、outTokenAddress(string)、amount(string)、slippage(string)
- パラメーター:
SWAP:スワップトランザクションを構築します。- パラメーター:
chain(string)、inTokenAddress(string)、outTokenAddress(string)、amount(string)、slippage(string)、account(string)
- パラメーター:
GET_TRANSACTION:トランザクション情報を取得します。- パラメーター:
chain(string)、hash(string)
- パラメーター:
TOKEN_LIST:トークン一覧を取得します。- パラメーター:
chain(string)
- パラメーター:
DEX_LIST:DEX 一覧を取得します。- パラメーター:
chain(string)
- パラメーター:
パラメーターの説明
chain:DEX のチェーンコードです。inTokenAddress:売却するトークンです。outTokenAddress:購入するトークンです。amount:小数桁を考慮したトークン数量です。たとえば、1 USDT を入力する場合は 1000000(1 USDT × 10^6)を使用します。slippage:0.05~50 の範囲でパーセンテージ値を入力し、許容スリッページを指定します。1% のスリッページを設定する場合は 1 とします。account:ユーザーのウォレットアドレスです。hash:ブロックチェーン上の OpenOcean コントラクトから取得したハッシュです。
前提条件
- Node.js(v18 以降を推奨)
- pnpm(https://pnpm.io/installation を参照)
インストール
openocean-mcp を使用する方法はいくつかあります。
1. pnpm dlx を使用する(ほとんどの MCP クライアント設定で推奨):
グローバルインストールを行わずに、pnpm dlx を使ってサーバーを直接実行できます。多くの場合、MCP クライアントとの連携に最も簡単な方法です。例については、「MCP クライアントでサーバーを実行する」セクションを参照してください。
(pnpm dlx は pnpm における npx 相当のコマンドです)
2. npm からグローバルインストールする(pnpm 経由):
パッケージをグローバルにインストールし、システム全体で openocean-mcp コマンドを使用できるようにします。
pnpm add -g openocean-mcp
3. ソースからビルドする(開発またはカスタマイズ向け):
-
リポジトリをクローンします:
git clone https://github.com/openocean-finance/openocean-mcp.git cd openocean-mcp -
依存関係をインストールします:
pnpm install -
サーバーをビルドします: これにより、TypeScript コードがコンパイルされ、
distディレクトリに JavaScript として出力されます。pnpm run buildprepareスクリプトでもpnpm run buildが実行されるため、リポジトリをクローンしてpnpm installを実行すると、依存関係のインストール時にビルドが行われます。
設定(環境変数)
この MCP サーバーを実行する MCP クライアント側で、特定の環境変数を設定する必要がある場合があります。通常、これらはクライアントの MCP サーバー定義で設定します(例:Cursor の mcp.json ファイル、または他のクライアントの同等のファイル)。
- ウォレットプロバイダーや API キーに必要な環境変数
MCP クライアントでサーバーを実行する
MCP クライアント(AI アシスタント、IDE 拡張機能など)は、このサーバーをバックグラウンドプロセスとして実行します。サーバーの起動方法をクライアントに伝えるため、クライアントを設定する必要があります。
以下は、MCP クライアントが使用する設定スニペットの例です(mcp_servers.json などの設定ファイルに記述します)。この例では、公開されている npm パッケージを pnpm dlx で実行する方法を示します。
{
"mcpServers": {
"openocean-mcp-server": {
"command": "pnpm",
"args": ["dlx", "openocean-mcp"]
}
}
}
グローバルにインストールしている場合の別の方法:
openocean-mcp をグローバルにインストールしている場合(pnpm add -g openocean-mcp)、command と args を簡略化できます。
{
"mcpServers": {
"openocean-mcp-server": {
"command": "openocean-mcp",
"args": []
}
}
}
command:実行する実行可能ファイルです。pnpm dlxの場合:"pnpm"(最初の引数として"dlx"を指定)- グローバルインストールの場合:
"openocean-mcp"
args:コマンドに渡す引数の配列です。pnpm dlxの場合:["dlx", "openocean-mcp"]- グローバルインストールの場合:
[]
env:サーバープロセスの起動時に設定する環境変数を含むオブジェクトです。必要な環境変数はここで指定します。workingDirectory:公開パッケージをpnpm dlxまたはグローバルインストールで使用する場合、通常は不要です。パッケージが適切にパスを処理するためです。ソースから実行する場合(node dist/index.js)は、workingDirectoryにプロジェクトのルートディレクトリを設定することが重要です。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。