Skip to main content

MCP server that checks options trades for hidden catalysts (earnings, FDA, legal, SEC) before you sell premium

Project description

TickerRisk MCP Server

Check an options trade for hidden catalysts before you sell premium — from inside Claude, ChatGPT, or Cursor.

An MCP server that lets an AI assistant answer questions like "is it safe to sell a 30-day put on HPE?" with real event data instead of a guess.

The problem it solves: a fat option premium is usually the market pricing in a known upcoming event — an earnings report, an FDA decision, a court date — not free money. Most option screeners rank by yield and never check the calendar. This one scores every candidate for catalysts that land inside the expiry window, and filters out the traps.

You:    Is it safe to sell a 4-week put on INTC?

Claude: [calls scan_ticker]
        INTC scores 100/100 (HIGH) over a 4-week window. Earnings land in 4 days,
        inside your expiry. The premium is pricing that gap — 279% annualized on
        the $88 put is compensation for event risk, not an edge.

Why this is different

Risk is horizon-dependent, and that is the whole point. The same stock:

Ticker 1-week window 4-week window Why it changes
AAPL 51 (MEDIUM) 97 (HIGH) Earnings sit in week 3
KO 22 (LOW) 62 (MEDIUM) Earnings enter the window

Sell a weekly and you are fine. Sell a monthly on the same ticker and you have sold straight through an earnings report. A screener that shows one number cannot tell you that.

Install

Claude Desktop

Add to your claude_desktop_config.json:

macOS/Linux~/Library/Application Support/Claude/claude_desktop_config.json Windows%APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "tickerrisk": {
      "command": "uvx",
      "args": ["tickerrisk-mcp"]
    }
  }
}

Restart Claude Desktop. You should see the TickerRisk tools in the tool menu.

Claude Code

claude mcp add tickerrisk -- uvx tickerrisk-mcp

Cursor

In ~/.cursor/mcp.json:

{
  "mcpServers": {
    "tickerrisk": { "command": "uvx", "args": ["tickerrisk-mcp"] }
  }
}

From source

git clone https://github.com/Tickerrisk/tickerrisk-mcp
cd tickerrisk-mcp
pip install -e .
tickerrisk-mcp

Tools

Tool What it answers
scan_ticker "How risky is selling an option on X over the next N weeks?"
find_wheel_candidates "What cash-secured puts can I sell this week without an earnings trap?"
find_covered_calls "What calls can I sell against shares I already own?"
compare_tickers "Which of these stocks is safest to sell premium on right now?"

scan_ticker(ticker, expiry_weeks=4)

Returns a 0–100 catalyst-risk score (higher = riskier) with the events driving it: earnings date and whether it falls in the window, FDA/clinical milestones, legal filings, SEC events, implied volatility, IV Rank, and the expected move.

Bands: ≥70 HIGH · 45–69 MEDIUM · <45 LOW

find_wheel_candidates(week, risk, max_risk, min_put_oi, sector, limit)

Scans the S&P 500 for cash-secured puts and returns only names whose catalyst score over the option's own expiry window is under max_risk. Flags any candidate whose earnings land before expiry.

find_covered_calls(week, risk, max_risk, min_call_oi, sector, limit)

Same gating for the call side. Income is computed from time value only, so in-the-money strikes do not show inflated yields.

compare_tickers(tickers, expiry_weeks=4)

Side-by-side catalyst risk for up to 25 symbols on one horizon.

Access and authentication

No signup needed to start. Access follows tickerrisk.com's normal model:

  • First 24 hours — full access, no account, keyed to your IP
  • After that — a free account at tickerrisk.com adds 14 days
  • The strategy scanners (find_wheel_candidates, find_covered_calls, compare_tickers) read cached data and stay available

To authenticate an existing account, set a token:

{
  "mcpServers": {
    "tickerrisk": {
      "command": "uvx",
      "args": ["tickerrisk-mcp"],
      "env": { "TICKERRISK_TOKEN": "your-jwt-here" }
    }
  }
}

Environment variables

Variable Default Purpose
TICKERRISK_TOKEN (none) JWT for an existing account
TICKERRISK_BASE_URL https://tickerrisk.com Override the API host
TICKERRISK_TIMEOUT 45 Request timeout in seconds

Data and limitations

Being straight about what this is and is not:

  • Catalyst data — earnings dates, SEC filings, court records (CourtListener), ClinicalTrials.gov, and news. Public sources, so incomplete or delayed entries happen.
  • Option premiums are indicative, not live NBBO. Quotes are roughly 15 minutes delayed and estimated where no bid exists (marked in the output). Always confirm in your broker before trading.
  • Outside US market hours (9:30–16:00 ET) quotes go stale and candidate lists thin out. This is upstream data reality, not a bug.
  • The score is not a prediction. It measures scheduled event exposure and volatility. A LOW score does not mean a stock cannot drop; it means no known catalyst was found in that window.

Not financial advice. For research only.

How it compares

Option Samurai, Barchart, and Market Chameleon are mature screeners with far more filters and real-time data feeds — if you want depth of screening, use those. What none of them do is check whether a scheduled catalyst falls inside your specific expiry window and gate results on it. That single check is what this tool exists for, and it is the reason a 100/100 INTC shows up as a warning rather than the top yield pick.

Links

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tickerrisk_mcp-0.1.0.tar.gz (10.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tickerrisk_mcp-0.1.0-py3-none-any.whl (12.0 kB view details)

Uploaded Python 3

File details

Details for the file tickerrisk_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: tickerrisk_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 10.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for tickerrisk_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ba0005e4c87b2d57f848bcc7b8be1467955fab13116a32fd1ba65e396c6e382b
MD5 3289bf0548824932d2b55862207ea946
BLAKE2b-256 4669c6e8a5d5aa8a0c7e9d4d33d1c7a774393e09b83539a6df177fab1fdc1eac

See more details on using hashes here.

File details

Details for the file tickerrisk_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: tickerrisk_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 12.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for tickerrisk_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 717febbe73ef27f45137d29bb99d8e2eda28138c259f467e21f3b449be01f939
MD5 f1676188bbfed602eac0ad329066377e
BLAKE2b-256 ab6606f31b6fb2cc8c4b630388a41bee7f844a3e61d636578a2a017223335bbc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page