Chainlink Feeds MCP Server
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
An MCP server that provides real-time access to Chainlink's decentralized on-chain price feeds, optimized for seamless integration into AI agents and autonomous systems
Features
- **Query Latest Price**: Fetch the latest price for a specified price feed pair (e.g., FIL/ETH) on a given chain (e.g., ethereum), including price, decimals, round ID, and timestamp.
- **Query Price by Round ID**: Retrieve price data for a specific round ID (currently a placeholder due to on-chain historical data limitations).
- **List Supported Chains**: Get a comma-separated list of supported blockchain networks (e.g., ethereum,base).
- **List All Feeds**: Retrieve a Markdown-formatted list of all chains and their price feed names (e.g., - ethereum: FIL/ETH,FDUSD/USD).
- **List Feeds by Chain**: Obtain a comma-separated list of price feed names for a specific chain (e.g., FIL/ETH,FDUSD/USD for ethereum).
- **Configurable Feeds**: Define price feeds and RPC endpoints in a feeds.json file, supporting multiple chains and feed categories.
Supported Chains and Feeds
The server supports **9 blockchain networks** with a total of **329 price feeds**, as defined in feeds.json:
- **Ethereum**: 107 feeds (e.g., FIL/ETH, BTC/USD, USDC/USD)
- **BNB Chain (bsc)**: 80 feeds (e.g., DOT/USD, CAKE/USD, BUSD/BNB)
- **Base**: 52 feeds (e.g., AXL/USD, USDC/USD, WIF/USD)
- **Starknet**: 9 feeds (e.g., ETH/USD, BTC/USD, WSTETH/ETH)
- **Linea**: 15 feeds (e.g., ETH/USD, FOXY/USD, MATIC/USD)
- **Mantle**: 6 feeds (e.g., MNT/USD, USDT/USD, BTC/USD)
- **Scroll**: 22 feeds (e.g., SCR/USD, STETH/USD, WBTC/BTC)
- **zkSync**: 16 feeds (e.g., ZK/USD, PEPE/USD, TRUMP/USD)
- **Celo**: 22 feeds (e.g., CELO/USD, CUSD/USD, NGN/USD)
Additional chains and feeds can be added by updating feeds.json with new network configurations and proxy addresses from Chainlink's Price Feeds documentation.
Prerequisites
- **Node.js**: Version 18.x or higher.
- **npm**: For dependency installation.
- **Infura API Key**: Obtain a key from the MetaMask Developer Dashboard with access to supported networks (e.g., Ethereum, Base).
- **MCP Inspector** (optional): For testing the server locally.
- **Claude Desktop** (optional): For integration with Anthropic's Claude interface.
Installation
1. **Clone the Repository**:
2. **Install Dependencies**:
The project requires:
- @modelcontextprotocol/sdk: For MCP server functionality.
- ethers: Version 6.x for blockchain interactions.
- zod: For input validation.
- dotenv: For environment variable management.
3. **Configure MCP Client**:
To use this server with an MCP client like Claude Desktop, add the following to your config file (or equivalent):
Usage
The server exposes five tools via the MCP protocol, accessible through **Claude Desktop** (for natural language queries) or **MCP Inspector** (for JSON inputs). Below are the tools, with examples in both natural language (via Claude Desktop) and JSON formats.
Tool: getLatestPrice
- **Description**: Fetches the latest price for a given pair on a specified chain, returns a JSON object like this:
- **Parameters**:
- pair (string): The price feed pair, e.g., FIL/ETH.
- chain (string): The blockchain network, e.g., ethereum.