fred-mcp-server
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
- Python 3.10+
- A free FRED API key
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
uv sync --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_observationswithobservation_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
uv sync --dev
# Run unit tests
uv run pytest tests/test_client.py tests/test_tools.py -v
# Run integration tests (requires FRED_API_KEY)
FRED_API_KEY=your-key uv run 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
Metadata
Release files for fred-mcp-server 0.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| fred_mcp_server-0.2.2.tar.gz | 100.2 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| fred_mcp_server-0.2.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 116.0 kB
Release files / fred_mcp_server-0.2.2.tar.gz
| Download URL | fred_mcp_server-0.2.2.tar.gz |
|---|---|
| Size | 100.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0f2ec816ca06573f5cbddae6dba7136c6979ff29989d4d32adf0a14ae82056bb
|
|
BLAKE2b-256 checksum How to use checksums |
5476505f00817a9f329dfa470d5be5ba45e72b02c760b792cbd52d71636de00b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 5, 2026.
Transparency logRelease files / fred_mcp_server-0.2.2-py3-none-any.whl
| Download URL | fred_mcp_server-0.2.2-py3-none-any.whl |
|---|---|
| Size | 15.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ac7af07b178d0ebc42239f640df11ee337cc3898f8cec7e31ef0ae831a39a8c9
|
|
BLAKE2b-256 checksum How to use checksums |
0f9013960e03f951f368082190829fe983a6289b916dc8d990afa5b63a655e28
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 5, 2026.
Transparency logSecurity for fred-mcp-server 0.2.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for fred_mcp_server-0.2.2.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 5, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.