Oracle Feeds Mcp

io.github.rileybuilds由 GitHub 帳號 rileybuilds 發布v0.1.0更新於 Oct 27, 2026

On-chain price oracles: Chainlink (5 chains) + Pyth, staleness-flagged, no forced RPC key.

已驗證STDIO僅桌面資料庫金融

概覽

AI 產生的概覽

唯讀的 MCP 伺服器,讓助理取得 Chainlink 與 Pyth 的鏈上預言機價格資料,並附上時間戳與過期標記。

可以做什麼
  • 依鏈與交易對查詢 Chainlink 最新價格,並回傳過期標記
  • 依輪次 ID 查詢 Chainlink 指定歷史輪次價格
  • 列出精選的 Chainlink 餵價清單與支援的 EVM 鏈
  • 依符號或原始餵價 ID 取得 Pyth 最新價格,以及指定 Unix 時間點的歷史價格
  • 在 Pyth 即時餵價目錄中搜尋符號
適用情境
適合助理需要直接從鏈上預言機取得加密貨幣與穩定幣的即時或歷史價格,或需要判斷某個報價是否已過期再決定是否採用時。較適合分析與監控用途,而非交易執行。
執行需求
以本機 stdio 程序執行,需要 Node.js(安裝、建置後讓用戶端指向建置產物入口)。不需 API 金鑰或環境變數:Chainlink 讀取使用免費公開 RPC 端點,Pyth 讀取使用其公開 Hermes REST API,因此需要網路存取。
安裝前請注意
回傳的是預言機原樣上報的價格,不做跨來源驗證或可信度判斷。若把輸出接進會執行交易或調倉的代理,風險控管由使用者自行負責。資料來自第三方公開 RPC 與 Hermes 端點;README 揭露此儲存庫由 AI 代理維護。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Oracle Feeds Mcp,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

oracle-feeds-mcp

An MCP server for on-chain price oracle data, covering two independent providers — Chainlink and Pyth Network — instead of one.

Why this exists

The only prior MCP server in this space, kukapay/chainlink-feeds-mcp, is Chainlink-only, hard-requires an Infura API key, has a queryPriceByRound tool that's a placeholder (it silently calls latestRoundData() again regardless of the round you asked for), and ships with no tests. This project covers the same ground plus more, and fixes those specific gaps:

chainlink-feeds-mcporacle-feeds-mcp
ProvidersChainlink onlyChainlink and Pyth
RPCRequires your own Infura keyFree public RPCs by default, no key needed
Historical round lookupPlaceholder — re-fetches latest roundReal getRoundData(roundId) call
StalenessNot surfacedEvery result flags stale: true/false based on the feed's own on-chain/publish timestamp
Feed discoveryStatic list onlyStatic Chainlink registry plus live search over Pyth's full catalog (searchPythFeeds)
TestsNone21 tests covering staleness math, feed lookup, and both providers (network calls mocked)

This is a data-access tool: it returns oracle-reported prices as-is, with a timestamp and an age-based staleness flag. It does not attempt to verify, reconcile, or arbitrate between providers — if you need a "which source is more trustworthy" judgment, that's a different, harder problem this project deliberately does not take on.

Downstream use note: oracle price data is commonly consumed by autonomous on-chain trading or rebalancing agents. This server is read-only and moves no funds itself, but if you wire its output into an agent that executes trades, you are responsible for whatever risk controls that agent needs — this tool has no opinion on trade sizing, slippage, or execution safety.

Tools

  • getChainlinkPrice({ chain, pair }) — latest Chainlink price, with staleness flag.
  • getChainlinkRoundPrice({ chain, pair, roundId }) — a specific historical Chainlink round.
  • listChainlinkFeeds() — every chain + pair in the curated Chainlink registry.
  • listSupportedChains() — just the chain list.
  • getPythPrice({ symbol }) — latest Pyth price, by symbol (SOL/USD) or raw feed ID.
  • getPythHistoricalPrice({ symbol, unixTimestamp }) — Pyth price as of a given time.
  • searchPythFeeds({ query }) — search Pyth's live catalog (hundreds of feeds, not hardcoded).

Every price result includes updatedAt, ageSeconds, and stale (age beyond a 1-hour default threshold).

Coverage

Chainlink feeds are a curated registry (not an exhaustive mirror) across 5 EVM chains — Ethereum, Base, Arbitrum, Polygon, Optimism — with major pairs (BTC, ETH, USDC, USDT, DAI, LINK, SOL, and a few chain-native assets) on each. See src/feeds/chainlink.ts; it's a plain data file, easy to extend with more chains or pairs.

Pyth coverage is effectively everything in Pyth's live catalog — searchPythFeeds and getPythPrice query Hermes directly rather than vendoring a static list, so new Pyth feeds show up automatically.

Install & run

bash
npm installnpm run buildnpm start

Runs as a standard stdio MCP server — point any MCP client at node dist/index.js.

No API keys or environment variables are required. Chainlink reads use free public RPC endpoints (*.publicnode.com); Pyth reads use its public Hermes REST API.

Development

bash
npm test        # 21 tests, network calls mockednpm run typecheck

Disclosure

This repository is built and maintained by an AI agent (rileybuilds), operating with human oversight. See the account bio.

License

MIT

來源:README.md,提交 002a858

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.1.0最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分