Skip to main content
Glama

FRED MCP Server

A local Model Context Protocol server that gives Claude and other MCP clients access to Federal Reserve Economic Data (FRED) — 800,000+ economic time series covering GDP, inflation, employment, interest rates, and more.


Tools

Tool

Description

search_series

Find a series by natural-language query (e.g. "unemployment rate"), returns the most relevant series_ids ordered by popularity.

get_series_info

Metadata for a series — title, units, frequency, date range, and notes.

get_observations

The actual time-series values, with optional transforms (e.g. year-over-year %) and frequency aggregation.


Related MCP server: mcp-fred

Prerequisites


Installation

git clone https://github.com/yifudiao/fred-mcp.git
cd fred-mcp
uv sync

Use with Claude Desktop

From the project directory:

uv run mcp install server.py --name "FRED" -v FRED_API_KEY=your_key

This writes the connector into Claude Desktop's config for you. Fully quit and reopen Claude Desktop (closing the window is not enough) and the FRED tools will appear.

Manual config

Alternatively, edit claude_desktop_config.json directly (Claude Desktop → Settings → Developer → Edit Config):

{
  "mcpServers": {
    "fred": {
      "command": "uv",
      "args": ["--directory", "/ABSOLUTE/PATH/TO/fred-mcp", "run", "server.py"],
      "env": { "FRED_API_KEY": "your_key" }
    }
  }
}

The --directory flag is what makes uv use this project (and its installed dependencies) regardless of where Claude Desktop launches the process from.


Use with Claude Code

claude mcp add fred -s user -e FRED_API_KEY=your_key -- \
  uv --directory /ABSOLUTE/PATH/TO/fred-mcp run server.py
  • -s user makes the server available across all your projects (drop it to scope it to the current project).

  • Verify with claude mcp list, or /mcp inside a session.

For a project-scoped, committable setup, add a .mcp.json to your project root with the same command instead.


Try it out

Example prompts:

  • Using fred, what is the current unemployment rate?

  • Using fred, look at the recession indicators, summarize them in a table and assign a probability of recession in 2026.


Notes & troubleshooting

  • Editing the server: changes to server.py are picked up on the next Claude Desktop restart — no reinstall needed. Don't move or rename the project folder, though; the config points at its absolute path.

  • Never print() to stdout in a tool. stdout is the JSON-RPC channel for stdio transport; use the MCP Context logging methods or write to stderr.

  • Result-size limit: Claude caps tool results at ~150k characters, so get_observations limits the number of points returned. For long daily series, use frequency to aggregate rather than raising the limit.

  • uv: command not found: GUI apps on macOS don't inherit your shell's PATH, so a freshly installed uv in ~/.local/bin may not be found. Fix by using the absolute path to uv (which uv) as the command in your config.

  • Logs: on macOS, see ~/Library/Logs/Claude/mcp-server-*.log for the spawned server's stdout/stderr — the fastest way to diagnose a failed launch.

Available Tools

3 tools
get_observationsA

Get the observations (actual time-series values) for a FRED series.

Returns a compact list of {date, value} points plus metadata. To stay within the client's result-size limit, the point count is capped; if a series has more points than the cap over your window, narrow the date range or aggregate via frequency. A value of "." means the observation is missing for that date.

Args: series_id: The FRED series ID, e.g. "UNRATE". start_date: Inclusive start "YYYY-MM-DD". Omit for the series start. end_date: Inclusive end "YYYY-MM-DD". Omit for the latest. units: Optional transform: "lin" (levels), "chg", "ch1", "pch", "pc1" (year-over-year %), "pca", "cch", "cca", "log". frequency: Optional down-aggregation: "d","w","bw","m","q","sa","a". Omit to use the series' native frequency. sort_order: "asc" (oldest first) or "desc" (newest first). limit: Max points to return (capped at the server maximum).

NameRequiredDescriptionDefault
limitNo
unitsNo
end_dateNo
frequencyNo
series_idYes
sort_orderNoasc
start_dateNo

Output Schema

NameRequiredDescription

No output parameters

get_series_infoA

Get metadata for a specific FRED series (title, units, frequency, range, notes).

Args: series_id: The FRED series ID, e.g. "UNRATE" or "GDPC1".

NameRequiredDescriptionDefault
series_idYes

Output Schema

NameRequiredDescription

No output parameters

search_seriesA

Search FRED for economic data series matching a text query.

Use this first to turn a natural-language request (e.g. "real median household income, seasonally adjusted") into a concrete series_id for get_observations. Results are ordered by popularity.

Args: query: Free-text search, e.g. "unemployment rate" or "10-year treasury". limit: Max number of series to return (1-50).

NameRequiredDescriptionDefault
limitNo
queryYes

Output Schema

NameRequiredDescription
resultYes

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updatesv0.1.0
    • First observedget_observations
    • First observedget_series_info
    • First observedsearch_series

TDQS

A4.5/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: search_series discovers series IDs, get_series_info retrieves metadata for a known series, and get_observations fetches time-series data. There is no overlap or ambiguity between them.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern: search_series, get_series_info, get_observations. The verbs are specific and the objects are clear, making the naming predictable and readable.

Tool Count5/5

With only three tools, the server is tightly scoped for its purpose of accessing FRED economic data. Each tool fills an essential role in the workflow—search, metadata, and observations—without unnecessary additions.

Completeness5/5

The tool set fully covers the core workflow for a read-only economic data API: discover series via search, understand a series via metadata, and retrieve its values. No obvious gaps exist for the stated domain; all necessary operations for accessing FRED data are present.

Maintenance

ActivityInactive
ResponsivenessNo recent community issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that provides access to Federal Reserve Economic Data (FRED), enabling users to retrieve, analyze, and compare economic indicators and time series data through natural language.
    2
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    An MCP server that wraps the Federal Reserve Economic Data (FRED) API, providing access to over 800,000 economic time series like GDP and unemployment. It enables AI agents to search for data, retrieve metadata, and fetch historical observations directly from the St. Louis Fed.
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    Economic data MCP server that connects FRED, BLS, BEA, IMF, World Bank, and ECB to any MCP-compatible client, with built-in methodology rules to guide LLMs in selecting appropriate economic indicators.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A comprehensive MCP server providing access to all FRED API endpoints with intelligent large data handling, project-based storage, and async job processing for AI assistants like Claude.
    MIT