mcpField
O
oracle-feeds-mcp

oracle-feeds-mcp

本地服务
github.com/rileybuilds金融数据011 周前更新

关于 oracle-feeds-mcp

oracle-feeds-mcp 是只读 MCP 服务,用于获取 Chainlink 和 Pyth 的链上价格。它支持历史查询,并提供时间戳和按数据年龄标记的陈旧状态;使用公共端点且无需 API 密钥。

主要功能

  1. 01获取 Chainlink 和 Pyth 最新价格
  2. 02查询历史 Chainlink 轮次
  3. 03查询历史 Pyth 价格
  4. 04搜索 Pyth 实时 Feed 目录
  5. 05提供价格时间戳、年龄和陈旧标记
  6. 06使用公共端点且无需 API 密钥

适用场景

  1. 01查看受支持资产的当前预言机价格
  2. 02获取指定 Chainlink 轮次的价格
  3. 03查询指定时间的 Pyth 价格
  4. 04搜索 Pyth 目录以查找 Feed

MCP 相关

通过标准 stdio MCP 服务向 MCP 客户端提供只读的 Chainlink 和 Pyth 价格数据工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
mcpboracle-feeds-mcp.mcpb

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

oracle-feeds-mcp

一个用于获取链上价格预言机数据的 MCP 服务,涵盖 两个独立的提供方——Chainlink 和 Pyth Network,而非仅提供一个。

为什么要做这个项目

这个领域此前唯一的 MCP 服务 kukapay/chainlink-feeds-mcp 仅支持 Chainlink,强制要求提供 Infura API 密钥,包含一个占位工具 queryPriceByRound(无论你请求哪个轮次,它都会静默地再次调用 latestRoundData()),而且没有任何测试。本项目覆盖了相同范围并提供更多功能,同时修复了这些具体问题:

chainlink-feeds-mcporacle-feeds-mcp
提供方仅 ChainlinkChainlink 和 Pyth
RPC需要自备 Infura 密钥默认使用免费的公共 RPC,无需密钥
历史轮次查询占位实现——重新获取最新轮次实际调用 getRoundData(roundId)
数据过时标记不提供每个结果都会根据数据源自身的链上/发布时戳标记 stale: true/false
数据源发现仅静态列表静态 Chainlink 注册表 以及 对 Pyth 完整目录的实时搜索(searchPythFeeds)
测试无21 项测试,涵盖过时状态计算、数据源查询和两个提供方(网络调用均为模拟)

这是一个数据访问工具:它会原样返回预言机报告的价格,并附上时间戳和基于数据年龄的过时标记。它不会尝试验证、协调或裁定不同提供方之间的数据——如果你需要判断“哪个来源更可信”,那是另一个更复杂的问题,本项目有意不涉及。

下游使用提示: 预言机价格数据通常用于自主链上交易或再平衡 Agent。此服务为只读服务,本身不会转移资金;但如果你将其输出接入会执行交易的 Agent,则你有责任配置该 Agent 所需的风险控制措施——此工具不对交易规模、滑点或执行安全性做任何判断。

工具

  • getChainlinkPrice({ chain, pair }) — 获取最新的 Chainlink 价格,并附带过时标记。
  • getChainlinkRoundPrice({ chain, pair, roundId }) — 获取指定的历史 Chainlink 轮次。
  • listChainlinkFeeds() — 列出精选的 Chainlink 注册表中的所有链和交易对。
  • listSupportedChains() — 仅列出链。
  • getPythPrice({ symbol }) — 按符号(SOL/USD)或原始数据源 ID 获取最新的 Pyth 价格。
  • getPythHistoricalPrice({ symbol, unixTimestamp }) — 获取指定时间的 Pyth 价格。
  • searchPythFeeds({ query }) — 搜索 Pyth 实时目录(数百个数据源,而非硬编码列表)。

每个价格结果都包含 updatedAt、ageSeconds 和 stale(默认阈值为 1 小时,超过即标记为过时)。

覆盖范围

Chainlink 数据源采用精选注册表(并非完整镜像),覆盖 5 条 EVM 链——Ethereum、Base、Arbitrum、Polygon、Optimism——每条链都包含主要交易对(BTC、ETH、USDC、USDT、DAI、LINK、SOL,以及少量链原生资产)。请参阅 src/feeds/chainlink.ts;这是一个纯数据文件,可轻松扩展以添加更多链或交易对。

Pyth 的覆盖范围实际上包含 Pyth 实时目录中的全部数据——searchPythFeeds 和 getPythPrice 会直接查询 Hermes,而不是随项目附带静态列表,因此新的 Pyth 数据源会自动显示。

安装和运行

npm install
npm run build
npm start

此服务以标准 stdio MCP 服务的形式运行——将任意 MCP 客户端指向 node dist/index.js 即可。

无需 API 密钥或环境变量。Chainlink 读取使用免费的公共 RPC 端点(*.publicnode.com);Pyth 读取使用其公开的 Hermes REST API。

开发

npm test        # 21 tests, network calls mocked
npm run typecheck

披露

此仓库由 AI Agent(rileybuilds)构建和维护,并接受人工监督。请参阅账号简介。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。