fred-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FRED_API_KEY | Yes | Your FRED API key |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| fred_categoryB | Get a FRED category. Use category_id=0 for the root category. Returns: dict with key 'categories'. |
| fred_category_childrenC | Get the child categories for a FRED category. Returns: dict with key 'categories'. |
| fred_category_relatedB | Get the related categories for a FRED category. Returns: dict with key 'categories'. |
| fred_category_seriesB | Get the series in a FRED category. Args: category_id: FRED category ID. realtime_start: Start of real-time period (YYYY-MM-DD). realtime_end: End of real-time period (YYYY-MM-DD). limit: Max number of results. offset: Pagination offset. order_by: Sort results by this field. sort_order: "asc" or "desc". filter_variable: Filter by "frequency", "units", or "seasonal_adjustment". filter_value: Value to filter by (depends on filter_variable). tag_names: Semicolon-delimited tag names to filter by (e.g., "usa;gdp"). exclude_tag_names: Semicolon-delimited tag names to exclude. Returns: dict with key 'seriess'. |
| fred_category_tagsA | Get tags for a FRED category, or find related tags. When related_to is set, returns tags related to the specified tag names (uses the category/related_tags endpoint). Otherwise returns all tags for the category. Args: category_id: FRED category ID. realtime_start: Start of real-time period (YYYY-MM-DD). realtime_end: End of real-time period (YYYY-MM-DD). tag_names: Semicolon-delimited tag names to filter by. tag_group_id: Tag group to filter by. search_text: Search tags by text. limit: Max number of results. offset: Pagination offset. order_by: Sort results by this field. sort_order: "asc" or "desc". related_to: Semicolon-delimited tag names to find related tags for. When set, tag_names is ignored and the related_tags endpoint is used. exclude_tag_names: Semicolon-delimited tag names to exclude. Returns: dict with key 'tags'. |
| fred_releasesC | Get all FRED releases of economic data. Returns: dict with key 'releases'. |
| fred_releases_datesB | Get release dates for all FRED releases. Args: realtime_start: Start of real-time period (YYYY-MM-DD). realtime_end: End of real-time period (YYYY-MM-DD). limit: Max number of results. offset: Pagination offset. order_by: Sort results by this field. sort_order: "asc" or "desc". include_release_dates_with_no_data: If true, include release dates that have no data. Returns: dict with key 'release_dates'. |
| fred_releaseB | Get a specific FRED release of economic data. Returns: dict with key 'releases'. |
| fred_release_datesA | Get release dates for a specific FRED release. Args: release_id: FRED release ID. realtime_start: Start of real-time period (YYYY-MM-DD). realtime_end: End of real-time period (YYYY-MM-DD). limit: Max number of results. offset: Pagination offset. sort_order: "asc" or "desc". include_release_dates_with_no_data: If true, include release dates that have no data. Returns: dict with key 'release_dates'. |
| fred_release_seriesA | Get the series on a FRED release. Args: release_id: FRED release ID. realtime_start: Start of real-time period (YYYY-MM-DD). realtime_end: End of real-time period (YYYY-MM-DD). limit: Max number of results. offset: Pagination offset. order_by: Sort results by this field. sort_order: "asc" or "desc". filter_variable: Filter by "frequency", "units", or "seasonal_adjustment". filter_value: Value to filter by (depends on filter_variable). tag_names: Semicolon-delimited tag names to filter by (e.g., "usa;gdp"). exclude_tag_names: Semicolon-delimited tag names to exclude. Returns: dict with key 'seriess'. |
| fred_release_sourcesC | Get the sources for a FRED release. Returns: dict with key 'sources'. |
| fred_release_tagsA | Get tags for a FRED release, or find related tags. When related_to is set, returns tags related to the specified tag names (uses the release/related_tags endpoint). Otherwise returns all tags for the release. Args: release_id: FRED release ID. realtime_start: Start of real-time period (YYYY-MM-DD). realtime_end: End of real-time period (YYYY-MM-DD). tag_names: Semicolon-delimited tag names to filter by. tag_group_id: Tag group to filter by. search_text: Search tags by text. limit: Max number of results. offset: Pagination offset. order_by: Sort results by this field. sort_order: "asc" or "desc". related_to: Semicolon-delimited tag names to find related tags for. When set, tag_names is ignored and the related_tags endpoint is used. exclude_tag_names: Semicolon-delimited tag names to exclude. Returns: dict with key 'tags'. |
| fred_release_tablesA | Get release table trees for a FRED release. Args: release_id: FRED release ID. element_id: Element ID to start the tree from. Omit for the root. include_observation_values: If true, include observation values in the response. observation_date: Observation date (YYYY-MM-DD) for included values. Returns: dict with key 'elements'. |
| fred_seriesB | Get metadata for a FRED series. Returns: dict with key 'seriess' containing a list of series metadata objects. |
| fred_series_searchA | Search for FRED series by text. Args: search_text: Search query (e.g., "GDP", "unemployment rate"). search_type: "full_text" for full-text search, "series_id" to search series IDs. realtime_start: Start of real-time period (YYYY-MM-DD). realtime_end: End of real-time period (YYYY-MM-DD). limit: Max number of results. offset: Pagination offset. order_by: Sort results by this field. sort_order: "asc" or "desc". filter_variable: Filter by "frequency", "units", or "seasonal_adjustment". filter_value: Value to filter by (depends on filter_variable). tag_names: Semicolon-delimited tag names to filter by (e.g., "usa;gdp"). exclude_tag_names: Semicolon-delimited tag names to exclude. Returns: dict with key 'seriess' containing matching series. |
| fred_series_observationsA | Get observations (data values) for a FRED series. Args: series_id: FRED series ID (e.g., "GNPCA", "UNRATE"). realtime_start: Start of real-time period (YYYY-MM-DD). realtime_end: End of real-time period (YYYY-MM-DD). limit: Max number of results. offset: Pagination offset. sort_order: "asc" or "desc" by observation date. observation_start: Start of observation range (YYYY-MM-DD). observation_end: End of observation range (YYYY-MM-DD). units: Data transformation — "lin" (levels), "chg" (change), "ch1" (change from year ago), "pch" (percent change), "pc1" (percent change from year ago), "pca" (compounded annual rate of change), "cch" (continuously compounded rate of change), "cca" (continuously compounded annual rate of change), "log" (natural log). frequency: Aggregation frequency — "d" (daily), "w" (weekly), "bw" (biweekly), "m" (monthly), "q" (quarterly), "sa" (semiannual), "a" (annual). Weekly variants: "wef" (Fri), "weth" (Thu), "wew" (Wed), "wetu" (Tue), "wem" (Mon), "wesu" (Sun), "wesa" (Sat). aggregation_method: How to aggregate — "avg" (average), "sum", "eop" (end of period). output_type: 1=observations by real-time period, 2=all by vintage date, 3=new/revised by vintage date, 4=initial release only. vintage_dates: Comma-separated vintage dates (YYYY-MM-DD). Returns: dict with key 'observations' containing data points with 'date' and 'value' fields. |
| fred_series_categoriesC | Get the categories for a FRED series. Returns: dict with key 'categories'. |
| fred_series_releaseC | Get the release for a FRED series. Returns: dict with key 'releases'. |
| fred_series_tagsC | Get the FRED tags for a series. Args: series_id: FRED series ID (e.g., "GNPCA", "UNRATE"). realtime_start: Start of real-time period (YYYY-MM-DD). realtime_end: End of real-time period (YYYY-MM-DD). order_by: Sort results by this field. sort_order: "asc" or "desc". Returns: dict with key 'tags'. |
| fred_series_search_tagsB | Get the tags for a series search query. Args: series_search_text: Search query to find series (e.g., "GDP", "unemployment"). realtime_start: Start of real-time period (YYYY-MM-DD). realtime_end: End of real-time period (YYYY-MM-DD). tag_names: Semicolon-delimited tag names to filter by. tag_group_id: Tag group to filter by. tag_search_text: Search tags by text. limit: Max number of results. offset: Pagination offset. order_by: Sort results by this field. sort_order: "asc" or "desc". Returns: dict with key 'tags'. |
| fred_series_search_related_tagsC | Get related tags for a series search, filtered by specified tags. Args: series_search_text: Search query to find series (e.g., "GDP", "unemployment"). tag_names: Semicolon-delimited tag names to find related tags for (required). realtime_start: Start of real-time period (YYYY-MM-DD). realtime_end: End of real-time period (YYYY-MM-DD). exclude_tag_names: Semicolon-delimited tag names to exclude. tag_group_id: Tag group to filter by. tag_search_text: Search tags by text. limit: Max number of results. offset: Pagination offset. order_by: Sort results by this field. sort_order: "asc" or "desc". Returns: dict with key 'tags'. |
| fred_series_updatesA | Get recently updated FRED series. Args: realtime_start: Start of real-time period (YYYY-MM-DD). realtime_end: End of real-time period (YYYY-MM-DD). limit: Max number of results. offset: Pagination offset. filter_value: "macro" for macroeconomic series, "regional" for regional, "all" for both. start_time: Filter to series updated on or after this time (YYYYMMDDHhmm format). end_time: Filter to series updated on or before this time (YYYYMMDDHhmm format). Returns: dict with key 'seriess' containing recently updated series. |
| fred_series_vintagedatesB | Get vintage dates (revision history) for a FRED series. Returns: dict with key 'vintage_dates'. |
| fred_sourcesC | Get all sources of economic data. Returns: dict with key 'sources'. |
| fred_sourceC | Get a specific source of economic data. Returns: dict with key 'sources'. |
| fred_source_releasesC | Get the releases for a source. Returns: dict with key 'releases'. |
| fred_tagsB | Get all FRED tags, optionally filtered by name or group. Returns: dict with key 'tags'. |
| fred_related_tagsC | Get tags related to specified semicolon-delimited tag names. Returns: dict with key 'tags'. |
| fred_tags_seriesC | Get series matching all specified semicolon-delimited tag names. Returns: dict with key 'seriess'. |
| geofred_series_groupC | Get metadata for a geographic FRED series. Returns metadata including title, region type, series group ID, seasonality, units, frequency, and date range. Returns: dict with key 'series_group'. |
| geofred_series_dataC | Get cross-sectional regional data for a geographic FRED series. Args: series_id: FRED series ID (e.g., "WIPCPI"). date: Observation date (YYYY-MM-DD). Returns data for this specific date. start_date: Start of date range (YYYY-MM-DD). Returns data from this date onward. Returns: dict with keys 'meta' and 'data'. |
| geofred_regional_dataB | Get cross-sectional regional data by series group. Args: series_group: Series group ID (get from geofred_series_group). region_type: Geographic region type. date: Observation date (YYYY-MM-DD). season: Seasonal adjustment — "SA" (adjusted), "NSA" (not adjusted), "SSA" (smoothed adjusted), "SAAR"/"NSAAR" (annualized rates). units: Unit description string (e.g., "Dollars", "Percent"). start_date: Start of date range (YYYY-MM-DD). frequency: Aggregation frequency. transformation: Data transformation (same codes as series observations units). aggregation_method: How to aggregate — "avg", "sum", "eop". Returns: dict with keys 'meta' and 'data'. |
| geofred_shapesA | Get GeoJSON shape files for geographic region boundaries. Warning: county-level shapes can be very large (several MB of coordinate data). Prefer state or broader region types when possible. Args: shape: Region type for shape boundaries. Returns: GeoJSON FeatureCollection with 'type' and 'features' keys. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/floriancaro/fred-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server