弗雷德圣路易斯MCP
*作者*:尼科洛·塞内达 \ *联系*: n.ceneda20@imperial.ac.uk \ *网站*: \ *机构*:伦敦帝国理工学院 \ *课程*:金融学博士
描述
该存储库提供了一个MCP服务器,允许MCP兼容的客户端查询和探索来自 弗雷德它为常见的工作流(搜索系列、检索观察结果、浏览类别/版本/标签)提供结构化工具,并为高级用例支持原始端点传递。
支持的API:
- FRED API v1(
/fred/*) - GeoFRED地图API(
/geofred/*) - FRED API v2(
/fred/v2/*)
需求
- python
>=3.11 - 来自的FRED API密钥 FRED API密钥
安装步骤1:克隆和API密钥
第一, cd 进入您想要的目录 mcp-fred 要创建的存储库。然后从终端执行以下命令。
git clone https://github.com/nicoloceneda/mcp-fred.git
cd mcp-fred
python3 -m venv .venv
.venv/bin/pip install -e .创建本地 .env:
cp .env.example .env然后设置:
FRED_API_KEY=your_fred_api_key_here安装步骤2:配置MCP客户端
路径A:Codex CLI
运行一次(注意:您需要更换 /absolute/path/to/ 根据您的实际路径):
codex mcp add fred -- /absolute/path/to/mcp-fred/.venv/bin/python /absolute/path/to/mcp-fred/fred_server.py检查:
codex mcp list
codex mcp get fred成功安装后应显示:
- 在
codex mcp list:fred随着Status=enabled - 在
codex mcp get fred:enabled: true
启动Codex(codex)并验证MCP是否已成功安装(/mcp).
路径B:Claude代码命令行界面
运行一次(注意:您需要更换 /absolute/path/to/ 根据您的实际路径):
claude mcp add --transport stdio fred -- /absolute/path/to/mcp-fred/.venv/bin/python /absolute/path/to/mcp-fred/fred_server.py检查:
claude mcp list
claude mcp get fred启动克劳德代码(claude)并验证MCP是否已成功安装(/mcp).
可选:通用 mcpServers JSON配置
Use this when your MCP client expects a JSON-based manual server configuration (for Claude Code team-shared setup, this is typically .mcp.json).
{
"mcpServers": {
"fred": {
"command": "/absolute/path/to/mcp-fred/.venv/bin/python",
"args": ["/absolute/path/to/mcp-fred/fred_server.py"],
"env": {
"FRED_API_KEY": "your_fred_api_key_here"
}
}
}
}可选快速烟雾测试
Show optional smoke test script
运行此脚本以验证MCP服务器是否启动,stdio MCP连接是否正确初始化,以及是否进行了真正的工具调用(search_series)成功。
cd mcp-fred
.venv/bin/python -
## 例子
Calling MCP explicitly and with Series ID specified.
$ codex OpenAI Codex (v0.101.0) model: gpt-5.3-codex xhigh directory: ~
Use the FRED MCP to retrieve the last 13 values of GS10 and create a matplotlib line chart saved to /Users/nicoloceneda/Desktop/gs10.png.
I’ll fetch the latest 13 GS10 observations via FRED MCP, then generate and save a matplotlib line chart at /Users/nicoloceneda/Desktop/gs10.png.
Called fred.get_observations({"series_id":"GS10","sort_order":"desc","limit":13})
从FRED检索了最后13个GS10观测值,并创建了matplotlib折线图。
保存的文件:/Users/nicoloceneda/桌面/gs10.png
使用的值(最新值优先):
- 2026-01-01: 4.21
- 2025-12-01: 4.14
- 2025-11-01: 4.09
- 2025-10-01: 4.06
- 2025-09-01: 4.12
- 2025-08-01: 4.26
- 2025-07-01: 4.39
- 2025-06-01: 4.38
- 2025-05-01: 4.42
- 2025-04-01: 4.28
- 2025-03-01: 4.28
- 2025-02-01: 4.45
- 2025-01-01: 4.63
MCP生成的图形:

FRED的原始图表:

Without calling MCP explicitly and no Series ID specified.
$ codex OpenAI Codex (v0.101.0) model: gpt-5.3-codex xhigh directory: ~
Tell me the latest value of US GDP (nominal).
I’ll pull the most recent GDP observation from FRED now and report its date and value.
Called fred.get_observations({"series_id":"GDP","limit":1,"sort_order":"desc"})
2025-07-01(即2025年第三季度),最新FRED名义美国国内生产总值(GDP)为31098.027(十亿美元,SAAR)。
## 功能和端点覆盖率
服务器包括专用工具和通用直通工具。
Generic passthrough
- `fred_request(endpoint, params_json)` 为了 `/fred/*`
- `geofred_request(endpoint, params_json)` 为了 `/geofred/*`
- `fred_v2_request(endpoint, params_json)` 为了 `/fred/v2/*`
FRED categories
- `get_category` -> `fred/category`
- `get_category_children` -> `fred/category/children`
- `get_category_related` -> `fred/category/related`
- `get_category_series` -> `fred/category/series`
- `get_category_tags` -> `fred/category/tags`
- `get_category_related_tags` -> `fred/category/related_tags`
FRED releases
- `get_releases` -> `fred/releases`
- `get_releases_dates` -> `fred/releases/dates`
- `get_release` -> `fred/release`
- `get_release_dates` -> `fred/release/dates`
- `get_release_series` -> `fred/release/series`
- `get_release_sources` -> `fred/release/sources`
- `get_release_tags` -> `fred/release/tags`
- `get_release_related_tags` -> `fred/release/related_tags`
- `get_release_tables` -> `fred/release/tables`
FRED series
- `get_series` -> `fred/series`
- `get_series_categories` -> `fred/series/categories`
- `get_observations` -> `fred/series/observations`
- `get_series_observations` ->别名 `get_observations`
- `get_series_release` -> `fred/series/release`
- `search_series` -> `fred/series/search`
- `search_series_by_tags` -> `fred/series/search/tags`
- `search_series_related_tags` -> `fred/series/search/related_tags`
- `get_series_tags` -> `fred/series/tags`
- `get_series_updates` -> `fred/series/updates`
- `get_series_vintage_dates` -> `fred/series/vintagedates`
FRED sources
- `get_sources` -> `fred/sources`
- `get_source` -> `fred/source`
- `get_source_releases` -> `fred/source/releases`
FRED tags
- `get_tags` -> `fred/tags`
- `get_related_tags` -> `fred/related_tags`
- `get_tag_series` -> `fred/tags/series`
GeoFRED maps
- `get_map_shape_file` -> `geofred/shapes/file`
- `get_map_series_group` -> `geofred/series/group`
- `get_map_series_data` -> `geofred/series/data`
- `get_map_regional_data` -> `geofred/regional/data`
FRED v2
- `get_release_observations_v2` -> `fred/v2/release/observations`