Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Federal Reserve Economic Data (FRED) MCP Server - Access all 800,000+ economic time series
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
FRED_API_KEYValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"fred": {
"command": "npx",
"args": [
"-y",
"fred-mcp-server"
],
"env": {
"FRED_API_KEY": "your-value"
}
}
}
}Run this in your terminal
claude mcp add fred --env FRED_API_KEY=your-value -- npx -y fred-mcp-serverFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"fred": {
"command": "npx",
"args": [
"-y",
"fred-mcp-server"
],
"env": {
"FRED_API_KEY": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"fred": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"fred-mcp-server"
],
"env": {
"FRED_API_KEY": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account stefanoamorelli, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: FRED_API_KEY
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (1.0.1) reached the registry 14 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, OpenTakeoff
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Construction takeoff for AI agents: load plans, set scale, measure, count, export with provenance.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
[!IMPORTANT]
*Disclaimer*: This open-source project is not affiliated with, sponsored by, or endorsed by the *Federal Reserve* or the *Federal Reserve Bank of St. Louis*. "FRED" is a registered trademark of the *Federal Reserve Bank of St. Louis*, used here for descriptive purposes only.
A Model Context Protocol (MCP) server providing universal access to all 800,000+ Federal Reserve Economic Data (FRED®) time series through three powerful tools.
https://github.com/user-attachments/assets/66c7f3ad-7b0e-4930-b1c5-a675a7eb1e09
[!TIP]
If you use this project in your research or work, please cite it using the CITATION.cff file, or use the following citation:
APA Format:
Amorelli, S. (2025). Federal Reserve Economic Data MCP (Model Context Protocol) Server (Version 1.0.2) [Computer software]. Zenodo. https://doi.org/10.5281/zenodo.14536707
BibTeX:
@software{amorelli_2025_14536707,
author = {Amorelli, Stefano}, title = {{Federal Reserve Economic Data MCP (Model Context Protocol) Server}}, month = jan, year = 2025, publisher = {Zenodo}, version = {1.0.2}, doi = {10.5281/zenodo.14536707}, url = {https://doi.org/10.5281/zenodo.14536707} }
bash git clone https://github.com/stefanoamorelli/fred-mcp-server.git cd fred-mcp-server bash pnpm install bash pnpm build This server requires a FRED® API key. You can obtain one from the FRED® website.
Install the server, for example, on Claude Desktop, modify the claude_desktop_config.json file and add the following configuration:
{
"mcpServers": { "FRED MCP Server": { "command": "/usr/bin/node", "args": [ " /fred-mcp-server/build/index.js" ], "env": { "FRED_API_KEY": " " } } } }
You can also run the FRED MCP Server using Docker. Add this configuration to your claude_desktop_config.json:
{
"mcpServers": { "fred-mcp": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "FRED_API_KEY= ", "stefanoamorelli/fred-mcp-server:latest" ], "env": {} } } }
Replace with your actual FRED API key.
For network deployments, you can run the server with Streamable HTTP transport instead of stdio:
# Using CLI flag
node build/index.js --http
TRANSPORT=http node build/index.js
PORT=8080 node build/index.js --http
The server will be available at http://localhost:3000/mcp (or your custom port).
Example client request:
# Initialize session
curl -X POST http://localhost:3000/mcp \ -H "Content-Type: application/json" \ -H "Accept: application/json, text/event-stream" \ -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"my-client","version":"1.0.0"}}}'
curl -X POST http://localhost:3000/mcp \ -H "Content-Type: application/json" \ -H "Accept: application/json, text/event-stream" \ -H "mcp-session-id: " \ -d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'
A GET /healthz endpoint reports active sessions, cache statistics, and uptime for load balancers and orchestrators.
All settings are environment variables with sensible defaults:
| Variable | Default | Description |
|---|---|---|
FRED_API_KEY | (required) | Your FRED API key |
FRED_API_TIMEOUT_MS | 30000 | Per-request timeout against the FRED API |
FRED_API_MAX_RETRIES | 3 | Retries for 429/5xx/network failures (exponential backoff with jitter, honors Retry-After) |
FRED_API_RETRY_BASE_DELAY_MS | 500 | Base delay for retry backoff |
FRED_RATE_LIMIT_PER_MINUTE | 120 | Client-side token bucket matching FRED's per-key quota |
FRED_CACHE_TTL_MS | 60000 | TTL for cached API responses (0 disables caching) |
FRED_CACHE_MAX_ENTRIES | 500 | LRU cache capacity |
TRANSPORT | stdio | Set to http for Streamable HTTP transport |
HOST | (all interfaces) | HTTP bind address |
PORT | 3000 | HTTP port |
MCP_MAX_SESSIONS | 100 | Maximum concurrent MCP sessions (new sessions get 503 beyond this) |
MCP_SESSION_TTL_MS | 1800000 | Idle time before a session is reaped |
MCP_SESSION_SWEEP_INTERVAL_MS | 60000 | How often the idle-session reaper runs |
MCP_BODY_LIMIT | 1mb | Maximum accepted JSON body size |
LOG_LEVEL | info | error, warn, info, or debug (logs go to stderr) |
Identical concurrent requests are coalesced into a single upstream call, and successful responses are cached, so multiple sessions share one rate-limit budget efficiently.
This MCP server provides three comprehensive tools to access all 800,000+ FRED® economic data series:
fred_browseDescription: Browse FRED's complete catalog through categories, releases, or sources.
Parameters:
browse_type (required): Type of browsing - "categories", "releases", "sources", "category_series", "release_series"category_id (optional): Category ID for browsing subcategories or series within a categoryrelease_id (optional): Release ID for browsing series within a releaselimit (optional): Maximum number of results (default: 50)offset (optional): Number of results to skip for paginationorder_by (optional): Field to order results bysort_order (optional): "asc" or "desc"fred_searchDescription: Search for FRED economic data series by keywords, tags, or filters.
Parameters:
search_text (optional): Text to search for in series titles and descriptionssearch_type (optional): "full_text" or "series_id"tag_names (optional): Comma-separated list of tag names to filter byexclude_tag_names (optional): Comma-separated list of tag names to excludelimit (optional): Maximum number of results (default: 25)offset (optional): Number of results to skip for paginationorder_by (optional): Field to order by (e.g., "popularity", "last_updated")sort_order (optional): "asc" or "desc"filter_variable (optional): Filter by "frequency", "units", or "seasonal_adjustment"filter_value (optional): Value to filter the variable byfred_get_seriesDescription: Retrieve data for any FRED series by its ID with support for transformations and date ranges.
Parameters:
series_id (required): The FRED series ID (e.g., "GDP", "UNRATE", "CPIAUCSL")observation_start (optional): Start date in YYYY-MM-DD formatobservation_end (optional): End date in YYYY-MM-DD formatlimit (optional): Maximum number of observationsoffset (optional): Number of observations to skipsort_order (optional): "asc" or "desc"units (optional): Data transformation:frequency (optional): Frequency aggregation ("d", "w", "m", "q", "a")aggregation_method (optional): "avg" (average), "sum", or "eop" (end of period)With these three tools, you can:
[!NOTE]
Want to be featured? Tag Stefano Amorelli on LinkedIn or @stefanoamorelli on X in your post about using FRED MCP Server, or submit a PR to add your shoutout!
We're grateful for the community support! Here are some mentions from amazing people:
Scott G - "One of my breakthrough moments for 'getting' what is possible with Claude was this fred-mcp-server project..."
Scott G - Fintech & Data Analytics Professional | LinkedIn Profile
John Shelburne - "The FRED MCP Server is a game-changer for financial analysis..."
John Shelburne - Fixed Income Fintech Leader with 20+ Years of Experience | Machine Learning & Cloud Computing Specialist | LinkedIn Profile
See TESTING.md for more details.
# Run all tests
pnpm test
pnpm test:registry
This open-source project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). This means:
For commercial licensing options or other licensing inquiries, please contact stefano@amorelli.tech.
© 2025 Stefano Amorelli