关于 base-gas-mcp
base-gas-mcp 是供 Agent 和客户端查询 Base 实时 Gas 价格、交易成本及时间趋势的 MCP 服务。它还比较四条链的费用,并通过 x402 按次以 USDC 支付数据调用。
主要功能
- 01Base 实时费用与美元成本
- 02四链交易费用比较
- 03Gas 历史与价格水平
- 04最便宜的交易时段
- 05通过 x402 支付 USDC
适用场景
- 01估算 Base 交易的美元成本
- 02比较支持链上的交易费用
- 03判断是否等待 Gas 降低
- 04寻找批量交易的低价时段
MCP 相关
向 MCP 客户端提供 Gas 数据和服务状态工具。数据调用通过 x402 以 USDC 结算;状态查询免费。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y base-gas-mcpBUYER_PRIVATE_KEY密钥Private key of a Base mainnet wallet holding a little USDC. Pays $0.002 to $0.02 per call. Use a separate wallet with small funds.MAX_USD_PER_CALLRefuse any single payment above this many USD. Default 0.05.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
5收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| gasLimit | integer | 否 | 用于估算费用的 Gas 单位。ETH 转账为 21000(默认值),ERC-20 转账约为 65000,NFT 铸造约为 85000,Uniswap 兑换约为 180000,合约部署约为 1500000。 |
详细介绍
base-gas-mcp
一个用于获取 Base 实时 Gas 数据的 MCP 服务,通过 x402 支付协议按次使用 USDC 付费。无需 API 密钥或账户:Agent 使用你控制的钱包支付一小部分美元。
它可以回答 RPC 调用无法回答的问题:一笔交易的美元成本是多少、当前哪条链最便宜、Gas 费是高还是低,以及哪些时段应当避开。
工具
| 工具 | 价格 | 返回内容 |
|---|---|---|
get_base_gas | ~$0.002 | Base 基础费、低/中/高优先费,以及一笔交易以 USD、ETH 和 gwei 计价的成本,还有可直接用于签名的 maxFeePerGas / maxPriorityFeePerGas(wei)。gasLimit 可选。 |
compare_gas_costs | ~$0.01 | 在 Base、OP Mainnet、Arbitrum One 和 Ethereum 上执行同一笔交易的成本,以 USD 计价,按价格从低到高排列。gasLimit 可选。 |
get_gas_history | ~$0.01 | 过去 hours 小时的 Base Gas 费(默认 24 小时):最低值/最高值/平均值/中位数,以及当前 Gas 费是便宜、正常、昂贵还是平稳。 |
get_cheapest_window | ~$0.02 | 根据 7 天的历史数据,给出应当避开的时段、费用最低的时段(UTC),以及以百分比和 USD 计的节省金额。 |
get_service_status | 免费 | 服务是否正常运行,以及已收集的历史数据量。无需钱包。 |
价格由端点设定,并发布在其 OpenAPI 文档中。 每个付费结果都包含结算交易哈希。
gasLimit 参考:ETH 转账为 21000(默认值),ERC-20 转账约 65000,NFT 铸造约 85000,Uniswap 兑换约 180000,合约部署约 1500000。
安全
- 服务只会向一个源站付款,由你设置(
BASE_GAS_ORIGIN,默认使用在线的 base-gas-x402 API)。没有任何工具会接受 URL,因此模型读取的文本无法将你的钱包重定向到其他付费端点。 - 单笔支付限额。 任何超过
MAX_USD_PER_CALL(默认值为0.05)的支付都会在签名前被拒绝。 - 支付使用 EIP-3009 授权:钱包只需要 USDC,无需 ETH。
- 使用一个单独的钱包,仅存入少量美元。密钥从环境变量中读取,用于签署支付,绝不会记录或返回。
付费数据源是配套项目: base-gas-x402。
安装
要求
- Node.js 18 或更高版本(需要内置的
fetch) - 一个持有少量 USDC 的 Base 主网钱包(无需 ETH)
git clone https://github.com/memosr/base-gas-mcp.git
cd base-gas-mcp
npm install
通过 MCP 客户端的配置传入 BUYER_PRIVATE_KEY(见下文)。服务不会读取 .env 文件。
也可以直接通过 npx base-gas-mcp 运行已发布的软件包(见下方的配置代码块)。
获取买方密钥
BUYER_PRIVATE_KEY 是 Base 主网钱包的私钥。创建一个新钱包(例如使用 MetaMask、Coinbase Wallet 或 cast wallet new),导出其私钥,并在 Base 上为钱包充值几美元的 USDC。
警告: 这是一个能够控制真实资金的真实私钥。 请使用单独的临时钱包,只存放少量资金。切勿重复使用持有大量资金的钱包密钥、切勿将其提交到 git,也切勿将其粘贴到聊天中。服务只读取该密钥以签署支付,绝不会记录或返回。
环境变量
| 变量 | 必填 | 说明 |
|---|---|---|
BUYER_PRIVATE_KEY | 是 | 已充值的 Base 主网钱包的 32 字节十六进制私钥(64 个十六进制字符,可选 0x 前缀)。 |
MAX_USD_PER_CALL | 否 | 拒绝任何超过此 USD 金额的单笔支付。默认值为 0.05。 |
BASE_GAS_ORIGIN | 否 | 服务唯一会付款的源站。默认为 https://base-gas-x402-production.up.railway.app。 |
BUILDER_CODE | 否 | 附加到支付载荷中用于归因的 Base Builder Code。默认为 bc_lhfd8zad。 |
配置
Claude Desktop
添加到 claude_desktop_config.json(macOS:~/Library/Application Support/Claude/claude_desktop_config.json,Windows:%APPDATA%\Claude\claude_desktop_config.json),然后重启 Claude Desktop:
{
"mcpServers": {
"base-gas": {
"command": "npx",
"args": ["-y", "base-gas-mcp"],
"env": {
"BUYER_PRIVATE_KEY": "0xYOUR_FUNDED_BASE_MAINNET_PRIVATE_KEY"
}
}
}
}
如需从本地克隆运行,请将 command 指向 Node,并使用服务的绝对路径:
{
"mcpServers": {
"base-gas": {
"command": "node",
"args": ["/absolute/path/to/base-gas-mcp/src/server.js"],
"env": {
"BUYER_PRIVATE_KEY": "0xYOUR_FUNDED_BASE_MAINNET_PRIVATE_KEY"
}
}
}
}
Claude Code
claude mcp add base-gas \
--env BUYER_PRIVATE_KEY=0xYOUR_FUNDED_BASE_MAINNET_PRIVATE_KEY \
-- npx -y base-gas-mcp
或者从本地克隆运行:
claude mcp add base-gas \
--env BUYER_PRIVATE_KEY=0xYOUR_FUNDED_BASE_MAINNET_PRIVATE_KEY \
-- node /absolute/path/to/base-gas-mcp/src/server.js
服务只读取客户端传递的环境变量设置。它不会加载 .env 文件(自 0.3.1 起),因此客户端打开的任何文件夹中的 .env 都无法更改钱包付款的目标。
使用示例
配置完成后,向你的 Agent 提问:
- “现在在 Base 上进行一次 Uniswap 兑换要花多少钱(美元)?”(使用
get_base_gas,gasLimit为 180000) - “此刻代币转账在 Base 还是 Arbitrum 上更便宜?”(使用
compare_gas_costs) - “现在 Base 的 Gas 费高吗?还是我应该等一等?”(使用
get_gas_history) - “我应该什么时候安排一批 Base 交易?”(使用
get_cheapest_window)
以上每项操作都会产生一次付费调用。请先免费检查 get_service_status。
技术栈
- Node.js(ESM),通过 stdio 传输提供服务
- 使用
@modelcontextprotocol/sdk构建 MCP 服务 - 使用
@x402/fetch、@x402/evm和@x402/extensions实现付款封装的 fetch、EIP-3009 精确付款方案和构建者代码归属 - 使用
viem处理账户和签名 - 使用
zod进行输入验证
许可证
MIT,版权所有 (c) 2026 memosr。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。