⚠️ 重要安全免责声明 ⚠️
切勿使用此工具与你的主钱包密钥存储或包含大量资金的钱包!
此工具仅用于测试和实验目的。由于以下原因,可能会导致资金损失:
- 软件错误或安全漏洞
- 交易错误或配置错误
- 网络问题或智能合约失败
LI.FI 或此工具的开发者不对因使用此免费开源软件而导致的资金损失负责。
仅使用测试钱包自行承担风险。
此 MCP 服务器通过集成 LI.FI API,利用模型上下文协议(MCP)提供跨多个流动性池和桥梁的跨链交换功能。
模型上下文协议(MCP)是一种用于AI模型集成的协议,允许AI模型访问外部工具和数据源。
get-tokens
chains, chainTypes, minPriceUSDget-token
chain(必需),token(必需)get-chains
chainTypesget-chain-by-id
id(必需)get-chain-by-name
name(必需)get-quote
fromChain, toChain, fromToken, toToken, fromAddress, fromAmount等get-status
txHash(必需),bridge, fromChain, toChainget-connections
fromChain, toChain, fromToken, toToken, chainTypesget-tools
chainsget-wallet-address
get-native-token-balance
rpcUrl(必需),address(必需)get-token-balance
rpcUrl, tokenAddress, walletAddressget-allowance
rpcUrl, tokenAddress, ownerAddress, spenderAddress注意: 当服务器使用
--keystore标志启动时,这些工具才可用。
execute-quote
rpcUrl, transactionRequestapprove-token
rpcUrl, tokenAddress, spenderAddress, amounttransfer-token
rpcUrl, tokenAddress, to, amounttransfer-native
rpcUrl, to, amountgo install github.com/lifinance/lifi-mcp@latest
启动 MCP 服务器:
lifi-mcp
带有密钥存储以实现交易功能:
lifi-mcp --keystore <keystore-name> --password <keystore-password>
检查版本:
lifi-mcp --version
你可以在Go项目中导入服务器:
import "github.com/lifinance/lifi-mcp/server"
func main() {
// 创建一个具有版本的新服务器
s := server.NewServer("1.0.0")
// 在标准输入输出模式下启动服务器
if err := s.ServeStdio(); err != nil {
log.Fatalf("服务器错误:%v", err)
}
}
对于与mcp-go客户端库一起使用的进程内使用:
import (
"context"
"log"
"github.com/mark3labs/mcp-go/client"
"github.com/mark3labs/mcp-go/client/transport"
"github.com/lifinance/lifi-mcp/server"
)
func main() {
// 创建LiFi MCP服务器
lifiServer := server.NewServer("1.0.0")
// 使用服务器的MCPServer创建进程内传输
inProcessTransport := transport.NewInProcessTransport(lifiServer.GetMCPServer())
// 使用进程内传输创建MCP客户端
mcpClient := client.NewMCPClient(inProcessTransport)
// 启动传输
ctx := context.Background()
if err := mcpClient.Connect(ctx); err != nil {
log.Fatalf("连接失败:%v", err)
}
defer mcpClient.Close()
// 初始化客户端
if err := mcpClient.Initialize(ctx); err != nil {
log.Fatalf("初始化失败:%v", err)
}
// 列出可用工具
tools, err := mcpClient.ListTools(ctx)
if err != nil {
log.Fatalf("列出工具失败:%v", err)
}
// 使用工具...
result, err := mcpClient.CallTool(ctx, "get-chain-by-name", map[string]any{
"name": "ethereum",
})
if err != nil {
log.Fatalf("调用工具失败:%v", err)
}
}
服务器将在标准的以太坊密钥存储目录中搜索密钥存储文件:
要将此服务器与支持MCP的应用程序集成:
{
"mcpServers": {
"lifi": {
"command": "lifi-mcp",
"args": []
}
}
}
带有密钥存储以实现交易功能:
{
"mcpServers": {
"lifi": {
"command": "lifi-mcp",
"args": ["--keystore", "your-keystore", "--password", "your-password"]
}
}
}
MIT