FRED Economic Data
Accede a datos económicos del Banco de la Reserva Federal de St. Louis (FRED).
Documentación
MCP-FREDAPI
Integración de la API de FRED (Datos Económicos de la Reserva Federal) con el Protocolo de Contexto de Modelo (MCP)
Tabla de Contenidos
- Introducción
- Instalación
- Configuración
- Herramientas Disponibles
- Parámetros
- Ejemplos
- Contribuciones
- Licencia
- Referencias
Introducción
MCP-FREDAPI proporciona acceso a datos económicos del Banco de la Reserva Federal de San Luis (FRED) a través del Protocolo de Contexto de Modelo. Esta integración permite que asistentes de IA como Claude recuperen datos de series temporales económicas directamente cuando se usan con Cursor u otros entornos compatibles con MCP.
Este paquete se integra con la API oficial de FRED, centrándose específicamente en el endpoint de observaciones de series que proporciona datos de series temporales para indicadores económicos.
Instalación
Hay dos métodos de instalación:
Método 1: Usando pip
Instale las dependencias requeridas:
pip install "mcp[cli]" httpx python-dotenv
Clone este repositorio:
git clone https://github.com/Jaldekoa/mcp-fredapi.git
cd mcp-fredapi
Método 2: Usando uv (Recomendado)
Este método es recomendado porque coincide con la configuración mostrada en mcp.json.
- Primero, instale uv si aún no lo tiene:
pip install uv
- Clone este repositorio:
git clone https://github.com/Jaldekoa/mcp-fredapi.git
cd mcp-fredapi
- Use uv para ejecutar el servidor (no es necesario instalar dependencias por separado):
uv run --with mcp --with httpx mcp run server.py
Configuración
Clave de API de FRED
Necesitará una clave de API de FRED, que puede obtener en API de FRED.
Cree un archivo .env en la raíz del proyecto:
FRED_API_KEY=your_api_key_here
Configuración de Claude/Cursor
Para configurar Cursor y usar este servidor MCP, agregue lo siguiente a su archivo ~/.cursor/mcp.json:
{
"mcpServers": {
"mcp-fredapi": {
"command": "uv",
"args": ["--directory", "/path/to/mcp-fredapi", "run", "--with", "mcp", "--with", "httpx", "mcp", "run", "server.py"]
}
}
}
Reemplace /path/to/mcp-fredapi con la ruta real al repositorio en su sistema. Por ejemplo:
{
"mcpServers": {
"mcp-fredapi": {
"command": "uv",
"args": ["--directory", "/path/to/mcp-fredapi", "run", "--with", "mcp", "--with", "httpx", "mcp", "run", "server.py"]
}
}
}
Nota: En Windows, puede usar barras diagonales / o barras diagonales dobles invertidas \\ en la ruta.
Herramientas Disponibles
get_fred_series_observations
Recupera observaciones de series temporales económicas de FRED.
Cuando use Claude en Cursor, puede acceder a esta herramienta directamente con:
@mcp-fredapi:get_fred_series_observations
Parámetros
La herramienta get_fred_series_observations acepta los siguientes parámetros. Para obtener detalles técnicos completos sobre cada parámetro, consulte la documentación oficial de la API de FRED.
| Parámetro | Tipo | Descripción | Valores Permitidos | Valor Predeterminado | Estado |
|---|---|---|---|---|---|
| series_id | str | El ID de la serie económica | - | (Requerido) | ✅ Funciona |
| sort_order | str | Orden de clasificación de las observaciones | 'asc', 'desc' | 'asc' | ✅ Funciona |
| units | str | Transformación del valor de los datos | 'lin', 'chg', 'ch1', 'pch', 'pc1', 'pca', 'cch', 'cca', 'log' | 'lin' | ✅ Funciona |
| frequency | str | Frecuencia de las observaciones | 'd', 'w', 'bw', 'm', 'q', 'sa', 'a', 'wef', 'weth', 'wew', 'wetu', 'wem', 'wesu', 'wesa', 'bwew', 'bwem' | None | ✅ Funciona |
| aggregation_method | str | Método de agregación para la frecuencia | 'avg', 'sum', 'eop' | 'avg' | ✅ Funciona |
| output_type | int | Tipo de salida de las observaciones | 1, 2, 3, 4 | 1 | ✅ Funciona |
| realtime_start | str | Inicio del período en tiempo real (AAAA-MM-DD) | - | None | ❌ No funciona |
| realtime_end | str | Fin del período en tiempo real (AAAA-MM-DD) | - | None | ❌ No funciona |
| limit | int/str | Número máximo de observaciones a devolver | Entre 1 y 100000 | 10 | ❌ No funciona |
| offset | int/str | Número de observaciones a omitir desde el inicio | - | 0 | ❌ No funciona |
| observation_start | str | Fecha de inicio de las observaciones (AAAA-MM-DD) | - | None | ❌ No funciona |
| observation_end | str | Fecha de fin de las observaciones (AAAA-MM-DD) | - | None | ❌ No funciona |
| vintage_dates | str | Lista separada por comas de fechas de cosecha | - | None | ❌ No funciona |
[!ADVERTENCIA]
Debido a limitaciones actuales con la implementación de MCP, solo ciertos parámetros funcionan correctamente:
- ✅ Parámetros que funcionan:
series_id,sort_order,units,frequency, aggregation_method, andoutput_type`.- ❌ Parámetros que no funcionan:
realtime_start,realtime_end,limit,offset,observation_start,observation_endyvintage_dates.Para obtener mejores resultados, use los parámetros que funcionan en sus consultas. Las actualizaciones futuras pueden resolver estas limitaciones.
Ejemplos
Obtener Datos del PIB de EE. UU.
Cuando use Claude en Cursor, puede solicitar datos del PIB de esta manera:
Can you get the latest GDP data from FRED?
@mcp-fredapi:get_fred_series_observations
{
"series_id": "GDP"
}
Obtener Datos del PIB en Orden Descendente
Can you get the GDP data in descending order (newest first)?
@mcp-fredapi:get_fred_series_observations
{
"series_id": "GDP",
"sort_order": "desc"
}
Obtener Datos Anuales del PIB
Can you get annual GDP data?
@mcp-fredapi:get_fred_series_observations
{
"series_id": "GDP",
"frequency": "a"
}
Obtener la Tasa de Inflación
Para obtener datos del índice de precios al consumidor con cambio porcentual:
What's the recent inflation rate in the US?
@mcp-fredapi:get_fred_series_observations
{
"series_id": "CPIAUCSL",
"units": "pch",
"frequency": "m"
}
Formato de Salida Diferente
Show me GDP data in a different format.
@mcp-fredapi:get_fred_series_observations
{
"series_id": "GDP",
"output_type": 2
}
Contribuciones
Las contribuciones son bienvenidas. Siga estos pasos:
- Haga un fork del repositorio
- Cree una rama de características (
git checkout -b feature/amazing-feature) - Realice sus cambios
- Confirme sus cambios (
git commit -m 'Add an amazing feature') - Envíe a la rama (
git push origin feature/amazing-feature) - Abra una Solicitud de Extracción (Pull Request)
Licencia
Este proyecto está licenciado bajo la Licencia MIT: consulte el archivo LICENSE para obtener más detalles.
Referencias
- Documentación de la API de FRED - Observaciones de Series - Documentación oficial para el endpoint de la API de FRED utilizado en este proyecto.
- API de FRED - Información sobre cómo obtener una clave de API y documentación general de la API.
- Protocolo de Contexto de Modelo - Documentación para el Protocolo de Contexto de Modelo.