Federal Reserve Economic Data (FRED) MCP Server - Access all 800,000+ economic time series
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent โ or use 1-click editor setup below.
๐ก Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
[!IMPORTANT] Disclaimer: This open-source project is not affiliated with, sponsored by, or endorsed by the Federal Reserve or the Federal Reserve Bank of St. Louis. "FRED" is a registered trademark of the Federal Reserve Bank of St. Louis, used here for descriptive purposes only.
A Model Context Protocol (MCP) server providing universal access to all 800,000+ Federal Reserve Economic Data (FREDยฎ) time series through three powerful tools.
https://github.com/user-attachments/assets/66c7f3ad-7b0e-4930-b1c5-a675a7eb1e09
[!TIP] If you use this project in your research or work, please cite it using the CITATION.cff file, or use the following citation:
APA Format:
BibTeX:
This server requires a FREDยฎ API key. You can obtain one from the FREDยฎ website.
Install the server, for example, on Claude Desktop, modify the claude_desktop_config.json file and add the following configuration:
You can also run the FRED MCP Server using Docker. Add this configuration to your claude_desktop_config.json:
Replace <your-key-here> with your actual FRED API key.
For network deployments, you can run the server with Streamable HTTP transport instead of stdio:
The server will be available at http://localhost:3000/mcp (or your custom port).
Example client request:
A GET /healthz endpoint reports active sessions, cache statistics, and uptime for load balancers and orchestrators.
All settings are environment variables with sensible defaults:
| Variable | Default | Description |
|---|---|---|
FRED_API_KEY | (required) | Your FRED API key |
FRED_API_TIMEOUT_MS | 30000 | Per-request timeout against the FRED API |
FRED_API_MAX_RETRIES | 3 | Retries for 429/5xx/network failures (exponential backoff with jitter, honors Retry-After) |
FRED_API_RETRY_BASE_DELAY_MS | 500 | Base delay for retry backoff |
FRED_RATE_LIMIT_PER_MINUTE | 120 | Client-side token bucket matching FRED's per-key quota |
FRED_CACHE_TTL_MS | 60000 | TTL for cached API responses (0 disables caching) |
FRED_CACHE_MAX_ENTRIES | 500 | LRU cache capacity |
TRANSPORT | stdio | Set to http for Streamable HTTP transport |
HOST | (all interfaces) | HTTP bind address |
PORT | 3000 | HTTP port |
MCP_MAX_SESSIONS | 100 | Maximum concurrent MCP sessions (new sessions get 503 beyond this) |
MCP_SESSION_TTL_MS | 1800000 | Idle time before a session is reaped |
MCP_SESSION_SWEEP_INTERVAL_MS | 60000 | How often the idle-session reaper runs |
MCP_BODY_LIMIT | 1mb | Maximum accepted JSON body size |
LOG_LEVEL | info | error, warn, info, or debug (logs go to stderr) |
Identical concurrent requests are coalesced into a single upstream call, and successful responses are cached, so multiple sessions share one rate-limit budget efficiently.
This MCP server provides three comprehensive tools to access all 800,000+ FREDยฎ economic data series:
fred_browseDescription: Browse FRED's complete catalog through categories, releases, or sources.
Parameters:
browse_type (required): Type of browsing - "categories", "releases", "sources", "category_series", "release_series"category_id (optional): Category ID for browsing subcategories or series within a categoryrelease_id (optional): Release ID for browsing series within a releaselimit (optional): Maximum number of results (default: 50)offset (optional): Number of results to skip for paginationorder_by (optional): Field to order results bysort_order (optional): "asc" or "desc"fred_searchDescription: Search for FRED economic data series by keywords, tags, or filters.
Parameters:
search_text (optional): Text to search for in series titles and descriptionssearch_type (optional): "full_text" or "series_id"tag_names (optional): Comma-separated list of tag names to filter byexclude_tag_names (optional): Comma-separated list of tag names to excludelimit (optional): Maximum number of results (default: 25)offset (optional): Number of results to skip for paginationorder_by (optional): Field to order by (e.g., "popularity", "last_updated")sort_order (optional): "asc" or "desc"filter_variable (optional): Filter by "frequency", "units", or "seasonal_adjustment"filter_value (optional): Value to filter the variable byfred_get_seriesDescription: Retrieve data for any FRED series by its ID with support for transformations and date ranges.
Parameters:
series_id (required): The FRED series ID (e.g., "GDP", "UNRATE", "CPIAUCSL")observation_start (optional): Start date in YYYY-MM-DD formatobservation_end (optional): End date in YYYY-MM-DD formatlimit (optional): Maximum number of observationsoffset (optional): Number of observations to skipsort_order (optional): "asc" or "desc"units (optional): Data transformation:
frequency (optional): Frequency aggregation ("d", "w", "m", "q", "a")aggregation_method (optional): "avg" (average), "sum", or "eop" (end of period)With these three tools, you can:
[!NOTE] Want to be featured? Tag Stefano Amorelli on LinkedIn or @stefanoamorelli on X in your post about using FRED MCP Server, or submit a PR to add your shoutout!
We're grateful for the community support! Here are some mentions from amazing people:
No reviews yet โ be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/fred-mcp-server)<a href="https://allmcps.com/mcp/fred-mcp-server"><img src="https://allmcps.com/api/badge/fred-mcp-server?style=directory" alt="Fred MCP Server on AllMCPs" /></a>