How to screen stocks in plain English with an AI agent, then check what it found
All outputs are real tool calls to the Equibles MCP server from 21 October 2026, trimmed. A stock screener is a form full of minimum and maximum boxes. With an AI agent you describe the screen in a sentence and it fills in the boxes. The part that still needs you is checking what comes back. Here a

All outputs are real tool calls to the Equibles MCP server from 21 October 2026, trimmed.
A stock screener is a form full of minimum and maximum boxes. With an AI agent you describe the screen in a sentence and it fills in the boxes. The part that still needs you is checking what comes back.
Here are two screens run on the S&P 500, and how I checked one match all the way down to the filings.
In Claude, open Customize → Connectors → Discover, search for Equibles, click Connect to Claude and Authorize, then switch it on in a chat from + → Connectors. In ChatGPT: Plugins, search Equibles, Install plugin. In Claude Code, claude mcp add --transport http equibles https://mcp.equibles.com/mcp and then /mcp to sign in. The free plan covers 100 requests a day; other clients are in the setup docs.
The prompt: "Using Equibles, which S&P 500 stocks had more than $1M of net insider buying in the last 90 days?" The agent calls ScreenStocks with index=sp-500, minNetInsiderBuy=1000000 and sortBy=insiderbuy. Twelve matches:
The screen's definition matters more than its ranking: net insider buying here is open-market purchases minus open-market sales by officers and directors. Insider sentiment is a 0 to 100 score ranked against peers.
A screen is a summary. "Show Boston Scientific's insider transactions since 20 July." GetInsiderTransactions returns every Form 4 row. The purchases:
Those six rows add up to the screener's $9,486,038, give or take a rounded dollar. The same window also has four rows typed Discretionary, worth $4.7M together, from the CFO, an EVP, the chief accounting officer and an indirect holding of Mahoney's. Discretionary is the Form 4 code for a transaction inside an employee benefit plan, not an open-market purchase, and the screen leaves them out. An agent asked to "add up insider buys" from the raw rows would count them unless you say otherwise.
The prices add context: BSX insiders bought at $45.48 to $49.22, and the stock was at $45.58 in the screen.
"S&P 500 stocks with revenue growth over 15%, a P/E under 25, positive net income, and active 13F holders adding shares last quarter, sorted by revenue growth." ScreenStocks with minRevenueGrowth=15, maxPe=25, minNetIncome=0 and minActiveHolderChange=0. 30 matches; the first ten:
Before reading the ranking, read the column definitions the tool returns with it:
Each match is then one question away from its own check: GetFinancialStatement for the quarter behind the growth figure, or GetTopHolders for who was adding.
Using Equibles, screen the S&P 500 for <CONDITIONS>, sorted by <METRIC>. Then, for the top 3 matches: 1. Show the raw rows behind the metric that put them on the list (Form 4 rows, the quarter's financials, or the 13F holders).
2. Recompute the screener's figure from those rows and say whether it matches. 3.
Give each dataset's as-of date. Enter fullscreen mode Exit fullscreen mode What a screen can't tell you One date. Each column has its own vintage: 13F holder data is for the quarter ended 30 June 2026, short interest for the 30 September settlement, insider figures trail 90 days, prices are the latest snapshot, and fundamentals come from the latest filings.
Why. A match says the numbers fit the boxes, not why they do. What's missing.
A stock without data on a bounded metric drops out silently, which can matter more than any row that's there. The same filters, with more columns, are on the Equibles screener, and each stock's filings have their own page, like BSX insider trading.