
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.
概覽
透過 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 的網路存取。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Ferric Fred Mcp,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
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:
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 orfred <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:
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):
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):
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版本歷史
1- v0.3.11最新Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分