fred-economic-mcp

fred-economic-mcp

Enables natural language access to 800,000+ economic time series from FRED, including GDP, inflation, unemployment, and interest rates, with built-in transforms and frequency aggregation.

Category
Visit Server

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:

  1. Create an account at fredaccount.stlouisfed.org and request a key at fredaccount.stlouisfed.org/apikeys.
  2. Provide it to the server via the FRED_API_KEY environment 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
{
  "mcpServers": {
    "fred": {
      "command": "npx",
      "args": ["-y", "fred-economic-mcp"],
      "env": {
        "FRED_API_KEY": "your_free_fred_api_key_here"
      }
    }
  }
}

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?

npm install -g fred-economic-mcp
{
  "mcpServers": {
    "fred": {
      "command": "fred-economic-mcp",
      "env": { "FRED_API_KEY": "your_free_fred_api_key_here" }
    }
  }
}

๐Ÿ”ง Available Tools

Tool What it returns Parameters
search_series Series matching a keyword, ranked by popularity (ID, title, units, frequency) query, limit
get_series_observations The actual data values, with transforms and frequency aggregation series_id, observation_start, observation_end, units, frequency, sort_order, limit
get_series_info Metadata for a series (units, frequency, seasonal adjustment, coverage, notes) series_id
get_economic_snapshot Latest value of key U.S. indicators in one dashboard (none)
browse_category Child categories and popular series within a FRED category category_id
get_releases Economic data releases FRED tracks limit

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:

Series ID Indicator
GDPC1 Real Gross Domestic Product
UNRATE Unemployment Rate
CPIAUCSL Consumer Price Index (CPI)
PCEPI PCE Price Index (the Fed's preferred inflation gauge)
FEDFUNDS Federal Funds Rate
DGS10 10-Year Treasury Yield
T10Y2Y 10-Year minus 2-Year Treasury Spread
PAYEMS Nonfarm Payrolls
MORTGAGE30US 30-Year Fixed Mortgage Rate
UMCSENT Consumer Sentiment (University of Michigan)

๐Ÿ’ฌ 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:

# Consumer Price Index for All Urban Consumers: All Items (CPIAUCSL)

**Units:** Percent change from year ago ยท **Frequency:** m
**Total observations:** 940

**Latest:** 3.39 (2026-04-01)

| Date       | Value |
|------------|-------|
| 2026-04-01 | 3.39  |
| 2026-03-01 | 3.29  |
| 2026-02-01 | 2.43  |

๐Ÿ› 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

  1. Confirm the config file is valid JSON (no trailing commas).
  2. Fully quit and reopen Claude Desktop.
  3. Check that FRED_API_KEY is set in the server's env block.

"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.

๐Ÿ› ๏ธ 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:

pip install mcp

(or pip3 on macOS/Linux)

2. Point Claude Desktop at it

{
  "mcpServers": {
    "fred": {
      "command": "python3",
      "args": ["/absolute/path/to/fred_mcp.py"],
      "env": { "FRED_API_KEY": "your_key_here" }
    }
  }
}

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. unrate works.
  • FRED marks missing observations with .; those are shown as N/A.
  • The units transforms (e.g. pc1 for 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_info to 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

๐Ÿ“„ License

MIT ยฉ Daniel Shashko

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured