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 and GeoFRED API (Federal Reserve Economic 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 and GeoFRED API endpoints (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

GeoFRED (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.0.tar.gz (15.6 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.0-py3-none-any.whl (15.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fred_mcp_server-0.2.0.tar.gz
  • Upload date:
  • Size: 15.6 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.0.tar.gz
Algorithm Hash digest
SHA256 890ab21a006eb94c03be5d8e2055e5db629fae4afbed1852d5ed88676a73a3c9
MD5 36afacd5a97bbba1fb1fcf5f597cc5ce
BLAKE2b-256 7946e87969ee6e277c15846d940d995a43e9407ed07490257295790a68ad37bd

See more details on using hashes here.

Provenance

The following attestation bundles were made for fred_mcp_server-0.2.0.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.0-py3-none-any.whl.

File metadata

File hashes

Hashes for fred_mcp_server-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0779aeea41e90796a3386c67057280f56198f1ac4c06dc16d66d11dd3b4edfa4
MD5 cf909b5a4188d0956e2c29ba2e71e096
BLAKE2b-256 059c98df58de401f08ba79ccfc5d326a40201c448168c631e3f4f7dd82c1f037

See more details on using hashes here.

Provenance

The following attestation bundles were made for fred_mcp_server-0.2.0-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