Strategy·Developer / quant··7 min read

A Full Options-Research Loop Inside Claude Using Two MCP Servers

Wire both the OptionsBell and StockMarketScan MCP servers into Claude and run the entire alert-to-thesis loop in natural language. Four prompts, one summarized thesis.

If you already live in Claude, you can run an entire options-research loop without leaving the chat. OptionsBell ships an MCP server that exposes the same unusual-flow data as its API, and StockMarketScan ships its own MCP server for screeners, flow views, patterns, and stock reports. Connect both, and Claude becomes the workbench that pulls the alert, adds context, and writes the thesis in one conversation.

Connect both MCP servers

Add each server to your Claude MCP config with the plan credentials you already have. OptionsBell uses the same plan for API and MCP, so your Pro access carries over. Once both are connected, Claude can call OptionsBell tools for flow and StockMarketScan tools for screeners, sentiment, patterns, and reports in the same turn. Setup details are at optionsbell.com/docs/mcp.

The loop below is four prompts. Each one narrows from raw signal to a decision.

Prompt 1: pull the fresh flow

Start by asking OptionsBell for what just moved. You are looking for the raw footprint before you add any interpretation.

Using OptionsBell, list the unusual options activity from the last 30 minutes. Filter to Vol/OI above 3 and premium above 500k. Give me a table of ticker, direction, Vol/OI, premium, IV, and DTE, sorted by premium.

Claude returns a short table of the biggest, most anomalous prints. Pick the one or two that stand out. Suppose the top row is a bullish call sweep on a semiconductor name with Vol/OI of 5.2 and 1.1 million dollars of premium at 28 DTE.

Prompt 2: add screener and report context

Now switch to StockMarketScan and ask what kind of stock this is. This is where a lone print becomes a setup or a red flag.

For that top ticker, use StockMarketScan: which of your screeners does it appear in, what does its stock report say about trend and fundamentals, and is there a current chart pattern? Summarize in five bullet points.

Claude comes back with membership (say, momentum and trend watch, but not solid fundamentals), a trend read, and a recent pattern such as a bull flag near breakout. You now know the flow aligns with momentum and trend, but the fundamentals are not carrying it, which tells you this is a momentum trade, not an investment.

Prompt 3: confirm with the second flow source

Before you commit, ask StockMarketScan's own flow views whether they independently see the same thing. This is the confirm-or-fade check, run inside the same chat.

Still on StockMarketScan, pull your ranked options flow and options-flow sentiment for that ticker. Is it ranking in your flow right now, and does sentiment agree with the bullish read from OptionsBell? Say clearly whether the two sources agree.

If StockMarketScan also ranks the ticker with bullish sentiment, you have two independent flow reads agreeing plus two screeners on side. If its sentiment is mixed, Claude will tell you, and that divergence is your cue to shrink or wait.

Prompt 4: force a written thesis

End by making Claude commit to a summary. Asking for an explicit stance stops you from cherry-picking the bullish parts.

Summarize everything above into a single thesis for this ticker: the options footprint, screener context, second-source confirmation, and the main risk. End with a one-line verdict of confirmed, mixed, or fade, and why.

The output is a compact, sourced thesis you can act on or file. Because Claude pulled every fact from the two MCP servers in this session, the summary is grounded in current data rather than memory.

For readers who prefer code

If you would rather script the OptionsBell half and only use Claude for the StockMarketScan context, the flow endpoint is a plain REST call. The MCP server wraps exactly this data.

import os, urllib.request, json

req = urllib.request.Request(
    "https://optionsbell.com/api/v1/options-flow/unusual?since=2026-06-24T17:00:00Z",
    headers={"X-API-Key": os.environ["OPTIONSBELL_API_KEY"]},
)
with urllib.request.urlopen(req) as r:
    data = json.load(r)

top = sorted(data["results"], key=lambda h: h["premium"], reverse=True)[:3]
for h in top:
    print(h["ticker"], h["direction"], h["vol_oi"], h["premium"], h["dte"])
# feed these tickers to Claude and run prompts 2-4 against StockMarketScan

The whole loop takes a couple of minutes and never leaves the chat window. Connect the servers, run the four prompts on your next alert, and let Claude do the joining. Start at optionsbell.com/docs/mcp, keep StockMarketScan connected alongside it, and create your first alert to feed the loop.