Token导航 LogoToken导航TokenDH.com
Rust Ethereum MCP Server logo
金融服务未说明官方级别未说明来源级核验

Rust Ethereum MCP Server

MCP Server

一个基于Rust的轻量级MCP服务器,提供以太坊和ERC20代币余额查询、代币价格查询和代币交换模拟功能。

工具数

3

提示词数

0

GitHub Stars

0

资源数

0
以太坊Rust区块链Token认证

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

altbee

提供方

altbee

最后核验

2026/5/17 20:23

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

以太坊交易MCP服务器(Rust)-解决方案

总结

这个存储库提供了一个用Rust编写的最小模型上下文协议(MCP)风格的服务器。它通过JSON-RPC POST公开了三个工具:

  • get_balance:查询ETH或ERC20余额。
  • get_token_price:查询代币价格(通过Uniswap V2模拟;见注释)。
  • swap_tokens:建造和 模拟 Uniswap V2交换使用 getAmountsOut + estimateGas (不发送交易)。

服务器使用:

  • ethers-rs 用于以太坊RPC交互。
  • warp 接受JSON-RPC HTTP POST。
  • tokio 异步操作的运行时。
  • tracing 用于结构化日志记录。

______________________________________________________________________

安装说明

  1. 克隆存储库并 cd 进入它。
  1. 复制 .env.example.env 并设定值:
cp .env.example .env
# Edit .env:
# - ETH_RPC_URL (Infura/Alchemy or other Ethereum RPC endpoint)
# - Optionally set WALLET_PRIVATE_KEY for swap simulations
  1. 构建和运行测试:
cargo build
cargo test
# To see debug logs during tests:
cargo test -- --nocapture
  1. 运行MCP服务器:
cargo run

服务器将于启动 127.0.0.1:3030 默认情况下。

______________________________________________________________________

MCP工具调用示例

取得平衡

请求:

{
  "jsonrpc": "2.0",
  "method": "get_balance",
  "params": {
    "address": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", 
    "token": "0x618e75ac90b12c6049ba3b27f5d5f8651b0037f6"
  },
  "id": 1
}

答复:

{
  "jsonrpc": "2.0",
  "result": {
    "address": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
    "balance": "32258568.67038",
    "decimals": 6,
    "raw": "32258568670380",
    "token": "0x618e75ac90b12c6049ba3b27f5d5f8651b0037f6"
  },
  "id": 1
}

______________________________________________________________________

模拟交换

请求:

{
  "jsonrpc": "2.0",
  "method": "swap_tokens",
  "params": {
    "from_token": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
    "to_token": "0x6B175474E89094C44Da98b954EedeAC495271d0F",
    "amount": "1.0",
    "slippage": 0.01
  },
  "id": 1
}

答复:

{
  "jsonrpc": "2.0",
  "result": {
    "from_token": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
    "to_token": "0x6B175474E89094C44Da98b954EedeAC495271d0F",
    "amount_in": "1.0",
    "estimated_amount_out": "1875.123456",
    "estimated_gas": 120000,
    "gas_price_gwei": "33.000000",
    "note": "This is a simulation using getAmountsOut + estimate_gas; transaction not sent on-chain"
  },
  "id": 1
}

______________________________________________________________________

获取代币价格

请求:

{
  "jsonrpc": "2.0",
  "method": "get_token_price",
  "params": {
    "token": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",   // WETH
    // or "symbol": "WETH"
    "in": "USD" // or "ETH"
  },
  "id": 2
}

答复:

{
  "jsonrpc": "2.0",
  "id": 2,
  "result": "3056.51248"
}

______________________________________________________________________

设计决策

  • 钱包集成: 使用环境中的LocalWallet模拟与真实货币的交换 from 地址。
  • 十进制处理: 用途 rust_decimal 以避免在wei和token单位之间转换浮点舍入误差。
  • 灵活的分母: get_token_price 支持美元稳定币(USDT/USDC)或ETH(WETH)作为分母。
  • 模拟优先方法: 所有掉期交易首先使用 getAmountsOut + estimateGas 在发送到链上之前降低风险。
  • 可组合结构: UniswapService 可以重复用于价格查询、掉期模拟或真实的链上掉期。

______________________________________________________________________

已知限制/假设

  • 仅支持 Uniswap V2;不支持V3或其他DEX。
  • 当使用a 符号 该服务仅检查令牌地址,而不是令牌地址 本地映射 (symbol → token address).确实如此 查询链令牌列表。
  • 假设代币合约返回正确的小数。
  • 在低流动性或拥塞的RPC节点下,气体估计可能不准确。
  • 发送真实交易需要私钥;钱包管理是外部的。
  • 滑动被用作一个简单的乘数;还不支持多跳交换。
  • 目前支持价格分母: "USD" (通过USDT/USDC)和 "ETH" (仅通过WETH)。

目录标签

目录标签

以太坊Rust区块链Token认证本地部署交易模拟JSON-RPC

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

token

工具数量(toolCount,工具数)

3

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明token部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP