Skip to main content
Glama
RyanWang945

self-mcp-server

by RyanWang945

self-mcp-server

FastMCP server for querying FRED financial and macroeconomic data.

Design doc:

Setup

uv sync
$env:FRED_API_KEY = ""
uv run python main.py

Alternatively, create a local .env file from .env.example:

Copy-Item .env.example .env

Then set FRED_API_KEY in .env. The server loads it from environment variables via python-dotenv; the key is never exposed as a tool parameter.

Related MCP server: IMF Data MCP Server

Local MCP Loader Demo

This repo also includes a small local MCP loader demo. The config is in deployments/mcp.local.yaml and follows the same simple stdio shape used by Codex/OpenCode-style MCP configs: server name plus command, args, env, and optional env_files.

The demo loads:

  • fred: this local FRED MCP server via .venv/Scripts/python.exe main.py

  • github: the local Docker image docker.xuanyuan.run/mcp/github:latest

Prepare local secrets:

Copy-Item .env.example .env
Copy-Item deployments/github-mcp/.env.example deployments/github-mcp/.env

Set FRED_API_KEY in .env and GITHUB_PERSONAL_ACCESS_TOKEN in deployments/github-mcp/.env.

Run the demo:

.venv\Scripts\python.exe scripts\demo_load_mcp_servers.py

It initializes both MCP servers, lists their tools, and calls one sample tool on each server.

For HTTP mode, these can also live in .env:

MCP_TRANSPORT=http
MCP_HOST=127.0.0.1
MCP_PORT=8765
MCP_PATH=/mcp
MCP_STATELESS_HTTP=true
MCP_JSON_RESPONSE=true

HTTP mode for curl-based E2E checks:

$env:MCP_TRANSPORT = "http"
$env:MCP_HOST = "127.0.0.1"
$env:MCP_PORT = "8765"
$env:MCP_PATH = "/mcp"
uv run python main.py

Tools

  • fred_search_series

  • fred_get_series

  • fred_get_observations

  • fred_get_latest_observation

  • fred_get_vintage_dates

  • fred_get_canonical_indicators

  • fred_get_macro_snapshot

All tools return a common envelope:

{
  "ok": true,
  "data": {},
  "meta": {
    "source": "FRED",
    "endpoint": "series/observations",
    "cached": false,
    "fetched_at": "2026-05-13T12:00:00Z"
  },
  "request": {},
  "warnings": []
}
F
license - not found
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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/RyanWang945/self-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server