Ferric Fred Mcp

io.github.ojhermann-org由 GitHub 帳號 ojhermann-org 發布v0.3.11更新於 Oct 24, 2026

MCP server for FRED (Federal Reserve Economic Data): full read API plus GeoFRED, 34 tools.

已驗證STDIO僅桌面金融資料與分析

概覽

AI 產生的概覽

透過 34 個唯讀工具向助理提供 FRED 經濟資料,涵蓋序列、搜尋、發布、標籤以及 GeoFRED 區域資料。

可以做什麼
這是一個以 stdio 運作的本機 MCP 伺服器,包裝了 FRED 所有讀取端點:序列與觀測值(包括透過即時視窗取得的 ALFRED 時點/版本資料)、搜尋、分類、發布及其巢狀發布表、來源與標籤。它也透過 get_regional_data、get_series_data、get_series_group 等工具涵蓋 GeoFRED/Maps API 的區域資料。每個工具都宣告輸入輸出結構與行為標註,自動分頁可將端點走訪至窮盡,也能以延遲串流方式回傳結果。
適用情境
當助理需要查詢美國及區域經濟指標、歷史序列或時點版本資料來回答問題或撰寫分析時適用。適合研究、報告與資料探索情境,讓助理直接從 FRED 取得數字,而不是依賴記憶。
執行需求
以本機程序執行,使用 cargo install ferric-fred-mcp 安裝(需要 Rust 工具鏈)。需要免費的 FRED API 金鑰,透過環境變數 FRED_API_KEY 提供;缺少該變數伺服器無法啟動。每次資料呼叫都需要連線至 FRED 的網路存取。
安裝前請注意
環境變數 FRED_API_KEY 是機密,必須提供才能啟動伺服器;請勿將其提交至版本控制或共用設定中。所述工具對 FRED 皆為唯讀,不會代替使用者寫入、傳送或刪除資料,但查詢內容與金鑰會傳送至聖路易聯準銀行的服務。

安裝

在 SourceWeft 中

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

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

其他 MCP 客戶端

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

README

ferric-fred

[CI] [License: MIT OR Apache-2.0] [ferric-fred MCP server]

A strongly-typed Rust client for FRED — the Federal Reserve Economic Data service from the Federal Reserve Bank of St. Louis — plus a CLI (with TUI charts) and an MCP server built on top of it.

ferric (iron oxide → rust) + FRED. Iron-clad, typed access to economic data.

Workspace

A Cargo workspace of three crates — each with its own README (the crates.io / docs.rs landing page) that carries the full usage detail:

CrateBinaryWhat it isDetails
ferric-fred—Strongly-typed async FRED clientREADME · docs.rs
ferric-fred-clifredCommand-line tool with ratatui TUI chartsREADME
ferric-fred-mcpfred-mcpMCP server exposing FRED to MCP clientsREADME

Published versions (these badges are the source of truth — the crates version independently, so they can drift out of lockstep):

[ferric-fred] [ferric-fred-cli] [ferric-fred-mcp]

Consumers depend on the library by workspace path, so a breaking change in the library cannot compile-pass its consumers without updating them — that compile-time coupling is the primary "stay in sync" guarantee (versions are managed on top; see the ADRs).

What it covers

The library wraps all of FRED's read endpoints — series and observations (including ALFRED point-in-time / vintage data via a real-time window), search, categories, releases (including the nested release-table tree, with optional inline observation values), sources, and tags — plus the GeoFRED / Maps API (regional data and the geographic shape files to map it, ADR-0025) — behind ergonomic builders, with newtype identifiers, typed enums for FRED's closed value sets, a non-panicking error taxonomy, and auto-pagination (Paginate::send_all walks an endpoint to exhaustion, Paginate::stream yields lazily; --all on the CLI). See ADR-0020 and ADR-0021.

