FMP MCP Server
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 APISidecar-контейнер 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/validateAPI-ключи вышестоящих сервисов (FMP, Polygon, FRED) являются переменными окружения уровня деплоймента, а не учетными данными пользователя
Учетные данные ThetaData хранятся в k8s Secret
theta-terminal, используются ThetaTerminal.jar и никогда не передаются в этот бэкендПолитика ACL встроена в Docker-образ через аргумент сборки
AUTH_YAML_CONTENT
Переменные окружения
Переменная | Обязательно | Описание |
| Да | API-ключ Financial Modeling Prep |
| Нет | API-ключ Polygon.io (данные ФРС + объем коротких позиций) |
| Нет | API-ключ FRED для макроэкономических показателей |
| Да (для опционов) | REST-эндпоинт ThetaTerminal (например, |
| Да | Настройка сервиса аутентификации |
Разработка
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.
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