# I Let Claude Analyze 500 Stocks—Here's What It Picked

> Source: <https://dev.to/kevin_menesesgonzlez/i-let-claude-analyze-500-stocks-heres-what-it-picked-5cpk>
> Published: 2026-06-21 14:43:02+00:00

"AI picked these stocks" is one of the most repeated claims on FinTwit right now.

Almost none of it is reproducible.

Screenshot of a ChatGPT chat. No data source. No filters. No way to check if the tickers even exist. If you're:

this one's different. Every number below came from a live screen. There's code for developers and a copy-paste prompt for everyone else.

Most "AI stock picking" content fails for one boring reason: the model never touches real data.

You ask an LLM to "analyze the market," and it answers from training data that's months or years stale. It might invent a ticker. It might quote a P/E ratio from memory that hasn't been true since 2023.

Developers discover this too late — usually after publishing a "top 10 AI stock picks" post and getting called out in the comments for a ticker that delisted last year.

The reasoning isn't the problem.

The data pipeline is.

Claude can reason extremely well over structured data — rank by valuation, weigh momentum against volatility, spot a sector cluster.

What it can't do on its own is see the market.

Give it that, and the "AI stock picker" stops being a parlor trick and starts being an actual screening assistant.

EODHD exposes a stock screener as an MCP tool. Instead of scraping pages or hardcoding a REST client, Claude connects directly to it and calls it like any other tool.

Through the MCP connection, Claude gets:

No scraping. No stale CSV exports. No hallucinated tickers — every result is a real, currently-listed instrument.

If you're already using EODHD for other projects, this is the same dataset — just exposed as a tool Claude can call directly instead of a REST endpoint you wrap yourself.

