🐍 ☁️ - Real-time gas price predictions across multiple blockchains from Blocknative
Blocknative MCP Server
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
An MCP server that provides real-time gas price predictions across multiple blockchains, powered by Blocknative.
Features
- **Tools**:
- predict_gas_price: Fetches gas price predictions for a specified chain (default: Ethereum Mainnet, chain_id=1), including base fee and a table with confidence levels, price, max priority fee, and max fee.
- estimate_gas_cost: Estimates transaction costs based on gas limit, confidence level, and chain ID, returning costs in Gwei and ETH.
- get_supported_chains: Lists supported blockchains in a table with chain ID, system, and network.
- **Prompt**:
- gas_price_query: A prompt template for querying gas prices at a specific confidence level and chain ID.
- **Asynchronous**: Uses httpx for non-blocking HTTP requests to Blocknative's Gas Price and Chains APIs.
- **Optional API Key**: Supports low-frequency access without a Blocknative API key; high-frequency use requires setting BLOCKNATIVE_API_KEY.
Prerequisites
- **Python**: Version 3.10
- **uv**: For dependency management and running the project (installation guide)
- **Blocknative API Key** (optional): Required for high-frequency API access. Sign up at Blocknative to obtain a free API key.
Installation
1. **Clone the Repository**:
2. **Set Up the Project with uv**:
3. **Set the Blocknative API Key (Optional)**:
- For high-frequency access, set the environment variable:
- For low-frequency access, skip this step.
Usage
The server provides three tools and one prompt, accessible via the FastMCP framework. You can run the server in development mode, execute it directly, or integrate it with Claude Desktop.
Running the Server
1. **Development Mode with MCP Inspector**:
This opens the MCP Inspector, a web interface for testing tools and prompts interactively.
2. **Direct Execution**:
3. **Claude Desktop Integration**:
This installs the server for use with Claude Desktop.
Tools
- **predict_gas_price(chain_id: int = 1) -> str**:
Fetches gas price predictions for a chain (default: Ethereum Mainnet). Returns base fee and a Markdown table with confidence levels, price, max priority fee, and max fee.
- Example:
- **estimate_gas_cost(gas_limit: int, confidence: int = 99, chain_id: int = 1) -> str**:
Estimates transaction costs based on gas limit, confidence level, and chain ID. Returns costs in Gwei and ETH.