FRED Economic Data

Acesse dados econômicos do Federal Reserve Bank de St. Louis (FRED).

Documentação

MCP-FREDAPI

Integração da API FRED (Federal Reserve Economic Data) com o Model Context Protocol (MCP)

Sumário

Introdução

O MCP-FREDAPI fornece acesso a dados econômicos do Federal Reserve Bank of St. Louis (FRED) por meio do Model Context Protocol. Essa integração permite que assistentes de IA como o Claude recuperem dados de séries temporais econômicas diretamente quando usados com o Cursor ou outros ambientes compatíveis com MCP.

Este pacote integra-se com a API oficial do FRED, focando especificamente no endpoint series_observations que fornece dados de séries temporais para indicadores econômicos.

Instalação

Existem dois métodos de instalação:

Método 1: Usando pip

Instale as dependências necessárias:

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

Clone este repositório:

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

Método 2: Usando uv (Recomendado)

Este método é recomendado, pois corresponde à configuração mostrada em mcp.json.

  1. Primeiro, instale o uv se você ainda não o tiver:
pip install uv
  1. Clone este repositório:
git clone https://github.com/Jaldekoa/mcp-fredapi.git
cd mcp-fredapi
  1. Use o uv para executar o servidor (não é necessário instalar dependências separadamente):
uv run --with mcp --with httpx mcp run server.py

Configuração

Chave da API FRED

Você precisará de uma chave da API FRED, que pode obter em API FRED.

Crie um arquivo .env na raiz do projeto:

FRED_API_KEY=your_api_key_here

Configuração do Claude/Cursor

Para configurar o Cursor para usar este servidor MCP, adicione o seguinte ao seu arquivo ~/.cursor/mcp.json:

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

Substitua /path/to/mcp-fredapi pelo caminho real do repositório no seu sistema. Por exemplo:

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

Nota: No Windows, você pode usar barras normais / ou barras duplas invertidas \\ no caminho.

Ferramentas Disponíveis

get_fred_series_observations

Recupera observações de séries temporais econômicas do FRED.

Ao usar o Claude no Cursor, você pode acessar esta ferramenta diretamente com:

@mcp-fredapi:get_fred_series_observations

Parâmetros

A ferramenta get_fred_series_observations aceita os seguintes parâmetros. Para detalhes técnicos completos sobre cada parâmetro, consulte a documentação oficial da API FRED.

ParâmetroTipoDescriçãoValores PermitidosValor PadrãoStatus
series_idstrO ID da série econômica-(Obrigatório)✅ Funciona
sort_orderstrOrdem de classificação das observações'asc', 'desc''asc'✅ Funciona
unitsstrTransformação do valor dos dados'lin', 'chg', 'ch1', 'pch', 'pc1', 'pca', 'cch', 'cca', 'log''lin'✅ Funciona
frequencystrFrequência das observações'd', 'w', 'bw', 'm', 'q', 'sa', 'a', 'wef', 'weth', 'wew', 'wetu', 'wem', 'wesu', 'wesa', 'bwew', 'bwem'None✅ Funciona
aggregation_methodstrMétodo de agregação para frequência'avg', 'sum', 'eop''avg'✅ Funciona
output_typeintTipo de saída das observações1, 2, 3, 41✅ Funciona
realtime_startstrInício do período em tempo real (AAAA-MM-DD)-None❌ Não funciona
realtime_endstrFim do período em tempo real (AAAA-MM-DD)-None❌ Não funciona
limitint/strNúmero máximo de observações a retornarEntre 1 e 10000010❌ Não funciona
offsetint/strNúmero de observações a pular do início-0❌ Não funciona
observation_startstrData de início das observações (AAAA-MM-DD)-None❌ Não funciona
observation_endstrData de fim das observações (AAAA-MM-DD)-None❌ Não funciona
vintage_datesstrLista de datas de vintage separadas por vírgula-None❌ Não funciona

[!WARNING]

Devido às limitações atuais da implementação do MCP, apenas alguns parâmetros estão funcionando corretamente:

  • ✅ Parâmetros funcionando: series_id, sort_order, units, frequency , aggregation_method, and output_type`.
  • ❌ Parâmetros não funcionando: realtime_start, realtime_end, limit, offset, observation_start, observation_end, e vintage_dates.

Para melhores resultados, use os parâmetros funcionando em suas consultas. Atualizações futuras podem resolver essas limitações.

Exemplos

Obtendo Dados do PIB dos EUA

Ao usar o Claude no Cursor, você pode pedir dados do PIB assim:

Can you get the latest GDP data from FRED?

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

Obtendo Dados do PIB em Ordem Decrescente

Can you get the GDP data in descending order (newest first)?

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

Obtendo Dados Anuais do PIB

Can you get annual GDP data?

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

Obtendo a Taxa de Inflação

Para obter dados do índice de preços ao consumidor com variação percentual:

What's the recent inflation rate in the US?

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

Formato de Saída Diferente

Show me GDP data in a different format.

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

Contribuição

Contribuições são bem-vindas. Siga estes passos:

  1. Faça um fork do repositório
  2. Crie um branch de recurso (git checkout -b feature/amazing-feature)
  3. Faça suas alterações
  4. Faça commit das suas alterações (git commit -m 'Add an amazing feature')
  5. Envie para o branch (git push origin feature/amazing-feature)
  6. Abra um Pull Request

Licença

Este projeto é licenciado sob a Licença MIT - consulte o arquivo LICENSE para obter detalhes.

Referências