Open-source FRED MCP Server (Federal Reserve Economic Data)
SaferSkills independently audited Fred Mcp Server (Agent Skill) and scored it 45/100 (orange). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 1 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 1 flagged
A base64 string of 128+ characters appears in a documentation file. Encoded prompt injection hides the hostile instruction in base64 — invisible to keyword filters — and relies on the agent's ability to decode it at runtime. There is no normal authoring reason to embed a multi-hundred-byte base64 blob in skill docs.
*.sig, SIGNATURES) outside the documentation.Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
[!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.14536707BibTeX:
@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}
}To install Federal Reserve Economic Data Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @stefanoamorelli/fred-mcp-server --client claude git clone https://github.com/stefanoamorelli/fred-mcp-server.git
cd fred-mcp-server pnpm install pnpm buildThis 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": [
"<PATH_TO_YOUR_CLONED_REPO>/fred-mcp-server/build/index.js"
],
"env": {
"FRED_API_KEY": "<YOUR_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=<your-key-here>",
"stefanoamorelli/fred-mcp-server:latest"
],
"env": {}
}
}
}Replace <your-key-here> 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
# Or using environment variable
TRANSPORT=http node build/index.js
# Custom port (default is 3000)
PORT=8080 node build/index.js --httpThe 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"}}}'
# Use the mcp-session-id from the response header for subsequent requests
curl -X POST http://localhost:3000/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "mcp-session-id: <session-id-from-init>" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'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:
<details open> <summary><b>Scott G</b> - "One of my breakthrough moments for 'getting' what is possible with Claude was this fred-mcp-server project..."</summary> <br> <a href="https://www.linkedin.com/posts/sgoley_as-many-of-us-continue-to-use-llms-more-and-activity-7372401049669885952-ha6M"> <img src="assets/social/linkedin-sgoley.jpg" alt="LinkedIn post by Scott G - Fintech & Data Analytics Professional" width="600"> </a> <br> <i>Scott G - Fintech & Data Analytics Professional</i> | <a href="https://www.linkedin.com/in/sgoley/">LinkedIn Profile</a> </details>
<details open> <summary><b>John Shelburne</b> - "The FRED MCP Server is a game-changer for financial analysis..."</summary> <br> <a href="https://www.linkedin.com/posts/shelburne_ai-finance-innovation-activity-7341141860880478210-JQe4"> <img src="assets/social/linkedin-john-shelburne.jpg" alt="LinkedIn post by John Shelburne" width="600"> </a> <br> <i>John Shelburne - Fixed Income Fintech Leader with 20+ Years of Experience | Machine Learning & Cloud Computing Specialist</i> | <a href="https://www.linkedin.com/in/shelburne/">LinkedIn Profile</a> </details>
<!-- Add more social media posts here using the format above -->
See TESTING.md for more details.
# Run all tests
pnpm test
# Run specific tests
pnpm test:registryThis 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 [email protected].
© 2025 Stefano Amorelli
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.