MCP-FREDAPI

MCP-FREDAPI

将 FRED (联邦储备经济数据) API 与模型上下文协议 (MCP) 集成

Jaldekoa

研究与数据
访问服务器

README

MCP-FREDAPI

FRED (联邦储备经济数据) API 与模型上下文协议 (MCP) 集成

目录

简介

MCP-FREDAPI 通过模型上下文协议提供对圣路易斯联邦储备银行 (FRED) 经济数据的访问。 此集成允许像 Claude 这样的人工智能助手在使用 Cursor 或其他 MCP 兼容环境时直接检索经济时间序列数据。

此软件包与官方 FRED API 集成,特别关注 series_observations 端点,该端点提供经济指标的时间序列数据。

安装

有两种安装方法:

方法 1:使用 pip

安装所需的依赖项:

pip install "mcp[cli]" httpx python-dotenv

克隆此存储库:

git clone https://github.com/Jaldekoa/mcp-fredapi.git
cd mcp-fredapi

方法 2:使用 uv (推荐)

推荐使用此方法,因为它与 mcp.json 中显示的配置匹配。

  1. 首先,如果您还没有安装 uv,请安装它:
pip install uv
  1. 克隆此存储库:
git clone https://github.com/Jaldekoa/mcp-fredapi.git
cd mcp-fredapi
  1. 使用 uv 运行服务器(无需单独安装依赖项):
uv run --with mcp --with httpx mcp run server.py

配置

FRED API 密钥

您需要一个 FRED API 密钥,您可以从 FRED API 获取。

在项目根目录中创建一个 .env 文件:

FRED_API_KEY=your_api_key_here

Claude/Cursor 配置

要配置 Cursor 以使用此 MCP 服务器,请将以下内容添加到您的 ~/.cursor/mcp.json 文件中:

{
  "mcpServers": {
    "mcp-fredapi": {
      "command": "uv",
      "args": ["--directory", "/path/to/mcp-fredapi", "run", "--with", "mcp", "--with", "httpx", "mcp", "run", "server.py"]
    }
  }
}

/path/to/mcp-fredapi 替换为您系统上存储库的实际路径。 例如:

{
  "mcpServers": {
    "mcp-fredapi": {
      "command": "uv",
      "args": ["--directory", "/path/to/mcp-fredapi", "run", "--with", "mcp", "--with", "httpx", "mcp", "run", "server.py"]
    }
  }
}

注意:在 Windows 上,您可以在路径中使用正斜杠 / 或双反斜杠 \\

可用工具

get_fred_series_observations

从 FRED 检索经济时间序列观测值。

在 Cursor 中使用 Claude 时,您可以直接使用以下命令访问此工具:

@mcp-fredapi:get_fred_series_observations

参数

get_fred_series_observations 工具接受以下参数。 有关每个参数的完整技术细节,请参阅官方 FRED API 文档

参数 类型 描述 允许值 默认值 状态
series_id str 经济序列的 ID - (必需) ✅ 工作正常
sort_order str 观测值的排序顺序 'asc', 'desc' 'asc' ✅ 工作正常
units str 数据值转换 'lin', 'chg', 'ch1', 'pch', 'pc1', 'pca', 'cch', 'cca', 'log' 'lin' ✅ 工作正常
frequency str 观测值的频率 'd', 'w', 'bw', 'm', 'q', 'sa', 'a', 'wef', 'weth', 'wew', 'wetu', 'wem', 'wesu', 'wesa', 'bwew', 'bwem' None ✅ 工作正常
aggregation_method str 频率的聚合方法 'avg', 'sum', 'eop' 'avg' ✅ 工作正常
output_type int 观测值的输出类型 1, 2, 3, 4 1 ✅ 工作正常
realtime_start str 实时周期的开始 (YYYY-MM-DD) - None ❌ 不工作
realtime_end str 实时周期的结束 (YYYY-MM-DD) - None ❌ 不工作
limit int/str 要返回的最大观测值数量 介于 1 和 100000 之间 10 ❌ 不工作
offset int/str 从开头跳过的观测值数量 - 0 ❌ 不工作
observation_start str 观测值的开始日期 (YYYY-MM-DD) - None ❌ 不工作
observation_end str 观测值的结束日期 (YYYY-MM-DD) - None ❌ 不工作
vintage_dates str 逗号分隔的旧数据日期列表 - None ❌ 不工作

[!WARNING] 参数兼容性说明

由于当前 MCP 实现的限制,只有某些参数可以正常工作:

  • 工作正常的参数series_idsort_orderunitsfrequencyaggregation_methodoutput_type
  • 不工作的参数realtime_startrealtime_endlimitoffsetobservation_startobservation_endvintage_dates

为了获得最佳结果,请在查询中使用工作正常的参数。 未来的更新可能会解决这些限制。

示例

获取美国 GDP 数据

在 Cursor 中使用 Claude 时,您可以这样询问 GDP 数据:

你能从 FRED 获取最新的 GDP 数据吗?

@mcp-fredapi:get_fred_series_observations
{
  "series_id": "GDP"
}

按降序获取 GDP 数据

你能按降序(最新在前)获取 GDP 数据吗?

@mcp-fredapi:get_fred_series_observations
{
  "series_id": "GDP",
  "sort_order": "desc"
}

获取年度 GDP 数据

你能获取年度 GDP 数据吗?

@mcp-fredapi:get_fred_series_observations
{
  "series_id": "GDP",
  "frequency": "a"
}

获取通货膨胀率

要获取消费者价格指数数据,并显示百分比变化:

美国最近的通货膨胀率是多少?

@mcp-fredapi:get_fred_series_observations
{
  "series_id": "CPIAUCSL",
  "units": "pch",
  "frequency": "m"
}

不同的输出格式

以不同的格式显示 GDP 数据。

@mcp-fredapi:get_fred_series_observations
{
  "series_id": "GDP",
  "output_type": 2
}

贡献

欢迎贡献。 请按照以下步骤操作:

  1. Fork 存储库
  2. 创建一个功能分支 (git checkout -b feature/amazing-feature)
  3. 进行更改
  4. 提交更改 (git commit -m 'Add an amazing feature')
  5. 推送到分支 (git push origin feature/amazing-feature)
  6. 打开一个 Pull Request

许可证

此项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅 LICENSE 文件。

参考

推荐服务器

Crypto Price & Market Analysis MCP Server

Crypto Price & Market Analysis MCP Server

一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。

精选
TypeScript
MCP PubMed Search

MCP PubMed Search

用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的服务器。

精选
Python
mixpanel

mixpanel

连接到您的 Mixpanel 数据。 从 Mixpanel 分析查询事件、留存和漏斗数据。

精选
TypeScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Nefino MCP Server

Nefino MCP Server

为大型语言模型提供访问德国可再生能源项目新闻和信息的能力,允许按地点、主题(太阳能、风能、氢能)和日期范围进行筛选。

官方
Python
Vectorize

Vectorize

将 MCP 服务器向量化以实现高级检索、私有深度研究、Anything-to-Markdown 文件提取和文本分块。

官方
JavaScript
Mathematica Documentation MCP server

Mathematica Documentation MCP server

一个服务器,通过 FastMCP 提供对 Mathematica 文档的访问,使用户能够从 Wolfram Mathematica 检索函数文档和列出软件包符号。

本地
Python
kb-mcp-server

kb-mcp-server

一个 MCP 服务器,旨在实现便携性、本地化、简易性和便利性,以支持对 txtai “all in one” 嵌入数据库进行基于语义/图的检索。任何 tar.gz 格式的 txtai 嵌入数据库都可以被加载。

本地
Python
Research MCP Server

Research MCP Server

这个服务器用作 MCP 服务器,与 Notion 交互以检索和创建调查数据,并与 Claude Desktop Client 集成以进行和审查调查。

本地
Python
Cryo MCP Server

Cryo MCP Server

一个API服务器,实现了模型补全协议(MCP),用于Cryo区块链数据提取,允许用户通过任何兼容MCP的客户端查询以太坊区块链数据。

本地
Python