👉 [Explore the EODHD MCP integration](https://eodhd.com/?via=kmg&ref1=Meneses&utm_source=medium&utm_medium=post&utm_campaign=ai-stock-screener-claude-mcp&utm_content=Meneses)

You don't need an API key or a Python environment to test this. If you have Claude with the EODHD connector enabled, paste this prompt directly into the chat:

```
Connect to the EODHD MCP stock screener and run this exact query:

- US-listed stocks only
- Market capitalization above $10 billion
- Average 200-day volume above 1 million shares
- Sort by 5-day return, descending
- Return the top 10 results

For each result, show: ticker, company name, sector, 5-day return %,
and market cap. Then add one sentence identifying any sector pattern
across the list — don't force a narrative if there isn't one.
```

That's it. Claude calls the tool, gets back real rows, and reasons over them the same way it would for the code version below.

A few ways to push it further once you've run the base prompt:

```
Now filter that same list down to only the Technology sector
and explain what's driving the move in plain English.
Re-run the screen but swap 5-day return for market cap above $50B
and dividend yield above 2%. I want value, not momentum.
```

The MCP config is what makes this work for anyone building it into an app instead of chatting it manually.

**MCP server config** (Claude Desktop or API):

```
{
  "mcpServers": {
    "eodhd": {
      "url": "https://mcpv2.eodhd.dev/v2/mcp",
      "type": "url"
    }
  }
}
```

**Calling it via the API**:

``` python
import anthropic

client = anthropic.Anthropic()

response = client.beta.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=2000,
    mcp_servers=[
        {
            "type": "url",
            "url": "https://mcpv2.eodhd.dev/v2/mcp",
            "name": "eodhd-mcp"
        }
    ],
    messages=[{
        "role": "user",
        "content": (
            "Screen US stocks with market cap above $10B and average "
            "200-day volume above 1M shares. Sort by 5-day return descending. "
            "Return the top 10 with sector and a one-line reason for momentum."
        )
    }],
    extra_headers={"anthropic-beta": "mcp-client-2025-04-04"}
)

print(response.content)
```

Behind the scenes, Claude translates the plain-language request into a structured call to the screener tool — filtering by `market_capitalization`

, `avgvol_200d`

, and sorting by `refund_5d_p`

— and gets back real rows, not a guess.

From here you can build:

Filters: US-listed, market cap above $10B, average 200-day volume above 1M shares, sorted by 5-day return.

This wasn't curated. It's the raw output, ranked by Claude after the screener returned the candidates.

| Ticker | Company | Sector | 5d Return | Mkt Cap |
|---|---|---|---|---|
| WDC | Western Digital | Technology | +40.99% | $257B |
| BE | Bloom Energy | Industrials | +32.16% | $93.6B |
| NBIS | Nebius Group | Communication Services | +29.00% | $72.8B |
| CIFR | Cipher Mining | Technology | +28.94% | $11.9B |
| MRNA | Moderna | Healthcare | +28.85% | $25.4B |
| ARM | Arm Holdings | Technology | +28.41% | $469B |
| ENTG | Entegris | Technology | +23.36% | $27.2B |
| STX | Seagate Technology | Technology | +23.29% | $242B |
| CRWV | CoreWeave | Technology | +23.20% | $64.4B |
| ALGM | Allegro Microsystems | Technology | +23.02% | $11B |

Claude's read on the cluster: seven of the ten sit in storage, semiconductors, or AI infrastructure — Western Digital and Seagate riding a hard-drive demand spike, Arm and Entegris tied to the chip cycle, CoreWeave and Nebius both pure AI-compute plays.

That's not Claude being clever. That's the screen surfacing a real sector rotation, and Claude naming the pattern instead of leaving you to spot it in a spreadsheet.

Moderna is the outlier — a biotech name riding its own news cycle, disconnected from the hardware story.

Running one screen is easy. Getting useful output every time takes a bit more discipline.

**1. Always specify liquidity, not just size.**

Market cap alone lets illiquid OTC tickers sneak in — names that move 200% on 200 shares traded. Add a volume filter (`avgvol_200d > 1,000,000`

) or you'll get noise dressed up as momentum.

**2. Separate the screen from the narrative.**

Ask Claude to return raw data first. Then, in a second message, ask it to interpret the pattern. Mixing both in one prompt makes it more likely Claude reaches for a story before checking if one's actually there.

**3. Re-run before you publish.**

Market data is a snapshot. A screen run on Monday is stale by Friday. If you're writing this up for a newsletter or post, re-run it the morning you publish.

**4. Pin your filters in the prompt, not in your head.**

"Large, liquid, momentum stocks" means nothing to a screener. "Market cap > $10B, avgvol_200d > 1M, sorted by refund_5d_p descending" means everything. Specificity is the whole game.

**5. Use sector clustering as a sanity check, not a conclusion.**

If 7 of 10 picks share a sector, that's a real signal worth investigating — not proof you've found alpha. Treat it as a research starting point.

**6. Cross-check anything you'd act on.**

A screener tells you what moved. It doesn't tell you why a specific company moved, or whether the move is sustainable. Pull the news, check the earnings calendar, read the filing — before any of this touches real money.

❓ **Can I run this without writing any code?**

✅ Yes. If you have the EODHD MCP connector enabled in Claude, just paste the prompt in the "Try It Yourself" section above. Claude calls the screener tool directly — no API key setup or Python environment needed.

❓ **Is the EODHD MCP server free to use?**

✅ It depends on your EODHD API plan — the screener tool consumes API calls against your existing subscription tier. Check EODHD's pricing page for current limits on screener calls per day.

❓ **Does Claude ever hallucinate tickers when using MCP?**

✅ No, not when the data comes through the tool call. Every ticker in the results above came directly from the screener response — Claude is reasoning over real rows, not generating them from memory.

❓ **Can I use this for sectors other than tech?**

✅ Yes. Swap the filters in the prompt — set `sector = "Healthcare"`

or `sector = "Energy"`

and re-run. The screener supports filtering by sector, industry, country, and several other fields.

❓ **Is this financial advice?**

✅ No. This is a demonstration of a reproducible screening workflow. The output is a filtered list based on price momentum and market cap, not a recommendation to buy or sell anything.

❓ **What's the difference between this and just asking ChatGPT to pick stocks?**

✅ Without a connected data tool, an LLM answers from training data that can be stale by months. With MCP, Claude is calling a live screener and reasoning over real, current numbers — the difference between guessing and looking.

If you're a software or API company looking to explain your product through high-quality educational content (not marketing fluff), feel free to connect with me on LinkedIn.

👉 [Get started with EODHD's API and MCP server](https://eodhd.com/?via=kmg&ref1=Meneses&utm_source=medium&utm_medium=post&utm_campaign=ai-stock-screener-claude-mcp&utm_content=Meneses)

*Looking for technical content for your company? I can help — LinkedIn · kevinmenesesgonzalez@gmail.com*
