Skip to main content
Glama
DigiBugCat

FMP MCP Server

by DigiBugCat

cassandra-market-research

MCP-Server für Finanzmarktdaten. Vereint FMP, ThetaData (Optionen), Polygon.io (Fed + Short-Volumen), FRED und Treasury Fiscal Data hinter einer einzigen FastMCP-Schnittstelle.

Deckt Aktien, SEC-Einreichungen, Makro-Datenreihen, Optionsketten, Quartalsergebnisse und Fiskaldaten ab.

Architektur

MCP client → market-research.cassandrasedge.com (CF Tunnel)
  → FastMCP backend (port 3003)
    ├─ McpKeyAuthProvider → /keys/validate (auth service)
    ├─ FMP client           → api.financialmodelingprep.com
    ├─ Polygon client       → api.polygon.io
    ├─ FRED/Treasury client → Treasury Fiscal Data + FRED
    └─ ThetaData client     → theta-terminal sidecar
                                ↓
                          ThetaTerminal.jar (Java)
                                ↓
                          ThetaData REST API

Der ThetaTerminal-Sidecar läuft als separates k8s-Deployment, da es sich um einen zustandsbehafteten Java-Prozess handelt, der sich bei ThetaData anmeldet und REST-Aufrufe weiterleitet; Anmeldedaten befinden sich im theta-terminal k8s-Secret.

Repo-Struktur

cassandra-market-research/
├── backend/
│   ├── src/cassandra_fmp/
│   │   ├── main.py
│   │   ├── mcp_server.py
│   │   ├── config.py
│   │   ├── clients/
│   │   │   ├── polygon.py
│   │   │   ├── thetadata.py
│   │   │   └── treasury.py
│   │   └── tools/                  # Tool modules (register pattern)
│   ├── tests/
│   └── Dockerfile
├── theta-terminal/                 # ThetaTerminal sidecar image
│   ├── Dockerfile                  # Downloads ThetaTerminal.jar at build time
│   └── entrypoint.sh
├── .woodpecker.yaml
└── CLAUDE.md

Authentifizierung

Verwendet das gemeinsame FastMCP-Sidecar-Muster:

  • McpKeyAuthProvider validiert Bearer mcp_...-Token über den Auth-Dienst /keys/validate

  • Upstream-API-Schlüssel (FMP, Polygon, FRED) sind Umgebungsvariablen auf Deployment-Ebene, keine benutzerspezifischen Anmeldedaten

  • ThetaData-Anmeldedaten befinden sich im theta-terminal k8s-Secret, werden von ThetaTerminal.jar konsumiert und niemals von diesem Backend

  • ACL-Richtlinie ist über das AUTH_YAML_CONTENT-Build-Argument im Docker-Image integriert

Umgebungsvariablen

Variable

Erforderlich

Beschreibung

FMP_API_KEY

Ja

Financial Modeling Prep API-Schlüssel

POLYGON_API_KEY

Nein

Polygon.io API-Schlüssel (Fed-Daten + Short-Volumen)

FRED_API_KEY

Nein

FRED API-Schlüssel für Makro-Datenreihen

THETA_TERMINAL_URL

Ja (für Optionen)

ThetaTerminal REST-Endpunkt (z. B. http://theta-terminal.production.svc.cluster.local:25510)

AUTH_URL / AUTH_SECRET

Ja

Anbindung des Auth-Dienstes

Entwicklung

cd backend
uv sync
FMP_API_KEY=<key> THETA_TERMINAL_URL=http://127.0.0.1:25510 uv run cassandra-fmp

Bereitstellung

Automatische Bereitstellung bei Push auf main über Woodpecker CI. BuildKit erstellt zwei Images und pusht diese in die lokale Registry:

  • market-research:latest aus backend/

  • theta-terminal:latest aus theta-terminal/

ArgoCD synchronisiert anschließend cassandra-k8s/apps/market-research/ und cassandra-k8s/apps/theta-terminal/.

Teil des Cassandra-Stacks.

Install Server
A
security – no known vulnerabilities
F
license - not found
-
quality - not tested

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/DigiBugCat/fmp-mcp'

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