返回市场
区块原生-mcp

区块原生-mcp

作者:kukapay4 星标更新:2025-04-30

项目介绍

Blocknative MCP Server

提供跨多个区块链实时预测Gas价格的服务,由Blocknative提供支持。

GitHub License Python Version Status

功能

  • 工具
    • predict_gas_price: 获取指定链(默认:以太坊主网,chain_id=1)的Gas价格预测,包括基础费用和一个带有置信水平、价格、最大优先费用和最大费用的表格。
    • estimate_gas_cost: 根据Gas限制、置信水平和链ID估算交易成本,返回成本以Gwei和ETH表示。
    • get_supported_chains: 列出支持的区块链,包括链ID、系统和网络的表格。
  • 提示
    • gas_price_query: 查询特定置信水平和链ID的Gas价格的提示模板。
  • 异步:使用httpx进行非阻塞HTTP请求到Blocknative的Gas价格和链API。
  • 可选API密钥:支持低频访问无需Blocknative API密钥;高频使用需要设置BLOCKNATIVE_API_KEY

预备条件

  • Python: 版本3.10
  • uv: 用于依赖管理和运行项目(安装指南
  • Blocknative API密钥(可选):高频API访问所需。在Blocknative注册以获取免费API密钥。

安装

  1. 克隆仓库

    git clone https://github.com/kukapay/blocknative-mcp.git
    cd blocknative-mcp
    
  2. 使用uv设置项目

    uv sync
    
  3. 设置Blocknative API密钥(可选)

    • 对于高频访问,设置环境变量:
      export BLOCKNATIVE_API_KEY="your-api-key-here"
      
    • 对于低频访问,跳过此步骤。

使用

该服务器提供了三个工具和一个提示,可通过FastMCP框架访问。您可以在开发模式下运行服务器,直接执行它,或将其与Claude Desktop集成。

运行服务器

  1. 开发模式与MCP Inspector

    uv run mcp dev blocknative-mcp
    

    这将打开MCP Inspector,这是一个用于测试工具和提示的交互式Web界面。

  2. 直接执行

    uv run blocknative-mcp
    
  3. Claude Desktop集成

    uv run mcp install blocknative-mcp --name "Blocknative MCP Server"
    

    这将安装服务器以便与Claude Desktop一起使用。

工具

  • predict_gas_price(chain_id: int = 1) -> str: 获取链的Gas价格预测(默认:以太坊主网)。返回基础费用和一个带有置信水平、价格、最大优先费用和最大费用的Markdown表格。

    • 示例:
      链ID 1(ethereum/main)的Gas价格预测:
      - 每Gas基础费用:0.382910791 Gwei
      
      | 置信水平 | 价格(Gwei) | 最大优先费用(Gwei) | 最大费用(Gwei) |
      |----------|-------------|--------------------|----------------|
      | 99%      | 0.52        | 0.14               | 0.9            |
      | 95%      | 0.48        |  0.094             | 0.86           |
      | 90%      | 0.47        | 0.089              | 0.85           |
      | 80%      | 0.46        | 0.079              | 0.84           |
      | 70%      | 0.45        | 0.069              | 0.83           |
      
  • estimate_gas_cost(gas_limit: int, confidence: int = 99, chain_id: int = 1) -> str: 根据Gas限制、置信水平和链ID估算交易成本。返回成本以Gwei和ETH表示。

    • 示例:
      估计的Gas成本(置信度90%,链ID 1):
      - Gas限制:21000
      - 每Gas最大费用:0.85 Gwei
      - 总成本:17850 Gwei (0.00001785 ETH)
      
  • get_supported_chains(ctx: Optional[Context] = None) -> str: 列出支持的链,包括链ID、系统和网络的Markdown表格。

    • 示例:
      支持的链:
      
      | 链ID   | 系统   | 网络   |
      |--------|--------|--------|
      | 1      | ethereum | main      |
      | 137    | polygon  | mainnet   |
      | 8453   | base     | mainnet   |
      | 11155111 | ethereum | sepolia   |
      

提示

  • gas_price_query(confidence: int, chain_id: int = 1) -> List[base.Message]: 查询特定置信水平和链ID的Gas价格的提示模板。
    • 示例:
      - 用户:链ID 1的当前Gas价格是多少,置信度为90%?
      - 助手:让我查询链ID 1的Gas价格预测。
      

许可证

该项目根据MIT许可证发布。详情见LICENSE文件。