关于 Openocean
Openocean 是基于 OpenOcean 聚合 API 的 MCP 服务,供 MCP 客户端查询报价并在多个链上执行 DEX 代币兑换。它还提供链、代币、DEX、Gas 价格及交易信息查询。
主要功能
- 01获取链、代币和 DEX 列表
- 02查询 Gas 价格
- 03获取代币兑换报价
- 04构建兑换交易
- 05查询交易信息
适用场景
- 01比较兑换报价与滑点
- 02构建跨链 DEX 兑换交易
- 03查看链上交易状态
MCP 相关
该 MCP 服务向兼容客户端提供链与代币查询、报价、兑换交易构建及交易信息等工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
OPENOCEAN-MCP 服务
一个 MCP 服务,使用 OpenOcean 的聚合 API 在多个去中心化交易所之间执行代币兑换。
概述
此项目实现了一个模型上下文协议(MCP)服务,用于与去中心化交易所(DEX)交互。它允许兼容 MCP 的客户端(例如 AI 助手、IDE 扩展或自定义应用)使用相关功能,例如获取兑换报价,以及在多个链上执行兑换。
此服务使用 TypeScript 和 fastmcp 构建。
功能(MCP 工具)
此服务提供以下工具,供 MCP 客户端使用:
CHAIN_LIST:获取链列表。- 参数:
GAS_PRICE:获取 Gas 价格。- 参数:
chain(字符串)
- 参数:
QUOTE:获取兑换报价。- 参数:
chain(字符串)、inTokenAddress(字符串)、outTokenAddress(字符串)、amount(字符串)、slippage(字符串)
- 参数:
SWAP:构建兑换交易。- 参数:
chain(字符串)、inTokenAddress(字符串)、outTokenAddress(字符串)、amount(字符串)、slippage(字符串)、account(字符串)
- 参数:
GET_TRANSACTION:获取交易信息。- 参数:
chain(字符串)、hash(字符串)
- 参数:
TOKEN_LIST:获取代币列表。- 参数:
chain(字符串)
- 参数:
DEX_LIST:获取 DEX 列表。- 参数:
chain(字符串)
- 参数:
参数说明
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 代码编译为 JavaScript,并输出到
dist目录。pnpm run buildprepare脚本也会运行pnpm run build,因此如果您克隆代码库并运行pnpm install,依赖项会在安装时构建。
配置(环境变量)
运行此服务的 MCP 客户端可能需要设置某些环境变量。通常在客户端的 MCP 服务定义中配置这些变量(例如,在 Cursor 的 mcp.json 文件中,或在其他客户端的类似文件中)。
- 钱包提供商或 API 密钥所需的任何环境变量。
使用 MCP 客户端运行服务
MCP 客户端(如 AI 助手、IDE 扩展等)会将此服务作为后台进程运行。你需要配置客户端,告知它如何启动此服务。
下面是 MCP 客户端可能使用的配置片段示例(例如,在 mcp_servers.json 或类似配置文件中)。此示例展示了如何通过 pnpm dlx 使用已发布的 npm 包运行服务。
{
"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 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。