GeoFRED support spans the library, CLI (fred geofred), and MCP (get_regional_data, get_series_data, get_series_group) layers. The one exception is the geographic shapes/file endpoint, which is library/CLI-only — a large projected-GeoJSON blob is poor ergonomics for an MCP tool caller (ADR-0025).

Pick an entry point:

  • Library — cargo add ferric-fred; typed async access from your own code. See the crate README and docs.rs.
  • CLI (fred) — cargo install ferric-fred-cli; search, show metadata, print or chart observations in the terminal, browse categories, releases, sources, and tags, and pull GeoFRED regional data and map shapes (fred geofred). See the crate README or fred <command> --help.
  • MCP server (fred-mcp) — cargo install ferric-fred-mcp; 34 tools over stdio covering the same read surface, for MCP-capable clients (ADR-0010). Each tool declares input and output schemas plus behavioural annotations (ADR-0023). See the crate README.

The MCP server is listed and scored on Glama:

[ferric-fred MCP server]

Development

A Nix flake provides a reproducible toolchain (nix develop, or direnv allow once), but the project builds with a plain Rust toolchain too — Nix supplies the environment, not the build (ADR-0008).

Contributor setup, the fmt/clippy/test/prose gate, the tracked git hooks, and the workflow for adding an endpoint live in CONTRIBUTING.md. CI (ci.yml) runs that same offline gate on every push and PR; a dormant live.yml runs the live FRED tests once an Infisical machine identity is configured (ADR-0016).

Benchmarks

Performance tooling from the org Tech Radar pilot (ADR-0026, issue #42):

sh
# Deserialization microbenches (divan) — the observations parse hot path.cargo bench -p ferric-fred --bench deserialization# Same workload under criterion (the divan-vs-criterion baseline).cargo bench -p ferric-fred --bench deserialization_criterion
# Headless `fred chart` render cost (divan + ratatui TestBackend, no tty).cargo bench -p ferric-fred-cli --bench render
# CLI wall-clock timing (hyperfine): startup + a live fetch-and-render.# The fetch benchmark needs FRED_API_KEY; startup runs offline.scripts/bench-cli.sh                    # add --json DIR to export hyperfine JSON

CI keeps the benches compiling on every PR (cargo bench --no-run), and a separate bench.yml uploads results to Bencher (hosted project ferric-fred) to track them over time and flag regressions on PRs. Bencher has no divan adapter, so it ingests the criterion mirror (rust_criterion) and hyperfine startup (shell_hyperfine); divan stays the fast local harness. BENCHER_API_TOKEN comes from Infisical, so the upload is a no-op until the machine identity is configured — see ADR-0026.

Secrets

The client reads a free FRED API key from the FRED_API_KEY environment variable (get one at https://fredaccount.stlouisfed.org/apikeys). Locally, secrets are injected via Infisical + direnv (ADR-0009):

sh
cp .envrc.example .envrc     # local, git-ignored entry pointinfisical login             # user auth (opens a browser)infisical init              # link this dir → projectdirenv allow                # load the shell + inject secrets on cd-in

Store the key with infisical secrets set FRED_API_KEY="…" --env=dev --path=/shared. No Infisical? Just set it directly in your git-ignored .envrc: export FRED_API_KEY="…" — the library only reads the env var and has no dependency on Infisical.

Architecture decisions

Design decisions are recorded as ADRs in docs/adr/. Start with the index.

License

Dual-licensed under MIT OR Apache-2.0, at your option — the Rust ecosystem default (ADR-0006). See LICENSE-MIT and LICENSE-APACHE. Unless you state otherwise, any contribution you submit is licensed under the same dual terms (see CONTRIBUTING.md).

This covers our code; FRED data itself is subject to the St. Louis Fed's terms of use, and you supply your own API key — the project ships no data and no key.

來源:README.md,提交 46887a7

工具

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

版本歷史

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

評分

已滿足適用檢查項的 50%

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

  • 近 30 天內可連通25 分

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

  • 已宣告認證方式10 分

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

  • 已列出工具15 分

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

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