Skip to main content

MCP server for the FRED (Federal Reserve Economic Data) API

Project description

fred-mcp-server

CI PyPI Python License: MIT

An MCP (Model Context Protocol) server that provides access to the full FRED API (Federal Reserve Economic Data), including the Maps API for regional and geographic data. Use it to search, explore, and retrieve economic data directly within Claude conversations.

Disclaimer: This project is not affiliated with, endorsed by, or connected to the Federal Reserve Bank of St. Louis or any Federal Reserve entity. It is an independent open-source tool that accesses the publicly available FRED API.

Features

  • 33 tools covering all FRED API endpoints including Maps (series, categories, releases, sources, tags, maps)
  • Full parameter support — no artificial limits on pagination or filtering
  • Built-in rate limiting (120 requests/minute)
  • Async HTTP client for efficient request handling

Requirements

Installation

pip install fred-mcp-server

Or with uv:

uv tool install fred-mcp-server

With Docker:

docker build -t fred-mcp-server https://github.com/floriancaro/fred-mcp-server.git

From source:

git clone https://github.com/floriancaro/fred-mcp-server.git
cd fred-mcp-server
pip install -e ".[dev]"

Configuration

After installing, configure the MCP server for your preferred client.

Claude Code (CLI)

Add the server globally (available in all projects):

claude mcp add fred -s user -e FRED_API_KEY=your-api-key-here -- fred-mcp-server

Or add it to a specific project only:

claude mcp add fred -e FRED_API_KEY=your-api-key-here -- fred-mcp-server

Verify it's connected:

claude mcp list

Claude Code (project config)

Alternatively, create a .mcp.json file in your project root:

{
  "mcpServers": {
    "fred": {
      "command": "fred-mcp-server",
      "env": {
        "FRED_API_KEY": "your-api-key-here"
      }
    }
  }
}

A .mcp.json.example file is included in the repo as a template.

Claude Desktop

Add to your Claude Desktop config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "fred": {
      "command": "fred-mcp-server",
      "env": {
        "FRED_API_KEY": "your-api-key-here"
      }
    }
  }
}

Restart Claude Desktop after saving.

Docker

If using the Docker image, replace the command field:

{
  "mcpServers": {
    "fred": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "FRED_API_KEY", "fred-mcp-server"],
      "env": {
        "FRED_API_KEY": "your-api-key-here"
      }
    }
  }
}

Tools

Series

Tool Description
fred_series Get metadata for a series
fred_series_search Search for series by text
fred_series_observations Get data values for a series
fred_series_categories Get categories for a series
fred_series_release Get the release for a series
fred_series_tags Get tags for a series
fred_series_search_tags Get tags matching a search query
fred_series_search_related_tags Get related tags for a search query
fred_series_updates Get recently updated series
fred_series_vintagedates Get vintage dates for a series

Categories

Tool Description
fred_category Get a category (root = 0)
fred_category_children Get child categories
fred_category_related Get related categories
fred_category_series Get series in a category
fred_category_tags Get tags for a category

Releases

Tool Description
fred_releases List all releases
fred_releases_dates Get dates for all releases
fred_release Get a specific release
fred_release_dates Get dates for a release
fred_release_series Get series in a release
fred_release_sources Get sources for a release
fred_release_tags Get tags for a release
fred_release_tables Get release table trees

Sources

Tool Description
fred_sources List all sources
fred_source Get a specific source
fred_source_releases Get releases for a source

Tags

Tool Description
fred_tags List/search all tags
fred_related_tags Get related tags
fred_tags_series Get series matching tags

Maps

Tool Description
geofred_series_group Get metadata for a geographic FRED series
geofred_series_data Get cross-sectional regional data for a geographic series
geofred_regional_data Get cross-sectional regional data by series group
geofred_shapes Get GeoJSON shape files for geographic region boundaries

Example Prompts

Once configured, you can ask Claude things like:

  • "What is the current US GDP growth rate?" (uses fred_series_search + fred_series_observations)
  • "Show me the unemployment rate for the past 10 years" (uses fred_series_observations with observation_start)
  • "What data releases are coming up this week?" (uses fred_releases_dates)
  • "Find all series related to housing starts" (uses fred_series_search)
  • "Compare regional unemployment rates across states" (uses geofred_regional_data)

Development

git clone https://github.com/floriancaro/fred-mcp-server.git
cd fred-mcp-server
pip install -e ".[dev]"

# Run unit tests
python -m pytest tests/test_client.py tests/test_tools.py -v

# Run integration tests (requires FRED_API_KEY)
FRED_API_KEY=your-key python -m pytest tests/test_integration.py -v

Troubleshooting

"FRED_API_KEY environment variable is not set" Ensure the FRED_API_KEY is passed in your MCP configuration's env block, or set it in your shell environment.

Rate limiting The server limits requests to 120 per minute (matching FRED API limits). If you hit the limit, requests will automatically wait — no action needed.

Verifying the server is running

claude mcp list

Contributing

Contributions are welcome! Please open an issue or submit a pull request.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fred_mcp_server-0.2.1.tar.gz (15.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fred_mcp_server-0.2.1-py3-none-any.whl (15.5 kB view details)

Uploaded Python 3

File details

Details for the file fred_mcp_server-0.2.1.tar.gz.

File metadata

  • Download URL: fred_mcp_server-0.2.1.tar.gz
  • Upload date:
  • Size: 15.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fred_mcp_server-0.2.1.tar.gz
Algorithm Hash digest
SHA256 4fa31aa1a6dc3a38b32ad867610eaa9f47c0d85f135e1327d7f235b6bb4a5c03
MD5 ee9078c01c2498c943007017eba650e6
BLAKE2b-256 625469c864e9f4a2a15c05f64a05b842f5cd37ffafa4c4bc87f144ba1db0bb37

See more details on using hashes here.

Provenance

The following attestation bundles were made for fred_mcp_server-0.2.1.tar.gz:

Publisher: publish.yml on floriancaro/fred-mcp-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fred_mcp_server-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for fred_mcp_server-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1ec84844856fc6f295c7758797bc6817e35395984a8656f2fbcd639fb36d6f24
MD5 0cae0d66c559bacdab0439570041566d
BLAKE2b-256 6ebee118d42c60068da0687a5215a234292b6b392ce7f49c5edc846dde9af32c

See more details on using hashes here.

Provenance

The following attestation bundles were made for fred_mcp_server-0.2.1-py3-none-any.whl:

Publisher: publish.yml on floriancaro/fred-mcp-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page