使用说明
OPENOCEAN-MCP服务器
一个MCP服务器,用于使用OpenOcean的聚合API在多个去中心化交易所执行代币交换。
概述
该项目实现了一个模型上下文协议(MCP)服务器,用于与去中心化交易所(DEX)进行交互。它允许MCP兼容的客户端(如AI助手、IDE扩展或自定义应用程序)访问诸如获取掉期报价和跨多个链执行掉期等功能。
此服务器是使用TypeScript和fastmcp构建的。
功能(MCP工具)
服务器公开了MCP客户端可以使用的以下工具:
CHAIN_LIST:获取链表。- 参数:
GAS_PRICE:获取汽油价格。- 参数:
chain(字符串)
- 参数:
QUOTE:获取掉期报价。- 参数:
chain(字符串),inTokenAddress(字符串),outTokenAddress(字符串),amount(字符串),slippage(字符串)
- 参数:
SWAP:建立掉期交易。- 参数:
chain(字符串),inTokenAddress(字符串),outTokenAddress(字符串),amount(字符串),slippage(字符串),account(字符串)
- 参数:
GET_TRANSACTION:获取交易信息。- 参数:
chain(字符串),hash(字符串)
- 参数:
TOKEN_LIST:获取令牌列表。- 参数:
chain(字符串)
- 参数:
DEX_LIST:获取索引列表。- 参数:
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 build这
prepare脚本也会运行pnpm run build,因此,如果您克隆并运行,依赖关系将在安装时建立pnpm install.
配置(环境变量)
此MCP服务器可能需要运行它的MCP客户端设置某些环境变量。这些通常在客户端的MCP服务器定义中配置(例如,在 mcp.json 用于Cursor的文件或用于其他客户端的类似文件)。
- 钱包提供商或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"作为第一个arg) - 对于全局安装:
"openocean-mcp"
- 对于
args:要传递给命令的参数数组。- 对于
pnpm dlx:["dlx", "openocean-mcp"] - 对于全局安装:
[]
- 对于
env:一个包含服务器进程启动时要设置的环境变量的对象。这是您提供任何必要环境变量的地方。workingDirectory:通过以下方式使用已发布的软件包时,通常不需要pnpm dlx或者全局安装,因为包应该正确处理自己的路径。如果你从源代码运行(node dist/index.js),然后设置workingDirectory深入了解项目的根源将是至关重要的。