返回市场
链路数据源mcp

链路数据源mcp

作者:kukapay5 星标更新:2025-07-24

项目介绍

Chainlink Feeds MCP Server

一个提供实时访问Chainlink去中心化链上价格数据流的MCP服务器,优化了与AI代理和自主系统无缝集成的功能。

<a href="https://glama.ai/mcp/servers/@kukapay/chainlink-feeds-mcp"> <img width="380" height="200" src="https://gips1.baidu.com/it/u=2651213539,1223919067&fm=3081&app=3081&f=PNG?w=760&h=400" alt="chainlink-feeds-mcp MCP server" /> </a>

License Node.js Status

特性

  • 查询最新价格:获取指定价格数据对(例如FIL/ETH)在给定链(例如ethereum)上的最新价格,包括价格、小数位数、轮次ID和时间戳。
  • 按轮次ID查询价格:检索特定轮次ID的价格数据(目前由于链上历史数据限制,这是一个占位符)。
  • 列出支持的区块链网络:获取支持的区块链网络的逗号分隔列表(例如ethereum,base)。
  • 列出所有价格数据流:获取所有链及其价格数据流名称的Markdown格式列表(例如- ethereum: FIL/ETH,FDUSD/USD)。
  • 按链列出价格数据流:获取特定链的价格数据流名称的逗号分隔列表(例如ethereumFIL/ETH,FDUSD/USD)。
  • 可配置的价格数据流:在feeds.json文件中定义价格数据流和RPC端点,支持多条链和多个数据流类别。

支持的区块链网络和价格数据流

