Skip to main content
Glama
DigiBugCat

FMP MCP Server

by DigiBugCat

cassandra-market-research

MCP-сервер финансовых рыночных данных. Объединяет FMP, ThetaData (опционы), Polygon.io (данные ФРС + объем коротких позиций), FRED и Treasury Fiscal Data в рамках единого интерфейса FastMCP.

Охватывает акции, отчетность SEC, макроэкономические показатели, цепочки опционов, доходы и фискальные данные.

Архитектура

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

Sidecar-контейнер ThetaTerminal работает как отдельный k8s-деплоймент, так как это Java-процесс с сохранением состояния, который авторизуется в ThetaData и проксирует REST-запросы; учетные данные хранятся в k8s Secret theta-terminal.

Структура репозитория

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

Аутентификация

Использует общую модель sidecar-контейнера FastMCP:

  • McpKeyAuthProvider проверяет токены Bearer mcp_... через сервис аутентификации /keys/validate

  • API-ключи вышестоящих сервисов (FMP, Polygon, FRED) являются переменными окружения уровня деплоймента, а не учетными данными пользователя

  • Учетные данные ThetaData хранятся в k8s Secret theta-terminal, используются ThetaTerminal.jar и никогда не передаются в этот бэкенд

  • Политика ACL встроена в Docker-образ через аргумент сборки AUTH_YAML_CONTENT

Переменные окружения

Переменная

Обязательно

Описание

FMP_API_KEY

Да

API-ключ Financial Modeling Prep

POLYGON_API_KEY

Нет

API-ключ Polygon.io (данные ФРС + объем коротких позиций)

FRED_API_KEY

Нет

API-ключ FRED для макроэкономических показателей

THETA_TERMINAL_URL

Да (для опционов)

REST-эндпоинт ThetaTerminal (например, http://theta-terminal.production.svc.cluster.local:25510)

AUTH_URL / AUTH_SECRET

Да

Настройка сервиса аутентификации

Разработка

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

Развертывание

Автоматическое развертывание при пуше в ветку main через Woodpecker CI. BuildKit собирает два образа и отправляет их в локальный реестр:

  • market-research:latest из backend/

  • theta-terminal:latest из theta-terminal/

Затем ArgoCD синхронизирует cassandra-k8s/apps/market-research/ и cassandra-k8s/apps/theta-terminal/.

Часть стека Cassandra.

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