Metadata-Version: 2.4
Name: heyremora
Version: 0.6.1
Summary: MCP server for Remora — options screening, portfolio analytics, the options optimizer (build plan, wheel co-pilot), and strategy comparison via Claude Desktop
License-Expression: MIT
Requires-Python: >=3.10
Requires-Dist: httpx<1.0,>=0.24
Requires-Dist: mcp<2.0,>=1.6
Provides-Extra: test
Requires-Dist: anyio; extra == 'test'
Requires-Dist: pytest; extra == 'test'
Requires-Dist: pytest-anyio; extra == 'test'
Description-Content-Type: text/markdown

# Remora MCP Server

MCP server for Remora — 39 tools and 2 resources for options screening, chain browsing, trade finding, portfolio management, analytics, market data, Saber risk-adjusted income scoring, and the advisor-grade options optimizer (build plan, wheel co-pilot, target models, assignment calibration, multi-account blocks). Connect Claude Desktop, Cursor, or any MCP-compatible AI assistant.

## Tools (39)

| Category | Tool | Description |
|----------|------|-------------|
| Screening | `screen_csp` | Screen for cash-secured puts |
| Screening | `screen_cc` | Screen for covered calls |
| Screening | `screen_credit_spreads` | Screen for credit spreads (bull put / bear call) |
| Screening | `screen_long_calls` | Screen for long call options |
| Screening | `screen_long_puts` | Screen for long put options |
| Screening | `screen_debit_spreads` | Screen for debit spreads (bull call / bear put) |
| Screening | `list_saved_screeners` | List your saved screener configs and their filter settings |
| Trade Finding | `find_trades` | Find best strategies for a ticker given thesis, goal, and capital. Progressive fallback — never returns empty. |
| Trade Finding | `compare_strategies` | Compare CSP vs LEAP strategies side-by-side |
| Market Data | `get_chain` | Browse raw options chain for a ticker with filtering by expiration, type, volume, and open interest |
| Market Data | `get_option_quote` | Get detailed quote for a single option contract — pricing, greeks, activity, valuation, probabilities |
| Market Data | `get_iv_rank` | Get IV rank and IV percentile for any ticker |
| Market Data | `get_technicals` | Get trend, 50/200-day MAs, 13-week range, and support/resistance levels |
| Market Data | `get_earnings` | Get earnings data or upcoming earnings calendar. 5-level fallback chain for reliable data. |
| Market Data | `get_unusual_activity` | Options flow — where big premium is moving, by ticker or market-wide |
| Market Data | `scan_stocks` | Scan stocks by IV rank, valuation, market cap, dividend, sector, signal, and earnings proximity |
| Portfolio | `list_portfolios` | List your portfolios with their IDs (discovery for the tools below) |
| Portfolio | `get_portfolio` | Get portfolio details, metrics, open trades, positions, and spreads |
| Portfolio | `get_positions` | Get stock positions (shares held) |
| Portfolio | `get_portfolio_analytics` | Track-record analytics — win rate, avg P&L, and what entry conditions are working |
| Portfolio | `get_morning_briefing` | Daily snapshot — open positions, unrealized P&L, expirations, and action items |
| Portfolio | `add_trade` | Add a trade (BUY/SELL, PUT/CALL) |
| Portfolio | `close_trade` | Close a trade with exit price |
| Portfolio | `add_spread` | Add a spread (12 types supported) |
| Portfolio | `close_spread` | Close a spread with exit price |
| Portfolio | `add_position` | Add a stock position |
| Portfolio | `refresh_prices` | Refresh live market prices |
| Strategy | `analyze_strategy` | Payoff analysis for any multi-leg strategy — max gain/loss, breakevens, net debit/credit, strategy name |
| Screening | `save_screener_config` | Save the current screener filter set as a named preset |
| Portfolio | `get_trade_dna` | Your trading-style profile from closed trades — sweet-spot delta/DTE/IV and best underlyings |
| Optimizer | `build_plan` | The Build Plan — how to close the gap to a target model with cash-secured puts (and covered calls for income), leading with the decisive integers. Output-only. |
| Optimizer | `list_target_models` | List your saved target model portfolios (the weightings the Build Plan builds toward) |
| Optimizer | `create_target_model` | Create a target model from explicit weights or an equal-weight ticker list |
| Optimizer | `wheel_status` | Wheel co-pilot — per-cycle state, honest effective basis, the next action, Actions Today, and a forward share/premium projection |
| Optimizer | `assignment_calibration` | Learning loop — your realized vs predicted assignment per ticker and delta band |
| Optimizer | `reopt_check` | Whether it's worth re-running the plan and what changed since the last one |
| Optimizer | `block_trades` | Multi-account block sheet with fair (largest-remainder) per-account allocation. Ultimate-tier; output-only. |
| Saber | `screen_by_saber` | Screen the best Saber-scored income trades (CSPs / covered calls) across tickers, ranked by Saber Score. Ultimate-tier. |
| Saber | `get_saber` | Full Saber breakdown for a ticker's contracts — Score, TYE, τ, κ, ψ, σ. Ultimate-tier. |

**Saber Options** is Remora's risk-adjusted income score (Ultimate / Founding). The metrics — **Saber Score**, **TYE** (theta-yield efficiency), **τ** total-secured-yield, **κ** theta-efficiency, **ψ** theta-stability, and **σ** vol-sale-quality — also appear inline on every contract returned by the screeners (`screen_csp`, `screen_cc`, the spread screeners) and the optimizer's candidates, and can be used as the ranking `objective` in `build_plan` / `wheel_status`.

## Example prompts

- "What should I look at today?" → `list_portfolios`, then `get_morning_briefing(portfolio_id)`
- "Build a bull put spread on AAPL at 180/175 for Jul 17 and show me the payoff" → `analyze_strategy(legs=[...])`
- "Screen for CSPs the way I usually trade" → `get_trade_dna()`, then `screen_csp` with the sweet-spot delta/DTE
- "Save this screen as 'weekly income'" → `save_screener_config(name, config)`
- "Generate a build plan for my IRA against a 70% PLTR / 30% SOFI target" → `build_plan(portfolio_id, inline_weights={...})`
- "What wheels are open and what should I do today?" → `wheel_status(portfolio_id)`
- "How well is the assignment model tracking for my account?" → `assignment_calibration(portfolio_id)`
- "Rank the best Saber-scored CSPs across my watchlist" → `screen_by_saber(tickers=[...], side="put")`
- "What's the Saber breakdown on AAPL's July puts?" → `get_saber("AAPL", side="put")`

## Resources (2)

- `remora://watchlists` — List all watchlists and tickers
- `remora://watchlist/{id}` — Get a specific watchlist

## Key Features

- **Filter rejection summaries** — Screeners explain WHY contracts were filtered out when results are empty
- **Progressive fallback** — `find_trades` widens DTE, tries all defined-risk strategies, and returns diagnostics with suggestions
- **5-level earnings fallback** — `get_earnings` chains multiple data sources for reliable coverage
- **Staleness timestamps** — All read tools show when data was last retrieved

## Setup

1. Generate an API key at your account page (Pro subscription required)
2. Install: `pip install heyremora`
3. Set environment variables (`REMORA_API_KEY`, `REMORA_API_URL`) and add to Claude Desktop config

See the full setup guide at `/docs/mcp-setup` on the Remora website.
