Open-source FRED MCP Server (Federal Reserve Economic Data)
# Add to your Claude Code skills
git clone https://github.com/stefanoamorelli/fred-mcp-serverGuides for using mcp servers skills like fred-mcp-server.
Last scanned: 6/17/2026
{
"issues": [
{
"type": "npm-audit",
"message": "@istanbuljs/load-nyc-config: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "@jest/core: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "@jest/expect: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "@jest/globals: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "@jest/reporters: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "@jest/transform: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "@mintlify/cli: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "@mintlify/common: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "@mintlify/link-rot: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "@mintlify/prebuild: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "@mintlify/previewing: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "@mintlify/scraping: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "@mintlify/validation: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "babel-jest: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "babel-plugin-istanbul: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "create-jest: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "express: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "front-matter: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "jest: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "jest-circus: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "jest-cli: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "jest-config: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "jest-resolve-dependencies: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "jest-runner: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "jest-runtime: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "jest-snapshot: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "js-yaml: JS-YAML: Quadratic-complexity DoS in merge key handling via repeated aliases",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "mintlify: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "qs: qs has a remotely triggerable DoS: qs.stringify crashes with TypeError on null/undefined entries in comma-format arrays when encodeValuesOnly is set",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "release-it: Vulnerability found",
"severity": "high"
},
{
"type": "npm-audit",
"message": "tar: node-tar applies PAX size override to intermediary GNU long-name/long-link headers, causing tar parser interpretation differential (file smuggling)",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "ts-jest: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "undici: Undici: Malicious WebSocket 64-bit length overflows parser and crashes the client",
"severity": "high"
}
],
"status": "WARNING",
"scannedAt": "2026-06-17T09:03:55.281Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}See how fred-mcp-server compares with popular alternatives.
fred-mcp-server is an open-source mcp servers skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by stefanoamorelli. Open-source FRED MCP Server (Federal Reserve Economic Data). It has 120 GitHub stars.
fred-mcp-server returned warnings in SkillsLLM's automated security scan. It has no critical vulnerabilities, but review the flagged issues in the Security Report section before adding it to your workflow.
Clone the repository with "git clone https://github.com/stefanoamorelli/fred-mcp-server" and add it to your Claude Code skills directory (see the Installation section above).
fred-mcp-server is primarily written in TypeScript. It is open-source under stefanoamorelli on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other MCP Servers skills you can browse and compare side by side. Open the MCP Servers category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh fred-mcp-server against similar tools.
No comments yet. Be the first to share your thoughts!
Top skills in this category by stars
Requires a passing catalog security scan. Resolve the flagged issues and resubmit to enable featuring.
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
[!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:
Amorelli, S. (2025). Federal Reserve Economic Data MCP (Model Context Protocol) Server (Version 1.0.2) [Computer software]. Zenodo. https://doi.org/10.5281/zenodo.14536707
BibTeX:
@software{amorelli_2025_14536707,
author = {Amorelli, Stefano},
title = {{Federal Reserve Economic Data MCP (Model Context
Protocol) Server}},
month = jan,
year = 2025,
publisher = {Zenodo},
version = {1.0.2},
doi = {10.5281/zenodo.14536707},
url = {https://doi.org/10.5281/zenodo.14536707}
}
git clone https://github.com/stefanoamorelli/fred-mcp-server.git
cd fred-mcp-server
pnpm install
pnpm build
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:
{
"mcpServers": {
"FRED MCP Server": {
"command": "/usr/bin/node",
"args": [
"<PATH_TO_YOUR_CLONED_REPO>/fred-mcp-server/build/index.js"
],
"env": {
"FRED_API_KEY": "<YOUR_API_KEY>"
}
}
}
}
You can also run the FRED MCP Server using Docker. Add this configuration to your claude_desktop_config.json:
{
"mcpServers": {
"fred-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"FRED_API_KEY=<your-key-here>",
"stefanoamorelli/fred-mcp-server:latest"
],
"env": {}
}
}
}
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:
# Using CLI flag
node build/index.js --http
# Or using environment variable
TRANSPORT=http node build/index.js
# Custom port (default is 3000)
PORT=8080 node build/index.js --http
The server will be available at http://localhost:3000/mcp (or your custom port).
Example client request:
# Initialize session
curl -X POST http://localhost:3000/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"my-client","version":"1.0.0"}}}'
# Use the mcp-session-id from the response header for subsequent requests
curl -X POST http://localhost:3000/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "mcp-session-id: <session-id-from-init>" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'
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: