Income Screener MCP Server
MCP-сервер Income Screener
Python-сервер MCP, который подключает Claude к E*Trade через pyetrade для проведения торговых исследований, ориентированных на получение дохода:
Котировки в реальном времени (акции, привилегированные акции, baby bonds)
Поиск цепочек опционов
Скрининг кандидатов для продажи путов с фильтрами годовой доходности
Мониторинг позиций портфеля
Архитектура
Claude (Claude Code / Claude Desktop)
↓ MCP protocol (stdio)
server.py (FastMCP + pyetrade)
↓ OAuth1 REST
E*Trade API (api.etrade.com)Предварительные требования
Активный брокерский счет E*Trade.
API-ключи разработчика с сайта developer.etrade.com. Одобрение производственных ключей занимает 3–5 рабочих дней.
Python 3.10+.
Настройка
pip install -r requirements.txt
cp .env.example .env
# edit .env and set ETRADE_CONSUMER_KEY / ETRADE_CONSUMER_SECRET
python auth.pyauth.py выполняет процесс OAuth1: выводит URL (и пытается открыть его в браузере), вы авторизуете приложение на сайте E*Trade, вставляете проверочный код обратно в терминал, и полученные токены доступа записываются в .env.
Примечание: Токены доступа E*Trade истекают в полночь по восточному времени (ET). Запускайте
python auth.pyкаждое утро перед использованием сервера.
Запуск сервера
python server.pyСервер использует протокол MCP через stdio и предназначен для запуска MCP-клиентом (Claude Desktop, Claude Code и т. д.), а не для интерактивного использования.
Конфигурация Claude Desktop
Добавьте в claude_desktop_config.json:
{
"mcpServers": {
"income-screener": {
"command": "python",
"args": ["server.py"],
"cwd": "/home/amahpour/code/pyetrade-mcp"
}
}
}Инструменты
Инструмент | Описание |
| Котировки в реальном времени для 25 символов. |
| Доступные даты экспирации опционов для символа. |
| Получение окна цепочки опционов. |
| Ранжирование кандидатов для продажи путов по годовой доходности. |
| Позиции для первого счета в аутентифицированном профиле. |
Годовая доходность
screen_put_candidates вычисляет (bid / strike) * (365 / DTE) и фильтрует по min_annual_yield. Результаты сортируются по убыванию доходности.
Списки наблюдения по умолчанию
Если вы вызываете screen_put_candidates без указания symbols, используется встроенный список акций (HPQ, HPE, PFE, T, VZ, F, INTC, DOW, KHC, WBA). Список привилегированных акций/baby bonds определен в server.py для использования с get_quote.
Примечания
server.pyиспользуетdev=False(производственный API). Песочница E*Trade не возвращает реальные данные по цепочкам опционов.Форматирование символов привилегированных акций (например,
JPM-CпротивJPMpC) может различаться; протестируйте на своих тикерах.Вызовы в
screen_put_candidatesсериализуются с задержкой 0,5 с, чтобы не превышать лимиты запросов E*Trade.
Файлы
.
├── README.md
├── LICENSE
├── requirements.txt # pyetrade, mcp[cli], python-dotenv
├── .env.example # template — copy to .env and fill in
├── auth.py # one-shot OAuth token refresh
└── server.py # FastMCP server + all 5 toolsRelated MCP Connectors
Your investing research inside Claude: watchlists, financial ratios, reverse-DCF valuations, investment theses, notes, portfolio, earnings calendar and news for the companies you follow. 70 read and write tools; ask what's on your morning desk, rank a watchlist by ROE, log a trade or save a thesis. OAuth sign-in. Free to start.
Trade Robinhood through natural language in Claude Code.
RENT-ranked covered-call, CSP & wheel income ideas, your positions & Greeks. Never places orders.
- Trade ItOAuthapp.tradeit
Connect brokerage accounts to AI assistants: holdings, orders, asset lookup, and approved trading.