The typical approach to building a stock screener with Claude involves writing a server, connecting to a data API, handling rate limits, and maintaining a database yourself. You do not need to do any of that.
Shibui Finance is a free MCP server that gives Claude direct access to a pre-built financial database. Connect it once, then screen stocks by describing your criteria in plain English. Claude queries nearly 10,000 US equities across 64 years of market data, 31M+ daily prices, quarterly financials, and 56 technical indicators. No code, no API keys, no subscription fees. Works on Claude Desktop and claude.ai, free and paid plans.
Building a stock screener vs using one
Most GitHub repos for "Claude stock screener" follow the same pattern. Pick a data provider (Alpha Vantage, Financial Modeling Prep, Yahoo Finance). Write API integration code. Handle rate limits - Alpha Vantage's free tier allows 25 calls per day, so screening 10,000 stocks takes 400 days. Design a database schema. Normalize the data. Build a query layer. Keep everything running and updated.
This is a real project. People build it. But the result is a narrow screener that checks whatever criteria you hardcoded, against whatever slice of data you managed to download.
Shibui Finance is what that project looks like after it is finished. The database is already built: 64 years of daily prices, quarterly and annual financials, daily valuations, and 56 technical indicators for nearly 10,000 US equities. The MCP server handles queries. Claude writes the screening logic at runtime based on what you ask.
A stock screener built with Claude is not a GitHub repo. It is a conversation with access to a database. You describe the criteria, Claude writes and runs the query, and the results come back in seconds. The screening logic lives in the prompt, not in code.
What natural language screening replaces
Even if you skip the code path, traditional screener tools have their own limitations. Finviz, TradingView, and Koyfin all follow the same model: dropdown filters on current or trailing values. Pick "P/E ratio," set a range, click "Screen." This works well for simple, present-tense questions. "Show me stocks with P/E below 15 right now" takes seconds.
The limitation is temporal. None of these screeners can check whether P/E stayed below 15 for 5 consecutive years. They cannot verify that free cash flow grew every single year, because they only see the latest value or a trailing average. That distinction matters. A company that happened to dip below 15 P/E last quarter after years at 40 looks identical to one that traded below 15 for a decade.
Natural language screening removes the dropdown constraint. You describe a condition in English (including conditions that span multiple periods), and Claude translates it into a query against the full historical dataset. The screen runs across every company, checking every relevant period individually.
Screening for undervalued stocks
"Find stocks with P/E below 15, free cash flow growth every year for 5 years, and market cap above $2B"
Claude breaks this into three separate checks. First, it pulls the current P/E from valuation data. Second, it retrieves 5 years of annual free cash flow from financial statements and verifies that each year exceeded the prior year. Not an average, not a trend line, each individual year checked. Third, it filters by market cap. Companies that pass all three criteria appear in the results with supporting metrics.
This pulls together three data sources across millions of records. The valuation data carries daily P/E history. The financial statements hold quarterly and yearly cash flow figures. The symbols list provides market cap. Traditional screeners cannot express a condition like "grew every year for 5 years" because their filter model has no concept of per-period verification.
Screening for quality and consistency
"Screen for companies where ROE exceeded 15% every quarter for the last 10 years"
This checks 40 individual quarters per company. A single bad quarter disqualifies. That is the point. You want companies with durable quality, not ones that averaged 15% ROE because a few blowout quarters compensated for several weak ones.
Traditional screeners show the latest ROE or a trailing twelve-month figure. They cannot enforce per-period consistency because they do not store the individual quarterly values in a queryable way. The difference matters for quality screening. An investor looking for compounders needs to know that a company delivered consistently, not just that the average looks good.
Combining technical and fundamental signals
"Stocks trading below their 200-day average with RSI under 30, where operating margin was positive every quarter since 2020"
This query combines two different data domains in a single screen. The technical side (200-day moving average, RSI) comes from the pre-calculated technical indicators dataset with 56 indicators updated daily. The fundamental side (quarterly operating margin since 2020) comes from the financial statements dataset. Claude lines them up by symbol and checks both conditions together.
TradingView separates these into different screener tools, its Stock Screener handles fundamentals while Pine Screener handles technicals. Finviz combines both but only on current values. Neither can enforce "positive every quarter since 2020" on the fundamental side while simultaneously checking current technical levels. In Shibui, it is one sentence.
What AI screening cannot do yet
AI screening through Shibui is not real-time. Queries run when you ask them, using end-of-day data. There are no alerts, no notifications, no continuous monitoring. If you need a screener that pings you when RSI drops below 30, Finviz Elite or TradingView handle that. Shibui does not.
The data is US equities only (NYSE and NASDAQ). No international markets, no options, no crypto, no intraday prices. Coverage comes from tier-3 data providers, not Bloomberg or Refinitiv. The data is good for screening and analysis but it is not institutional grade. GICS sector classifications have gaps, particularly for ETFs and closed-end funds.
Shibui does not expose a programmatic API. You cannot call it from your own Python or Node.js code to run screens on a schedule. It is designed for interactive analysis in Claude, not as a backend service for a custom application. If you need automated daily screens, you would need to build your own data pipeline.
The screen is only as good as the data behind it. For full details on coverage, sources, and known limitations, see the data sources page.
Frequently asked questions
Can I build a custom stock screener with MACD, momentum, volume, and price action in Claude?
Yes, without writing code. Describe your criteria in plain English - for example, "find stocks where MACD crossed above the signal line in the last 5 days, RSI is between 40 and 60, volume is above the 50-day average, and the stock is within 5% of its 52-week high." Claude checks all conditions across nearly 10,000 US equities in one pass. Shibui has 56 pre-calculated technical indicators including MACD, RSI, Bollinger Bands, and multiple moving averages. You can combine technical signals with fundamental filters like revenue growth or P/E in a single query.
How do I build a stock screener with Claude?
Connect Shibui Finance, a free MCP server, to Claude. Once connected, describe your screening criteria in plain English. Claude writes and runs the query against nearly 10,000 US equities with 64 years of data. No code, no GitHub repo, no API keys. The screener is the conversation itself - you define the criteria, Claude does the screening. Works on both Claude Desktop and claude.ai.
Is there a free stock screener that works with AI?
Shibui Finance is a free AI stock screener that connects to Claude. Type criteria in plain English and Claude screens nearly 10,000 US companies across 64 years of data. No code required, no GitHub repo to maintain. Requires a Claude account (free or paid).
Can AI screen stocks better than traditional screeners?
AI screening handles temporal conditions that traditional screeners cannot express. For example, it can check whether a company maintained ROE above 15% every quarter for 10 years - 40 individual data points per company across thousands of companies. Traditional screeners check only the latest value or a trailing average. For simple, current-value filters, traditional screeners are faster.
Do I need Node.js or GitHub to build a stock screener with Claude?
No. Shibui Finance handles the data infrastructure - 64 years of US stock data, pre-loaded and indexed. You connect it to Claude in under 2 minutes and screen stocks by typing criteria in English. There is no code to write, no repo to clone, no server to maintain. If you want to build a programmatic screener that runs on a schedule, you would need your own setup. For interactive screening and analysis, Shibui is ready to use.
Can I use Claude to screen stocks with MACD, RSI, and moving averages?
Yes. Shibui Finance includes 56 pre-calculated technical indicators updated daily for every stock: RSI, MACD, Bollinger Bands, SMA, EMA, and more. Describe your technical criteria in plain English. For example, "find stocks where MACD crossed above the signal line this week and RSI is between 40 and 60." Claude checks all conditions across nearly 10,000 US equities in one pass. You can combine technical signals with fundamental filters like revenue growth or P/E in the same query.
Can I backtest a stock screening strategy with Claude?
Yes. With 60+ years of daily price data, you can test whether a screening strategy would have worked historically. Ask something like "what was the average return 30 days after stocks with RSI below 30 and P/E below 15 appeared in the screen?" Claude runs the backtest across the full historical dataset. This is directional backtesting for validating ideas, not a full trading simulation.