
FRED Economic Data
io.github.danishashkoPublished by GitHub account danishashkov1.0.3Updated Oct 24, 2026
FRED economic data: GDP, inflation, unemployment, rates, and 800k+ Federal Reserve time series.
Overview
Serves Federal Reserve (FRED) economic time series so an assistant can search, pull and transform U.S. and global indicators like GDP, inflation and rates.
- What you can do
- Search 800,000+ FRED series by keyword, ranked by popularity
- Pull observations for a series with date ranges, unit transforms (levels, change, percent change, year-over-year) and frequency aggregation
- Read series metadata such as units, frequency, seasonal adjustment and coverage
- Get a one-call snapshot of key U.S. indicators
- Browse FRED categories and list tracked data releases
- Return results as markdown by default or structured JSON on request
- When to use it
- Useful when you want an assistant to answer questions about U.S. or global economic indicators, compare GDP growth, check inflation, unemployment or Treasury yields, or explore FRED series without looking up IDs by hand.
- Requirements
- Runs locally via npx (npm package fred-economic-mcp) or a manual Python script. Needs Node.js 16+ and Python 3.10+ on the machine, plus a free FRED API key supplied in the FRED_API_KEY environment variable. Network access to the FRED API is required.
Installation
In SourceWeft
- Open FRED Economic Data in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
FRED MCP Server 📊
[npm version] [npm downloads] [Python] [License: MIT]
U.S. and global economic data for Claude Desktop and any MCP-compatible client, powered by FRED (Federal Reserve Economic Data). Search and pull from 800,000+ economic time series — GDP, inflation, unemployment, interest rates, and more — all from natural language.
npm package:
fred-economic-mcp· GitHub repo:danishashko/fred-economic-mcp.
🎯 What You Get
- 🔎 Search 800k+ economic series by keyword
- 📈 Observations with built-in transforms (levels, % change, year-over-year) and frequency aggregation (daily → monthly/quarterly/annual)
- 🧾 Series metadata — units, frequency, seasonal adjustment, coverage, notes
- 🇺🇸 Economic snapshot — key U.S. indicators in one call
- 🗂️ Category browsing to discover data by topic
- 🗓️ Releases tracked by FRED
Every tool returns human-readable markdown by default, or structured JSON on request (response_format: "json"). The server is lightweight (Python standard library + mcp only), applies FRED's transformations server-side so the AI gets clean numbers, and retries automatically when FRED rate-limits.
🔑 Get a Free API Key (required)
FRED requires a free API key. It takes about a minute:
- Create an account at fredaccount.stlouisfed.org and request a key at fredaccount.stlouisfed.org/apikeys.
- Provide it to the server via the
FRED_API_KEYenvironment variable (see config below).
🚀 Quick Start
Add this to your Claude Desktop config and restart Claude:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
On first launch the npx wrapper creates an isolated Python environment and installs the dependencies for you (a one-time step that can take a minute). You only need Python 3.10+ and Node.js 16+ on your machine.
Prefer a global install?
🔧 Available Tools
Every tool also accepts response_format ("markdown", the default, or "json").
get_series_observations transforms (units): lin levels · chg change · ch1 change from year ago · pch percent change · pc1 percent change from year ago · pca compounded annual rate · log natural log.
Frequency aggregation (frequency): empty (native) · d daily · w weekly · m monthly · q quarterly · a annual.
Popular series IDs
You don't need to memorize IDs — search_series finds them — but these come up often:
💬 Example Prompts
Once the server is connected, just ask Claude:
- "How's the U.S. economy doing right now?"
- "What's the current unemployment rate?"
- "Show me year-over-year CPI inflation for the last 12 months."
- "What's the 10-year Treasury yield, and how has it moved this year?"
- "Find FRED series about consumer credit."
- "What's the 10Y-2Y yield spread? Is the yield curve inverted?"
- "Compare real GDP growth over the last 8 quarters."
- "What does the PCEPI series measure, and how often is it updated?"
Example output
Asking "What's year-over-year CPI inflation for the last few months?" runs
get_series_observations with series_id=CPIAUCSL, units=pc1:
🐛 Troubleshooting
"No FRED API key configured"
Set FRED_API_KEY in your MCP client config (see Quick Start) to a free key from fredaccount.stlouisfed.org/apikeys, then restart the client.
"Command not found" / "Python not found"
Make sure Python 3.10+ and Node.js 16+ are installed and on your PATH. On macOS/Linux, try python3.
"FRED is rate-limiting requests" FRED allows 120 requests/minute per key. The server retries automatically; if you still hit it, wait a minute.
Tools not showing up in Claude
- Confirm the config file is valid JSON (no trailing commas).
- Fully quit and reopen Claude Desktop.
- Check that
FRED_API_KEYis set in the server'senvblock.
"FRED rejected the request"
The series ID is probably wrong. Use search_series to find the correct ID, or get_series_info to confirm a series exists.
Using a different model or provider (LiteLLM, OpenRouter, NVIDIA NIM, a local model)
This server never talks to a model. Your client starts it as a local process and
speaks JSON-RPC over stdin/stdout, so changing ANTHROPIC_BASE_URL or swapping the
model behind your client has no effect on it. If tools stop firing after a switch
like that, check two things: the model has to support function calling, and a proxy
configured to drop unsupported parameters can silently strip your tool definitions,
which produces no error at all. Run /mcp in your client (or claude mcp list) to
confirm the server is connected before suspecting the server.
🛠️ Manual Installation (Alternative)
If you would rather run the Python file directly instead of via npx:
1. Download the server and install the dependency
Save fred_mcp.py somewhere on your machine, then:
(or pip3 on macOS/Linux)
2. Point Claude Desktop at it
On Windows use "command": "python" and a path like "C:\\path\\to\\fred_mcp.py" (double backslashes or forward slashes).
3. Restart Claude Desktop.
🔒 Privacy & Rate Limits
- Uses the official FRED API with your own free API key.
- Requests go straight from your machine to FRED. Nothing is stored or proxied.
- FRED rate-limits 120 requests/minute per key; the server retries with backoff on
429. - Intended for personal, educational, and research use.
📝 Notes
- Series IDs are case-insensitive here (they're upper-cased for you), e.g.
unrateworks. - FRED marks missing observations with
.; those are shown asN/A. - The
unitstransforms (e.g.pc1for year-over-year %) are computed by FRED, so the values are authoritative — no client-side math. - Data coverage and frequency vary by series; use
get_series_infoto check before pulling a range.
📋 Changelog
See CHANGELOG.md for the full version history.
📚 Resources
⚖️ Legal Disclaimer
This tool uses the FRED® API but is not endorsed or certified by the Federal Reserve Bank of St. Louis. FRED® is a registered trademark of the Federal Reserve Bank of St. Louis. Use of the FRED API is subject to its Terms of Use.
👤 Author
Daniel Shashko
- GitHub: @danishashko
- LinkedIn: daniel-shashko
- npm: danielshashko
📄 License
MIT © Daniel Shashko
Source: README.md at commit e323fec
Tools
0Version history
1- v1.0.3LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts