返回市场
麦克佩伊德接口

麦克佩伊德接口

作者:Jaldekoa5 星标更新:2025-04-09

项目介绍

MCP-FREDAPI

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

目录

简介

MCP-FREDAPI通过模型上下文协议提供了访问圣路易斯联邦储备银行(FRED)经济数据的功能。此集成允许像Claude这样的AI助手在使用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_idstr经济系列的ID-必填✅ 工作正常
sort_orderstr观测值排序顺序'asc', 'desc''asc'✅ 工作正常
unitsstr数据值转换'lin', 'chg', 'ch1', 'pch', 'pc1', 'pca', 'cch', 'cca', 'log''lin'✅ 工作正常
frequencystr观测值频率'd', 'w', 'bw', 'm', 'q', 'sa', 'a', 'wef', 'weth', 'wew', 'wetu', 'wem', 'wesu', 'wesa', 'bwew', 'bwem'✅ 工作正常
aggregation_methodstr频率聚合方法'avg', 'sum', 'eop''avg'✅ 工作正常
output_typeint观测值输出类型1, 2, 3, 41✅ 工作正常
realtime_startstr实时期开始日期(YYYY-MM-DD)-❌ 不工作
realtime_endstr实时期结束日期(YYYY-MM-DD)-❌ 不工作
limitint/str返回的最大观测值数量在1到100000之间10❌ 不工作
offsetint/str从开头跳过的观测值数量-0❌ 不工作
observation_startstr观测值开始日期(YYYY-MM-DD)-❌ 不工作
observation_endstr观测值结束日期(YYYY-MM-DD)-❌ 不工作
vintage_datesstr逗号分隔的版本日期列表-❌ 不工作

[!警告]

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

  • 工作正常的参数series_id, sort_order, units, frequency, aggregation_methodoutput_type
  • 不工作的参数realtime_start, realtime_end, limit, offset, observation_start, observation_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. 分叉仓库
  2. 创建功能分支 (git checkout -b feature/amazing-feature)
  3. 进行更改
  4. 提交更改 (git commit -m '添加一个惊人的功能')
  5. 推送到分支 (git push origin feature/amazing-feature)
  6. 打开拉取请求

许可

本项目根据MIT许可发布 - 查看LICENSE文件了解详情。

参考文献