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
- Instalação
- Configuração
- Ferramentas Disponíveis
- Parâmetros
- Exemplos
- Contribuição
- Licença
- Referências
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.
- Primeiro, instale o uv se você ainda não o tiver:
pip install uv
- Clone este repositório:
git clone https://github.com/Jaldekoa/mcp-fredapi.git
cd mcp-fredapi
- 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âmetro | Tipo | Descrição | Valores Permitidos | Valor Padrão | Status |
|---|---|---|---|---|---|
| series_id | str | O ID da série econômica | - | (Obrigatório) | ✅ Funciona |
| sort_order | str | Ordem de classificação das observações | 'asc', 'desc' | 'asc' | ✅ Funciona |
| units | str | Transformação do valor dos dados | 'lin', 'chg', 'ch1', 'pch', 'pc1', 'pca', 'cch', 'cca', 'log' | 'lin' | ✅ Funciona |
| frequency | str | Frequência das observações | 'd', 'w', 'bw', 'm', 'q', 'sa', 'a', 'wef', 'weth', 'wew', 'wetu', 'wem', 'wesu', 'wesa', 'bwew', 'bwem' | None | ✅ Funciona |
| aggregation_method | str | Método de agregação para frequência | 'avg', 'sum', 'eop' | 'avg' | ✅ Funciona |
| output_type | int | Tipo de saída das observações | 1, 2, 3, 4 | 1 | ✅ Funciona |
| realtime_start | str | Início do período em tempo real (AAAA-MM-DD) | - | None | ❌ Não funciona |
| realtime_end | str | Fim do período em tempo real (AAAA-MM-DD) | - | None | ❌ Não funciona |
| limit | int/str | Número máximo de observações a retornar | Entre 1 e 100000 | 10 | ❌ Não funciona |
| offset | int/str | Número de observações a pular do início | - | 0 | ❌ Não funciona |
| observation_start | str | Data de início das observações (AAAA-MM-DD) | - | None | ❌ Não funciona |
| observation_end | str | Data de fim das observações (AAAA-MM-DD) | - | None | ❌ Não funciona |
| vintage_dates | str | Lista 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, andoutput_type`.- ❌ Parâmetros não funcionando:
realtime_start,realtime_end,limit,offset,observation_start,observation_end, evintage_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:
- Faça um fork do repositório
- Crie um branch de recurso (
git checkout -b feature/amazing-feature) - Faça suas alterações
- Faça commit das suas alterações (
git commit -m 'Add an amazing feature') - Envie para o branch (
git push origin feature/amazing-feature) - Abra um Pull Request
Licença
Este projeto é licenciado sob a Licença MIT - consulte o arquivo LICENSE para obter detalhes.
Referências
- Documentação da API FRED - Series Observations - Documentação oficial para o endpoint da API FRED usado neste projeto.
- API FRED - Informações sobre como obter uma chave de API e documentação geral da API.
- Model Context Protocol - Documentação para o Model Context Protocol.