该服务器支持9个区块链网络,共计329个价格数据流,如feeds.json中所定义:

  • 以太坊:107个数据流(例如FIL/ETHBTC/USDUSDC/USD
  • BNB Chain (bsc):80个数据流(例如DOT/USDCAKE/USDBUSD/BNB
  • Base:52个数据流(例如AXL/USDUSDC/USDWIF/USD
  • Starknet:9个数据流(例如ETH/USDBTC/USDWSTETH/ETH
  • Linea:15个数据流(例如ETH/USDFOXY/USDMATIC/USD
  • Mantle:6个数据流(例如MNT/USDUSDT/USDBTC/USD
  • Scroll:22个数据流(例如SCR/USDSTETH/USDWBTC/BTC
  • zkSync:16个数据流(例如ZK/USDPEPE/USDTRUMP/USD
  • Celo:22个数据流(例如CELO/USDCUSD/USDNGN/USD

通过更新feeds.json并添加新的网络配置和来自Chainlink价格数据流文档的代理地址,可以增加额外的链和数据流。

预备条件

  • Node.js:版本18.x或更高。
  • npm:用于依赖项安装。
  • Infura API Key:从MetaMask开发者仪表板获取,具有访问支持网络(例如以太坊、Base)的权限。
  • MCP Inspector(可选):用于本地测试服务器。
  • Claude Desktop(可选):用于与Anthropic的Claude界面集成。

安装

  1. 克隆仓库

    git clone https://github.com/kukapay/chainlink-feeds-mcp.git
    cd chainlink-feeds-mcp
    
  2. 安装依赖项

    npm install
    

    项目需要:

    • @modelcontextprotocol/sdk:用于MCP服务器功能。
    • ethers:版本6.x用于区块链交互。
    • zod:用于输入验证。
    • dotenv:用于环境变量管理。
  3. 配置MCP客户端: 要使用此服务器与MCP客户端(如Claude Desktop)配合,请在配置文件中添加以下内容(或等效内容):

    {
      "mcpServers": {
        "chainlink-feeds-mcp": {
          "command": "node",
          "args": ["path/to/chainlink-feeds-mcp/index.js"],
          "env": { "INFURA_API_KEY": "your_api_key_here" }
        }
      }
    }   
    

使用方法

该服务器通过MCP协议暴露五个工具,可以通过Claude Desktop(用于自然语言查询)或MCP Inspector(用于JSON输入)访问。以下是这些工具,附有自然语言(通过Claude Desktop)和JSON格式的例子。

工具:getLatestPrice

  • 描述:获取给定链上指定配对的最新价格,返回如下JSON对象:

    {
      "chain": "ethereum",
      "pair": "FIL/ETH",
      "price": 0.01234,
      "decimals": 18,
      "roundId": "123456",
      "timestamp": "2025-04-17T12:00:00.000Z",
      "proxyAddress": "0x0606Be69451B1C9861Ac6b3626b99093b713E801",
      "feedCategory": "medium"
    }
    
  • 参数

    • pair(字符串):价格数据流配对,例如FIL/ETH
    • chain(字符串):区块链网络,例如ethereum
  • 自然语言示例(Claude Desktop)

    输入:"以太坊上的最新FIL/ETH价格是多少?"

    输出:"以太坊上的最新FIL/ETH价格是0.01234,小数位数为18,轮次ID为123456,更新时间为2025-04-17 12:00:00 UTC。"

工具:queryPriceByRound

  • 描述:查询给定链上指定配对和轮次ID的价格,返回如下JSON对象:

    {
      "chain": "ethereum",
      "pair": "FDUSD/USD",
      "price": 1.0001,
      "decimals": 8,
      "roundId": "123",
      "timestamp": "2025-04-17T12:00:00.000Z",
      "proxyAddress": "0xfAA9147190c2C2cc5B8387B4f49016bDB3380572",
      "feedCategory": "medium"
    }
    
  • 参数

    • roundId(字符串):价格数据的轮次ID。
    • pair(字符串):价格数据流配对,例如FDUSD/USD
    • chain(字符串):区块链网络,例如ethereum
  • 自然语言示例(Claude Desktop)

    输入:"你能获取以太坊上FDUSD/USD价格的轮次ID 123吗?"

    输出:"对于轮次ID 123,以太坊上的FDUSD/USD价格是1.0001,小数位数为8,更新时间为2025-04-17 12:00:00 UTC。注意:这是一个由于历史数据限制的占位符响应。"

工具:listSupportedChains

  • 描述:返回所有支持的区块链网络的逗号分隔列表。

  • 参数:无。

  • 自然语言示例(Claude Desktop)

    输入:"这个服务器支持哪些区块链网络?"

    输出:"该服务器支持以下网络:ethereum, bsc, base, starknet, linea, mantle, scroll, zksync, celo。"

工具:listSupportedFeeds

  • 描述:返回所有支持的链及其价格数据流名称的Markdown列表。

  • 参数:无。

  • 自然语言示例(Claude Desktop)

    输入:"你能列出服务器支持的所有价格数据流吗?"

    输出:"这里是按链支持的价格数据流:

    • 以太坊:FIL/ETH, FDUSD/USD, UNI/ETH, ...
    • BNB Chain:DOT/USD, CAKE/USD, BUSD/BNB, ...
    • Base:AXL/USD, USDC/USD, WIF/USD, ...
    • Starknet:ETH/USD, BTC/USD, WSTETH/ETH, ...
    • Linea:ETH/USD, FOXY/USD, MATIC/USD, ...
    • Mantle:MNT/USD, USDT/USD, BTC/USD, ...
    • Scroll:SCR/USD, STETH/USD, WBTC/BTC, ...
    • zkSync:ZK/USD, PEPE/USD, TRUMP/USD, ...
    • Celo:CELO/USD, CUSD/USD, NGN/USD, ..."

工具:listSupportedFeedsByChain

  • 描述:返回特定区块链网络的价格数据流名称的逗号分隔列表。

  • 参数

    • chain(字符串):区块链网络,例如base
  • 自然语言示例(Claude Desktop)

    输入:"Base链上有哪些价格数据流?"

    输出:"Base链支持以下价格数据流:AXL/USD, USDC/USD, WIF/USD, CBETH/ETH, ..."

许可证

本项目根据MIT许可证授权。