fred_search
Pack: fred · Endpoint: https://gateway.pipeworx.io/fred/mcp
US economic data series matching a keyword search, from the St. Louis Fed’s FRED database.
Tool description as the model sees it
Search for economic data series by keyword. Returns series IDs, titles, and descriptions to identify the right indicator.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
search_text | string | yes | Keywords to search for (e.g., “mortgage rate”, “housing starts”) |
limit | number | no | Max results to return (1-1000, default 20) |
order_by | string | no | Order results by: search_rank, series_id, title, units, frequency, seasonal_adjustment, realtime_start, realtime_end, last_updated, observation_start, observation_end, popularity, group_popularity. Default: search_rank |
sort_order | string | no | Sort direction: asc or desc. Default: asc for search_rank |
_apiKey | string | yes | FRED API key |
Example call
Arguments
{
"search_text": "mortgage rate",
"limit": 10,
"_apiKey": "your-fred-api-key"
}
curl
curl -X POST https://gateway.pipeworx.io/fred/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"fred_search","arguments":{"search_text":"mortgage rate","limit":10,"_apiKey":"your-fred-api-key"}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('fred_search', {
"search_text": "mortgage rate",
"limit": 10,
"_apiKey": "your-fred-api-key"
});
More examples
{
"search_text": "unemployment",
"order_by": "popularity",
"sort_order": "desc",
"_apiKey": "your-fred-api-key"
}
Response shape
Always returns: total_matches, series
| Field | Type | Description |
|---|---|---|
total_matches | number | Total number of matching series |
returned | number | How many series are in series (capped by limit, default 20). |
truncated | boolean | True when returned is less than total_matches. |
note | string | Present when the result list was truncated. |
series | array | List of matching series |
Full JSON Schema
{
"type": "object",
"properties": {
"total_matches": {
"type": "number",
"description": "Total number of matching series"
},
"returned": {
"type": "number",
"description": "How many series are in `series` (capped by `limit`, default 20)."
},
"truncated": {
"type": "boolean",
"description": "True when `returned` is less than `total_matches`."
},
"note": {
"type": "string",
"description": "Present when the result list was truncated."
},
"series": {
"type": "array",
"description": "List of matching series",
"items": {
"type": "object",
"properties": {
"series_id": {
"type": "string",
"description": "FRED series ID"
},
"title": {
"type": "string",
"description": "Full title of the series"
},
"units": {
"type": "string",
"description": "Units of measurement"
},
"frequency": {
"type": "string",
"description": "Data frequency (d, w, m, q, a, etc.)"
},
"seasonal_adjustment": {
"type": "string",
"description": "Seasonal adjustment method"
},
"observation_start": {
"type": "string",
"description": "First available observation date"
},
"observation_end": {
"type": "string",
"description": "Latest available observation date"
},
"popularity": {
"type": "number",
"description": "Series popularity score"
},
"notes": {
"type": [
"string",
"null"
],
"description": "Additional notes about the series"
}
},
"required": [
"series_id",
"title",
"units",
"frequency",
"seasonal_adjustment",
"observation_start",
"observation_end",
"popularity",
"notes"
]
}
}
},
"required": [
"total_matches",
"series"
]
}
Connect
Add this to your MCP client config, or use one-click install buttons:
{
"mcpServers": {
"fred": {
"url": "https://gateway.pipeworx.io/fred/mcp"
}
}
}
See Getting Started for client-specific install steps.