stockscreen-mcp
Daily stock screens, relative-strength ratings, market breadth and industry group rankings for 12 markets, available to Claude, Cursor, VS Code or any other MCP client.
- No API keys and no server to run.
- It reads the snapshot that the open-source stock-screener project publishes after every market close.
- That's the same data as the live demo.
uvx stockscreen-mcp
Markets: United States, Canada, Germany, Hong Kong, mainland China, Japan, Korea, Taiwan, India, Singapore, Malaysia and Australia.
What you can ask
- "Which stocks pass the Minervini trend template in the US today, and which of them are in top-20 industry groups?"
- "Run the CANSLIM screen for Japan and show the five strongest by 3-month RS."
- "How healthy is the US market right now? Exposure, distribution days, breadth."
- "What are the leading industry groups this week, and which groups moved up the most?"
- "Tell me everything the scan knows about NVDA, and which screens it passes."
- "Find Hong Kong stocks with RS above 90, in stage 2, with quarterly EPS growth over 25%."
Tools
All tools are read-only.
| Tool | What it returns |
|---|---|
list_markets |
Markets in the current publish, with each one's data date, status and features |
list_screens |
The 28 preset screens and their exact rules: Minervini, CANSLIM, VCP, cup with handle, high tight flag, momentum, IPOs and more |
run_screen |
A preset and/or your own filters over every stock in a market's scan, sorted, with the match count. A preset returns exactly the stocks the website shows for it |
get_stock |
One stock: RS ratings (overall, 1M, 3M, 12M), stage, screener scores, growth, group rank, setup and pattern fields, and the screens it passes |
market_overview |
Exposure score and stance, distribution days, follow-through day, StockBee-style breadth (4% movers, 5/10-day ratios, T2108, 52-week highs/lows), key index moves, top groups |
group_rankings |
IBD-style industry groups ranked by relative strength, with 1W/1M/3M/6M rank changes and weekly movers. Pass a group for its rank history and strongest stocks |
Reading the data
- RS ratings (
rs_rating,rs_rating_1m/3m/12m) are percentiles from 1 to 99 within the stock's own market, where 99 is the strongest. - Group rank 1 is the strongest group.
- Every result has an
as_of_date: the last completed session the publish covers. This is end-of-day data with nothing intraday, and it is never fetched live from price providers.
Setup
The server needs uv, which provides uvx.
Claude Code
claude mcp add stockscreen -- uvx stockscreen-mcp
Claude Desktop: add to claude_desktop_config.json.
{
"mcpServers": {
"stockscreen": { "command": "uvx", "args": ["stockscreen-mcp"] }
}
}
Cursor: add the same mcpServers entry to ~/.cursor/mcp.json.
VS Code: add to .vscode/mcp.json.
{
"servers": {
"stockscreen": { "type": "stdio", "command": "uvx", "args": ["stockscreen-mcp"] }
}
}
Codex CLI: add to ~/.codex/config.toml.
[mcp_servers.stockscreen]
command = "uvx"
args = ["stockscreen-mcp"]
To run the newest version from main rather than the latest release, replace stockscreen-mcp in args with --from, git+https://github.com/xang1234/stock-screener#subdirectory=stockscreen-mcp, stockscreen-mcp.
How it works
- Data source: the server reads the JSON that the static site publishes to GitHub Pages. The root
manifest.jsonpoints at the current publish. - Download and caching: each market's scan is downloaded once, on first use (US is about 7 MB compressed), and kept in memory. The two most recently used markets stay cached, and the cache refreshes when a new publish appears.
- Data URL: set
STOCKSCREEN_DATA_URLto read from another publish, such as a fork's GitHub Pages site.
Development
cd stockscreen-mcp
uv run pytest # unit tests, no network
STOCKSCREEN_LIVE=1 uv run pytest -m live # against the real publish
License and disclaimer
Apache-2.0. This is screening data for education and research, not investment advice.
Metadata
Release files for stockscreen-mcp 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| stockscreen_mcp-0.1.0.tar.gz | 97.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| stockscreen_mcp-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 117.4 kB
Release files / stockscreen_mcp-0.1.0.tar.gz
| Download URL | stockscreen_mcp-0.1.0.tar.gz |
|---|---|
| Size | 97.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9655945e925582fc766fd2532b5e50e9d0beccc055013c9d98dc82388488822d
|
|
BLAKE2b-256 checksum How to use checksums |
09087446494acc5bef5582afc6405b706d030f69e747690f86a1ea67a13eafc2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 12, 2026.
Transparency logRelease files / stockscreen_mcp-0.1.0-py3-none-any.whl
| Download URL | stockscreen_mcp-0.1.0-py3-none-any.whl |
|---|---|
| Size | 19.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2e76118c2840c7aeffb67a35af1702bfde745bd8257f6ce916ff629a274f5d7f
|
|
BLAKE2b-256 checksum How to use checksums |
83fccf989c3d432513c501ceaab8f8ea0764d5d467719be8bd8330bb677b6d4a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 12, 2026.
Transparency log