Skip to main content
Glama
amahpour

Income Screener MCP Server

by amahpour

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)

Предварительные требования

  1. Активный брокерский счет E*Trade.

  2. API-ключи разработчика с сайта developer.etrade.com. Одобрение производственных ключей занимает 3–5 рабочих дней.

  3. Python 3.10+.

Настройка

pip install -r requirements.txt
cp .env.example .env
# edit .env and set ETRADE_CONSUMER_KEY / ETRADE_CONSUMER_SECRET
python auth.py

auth.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"
    }
  }
}

Инструменты

Инструмент

Описание

get_quote(symbols)

Котировки в реальном времени для 25 символов.

get_option_expire_dates(symbol)

Доступные даты экспирации опционов для символа.

get_option_chain(symbol, chain_type, expiry_date, strike_price_near, num_strikes)

Получение окна цепочки опционов.

screen_put_candidates(symbols, max_strike_pct, min_annual_yield, min_open_interest, months_out)

Ранжирование кандидатов для продажи путов по годовой доходности.

get_portfolio()

Позиции для первого счета в аутентифицированном профиле.

Годовая доходность

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 tools
A
license - permissive license
Not graded
quality - not tested
Not graded
maintenance - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

  • Global stock research, ML forecasts, valuation signals, screeners & portfolio tracking in Claude

  • Trade Robinhood through natural language in Claude Code.

  • Options analytics for AI assistants: chains, IV rank, VRP, Greeks, GEX, expected moves, screeners.

View all MCP Connectors

Appeared in Searches

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/amahpour/pyetrade-mcp'

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