股票扫描器-MCP

qjahjzjznz/stock-scanner-mcp
Hosted
0 Stars 31 次浏览 更新于 2026-08-23

一个为Claude Code和Claude Desktop设计的模块化MCP服务器,提供实时股票和加密货币市场数据访问。它包括13个模块中的65种工具,其中9个模块无需API密钥即可工作。该服务器支持市场扫描、技术分析、监控内部交易、跟踪收益、分析期权流动,并保存个性化观察列表和论题笔记。

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "stock-scanner": {
      "args": [
        "-y",
        "stock-scanner-mcp",
        "--enable-workspace"
      ],
      "command": "npx",
      "env": {
        "ALPHA_VANTAGE_API_KEY": "your-key-here",
        "FINNHUB_API_KEY": "your-key-here",
        "FRED_API_KEY": "your-key-here"
      }
    }
  }
}

该服务需要配置环境变量:ALPHA_VANTAGE_API_KEY、FINNHUB_API_KEY、FRED_API_KEY

可用工具 (65 个)

该服务在 MCP 协议中暴露的工具,AI 可按需调用

tradingview_scan 5 个参数

Scan US stocks with custom filters (price > X, RSI < 30, etc.). Returns up to `limit` rows with the requested columns.

该工具无需必填参数,直接调用即可

tradingview_compare_stocks 1 个参数 需填 1 项

Returns price, change, market cap, P/E, EPS, revenue, dividend yield, RSI, and analyst recommendation rating (-1 sell to +1 buy) for 2-5 stocks. Revenue growth rate and analyst price targets are not available.

必填参数:tickers

tradingview_quote 1 个参数 需填 1 项

Get a 15-minute delayed quote for one or more stock tickers (e.g. 'AAPL' or 'NASDAQ:AAPL'). Returns price, change, volume, market cap, and pre-market/after-hours data when available. Data is delayed ~15 minutes during market hours — use finnhub_quote for real-time prices if available. If a ticker returns empty results, retry with the correct exchange prefix (e.g. 'NYSE:CDE', 'AMEX:XYZ').

必填参数:tickers

tradingview_technicals 2 个参数 需填 1 项

Get technical indicators (RSI, MACD, moving averages, pivot points, etc.) for one or more stock tickers. If a ticker returns empty results, retry with the correct exchange prefix (e.g. 'NYSE:CDE', 'AMEX:XYZ').

必填参数:tickers

tradingview_top_gainers 3 个参数

Get today's top gaining stocks by percentage change on a given exchange. Defaults to major US exchanges (NYSE, NASDAQ, AMEX) with market cap > $100M. OTC penny stocks excluded by default.

该工具无需必填参数,直接调用即可

tradingview_top_losers 3 个参数

Get today's top losing stocks by percentage change on a given exchange. Defaults to major US exchanges (NYSE, NASDAQ, AMEX) with market cap > $100M. OTC penny stocks excluded by default.

该工具无需必填参数,直接调用即可

tradingview_top_volume 3 个参数

Get stocks with the highest trading volume today. Defaults to major US exchanges.

该工具无需必填参数,直接调用即可

tradingview_market_indices

Get real-time values for major market indices: VIX (volatility), S&P 500, NASDAQ Composite, and Dow Jones. Essential for gauging broad market conditions, risk sentiment, and options pricing context.

该工具无需必填参数,直接调用即可

tradingview_sector_performance

Get performance of S&P 500 sector ETFs (XLK, XLF, XLE, XLV, XLI, XLP, XLU, XLY, XLC, XLRE, XLB). Shows which sectors are leading or lagging today. Essential for sector rotation analysis.

该工具无需必填参数,直接调用即可

tradingview_volume_breakout 2 个参数

Find stocks with unusual volume (current volume significantly above average). Defaults to major exchanges.

该工具无需必填参数,直接调用即可

crypto_scan 5 个参数

Scan cryptocurrency pairs using TradingView filters. Returns price, volume, and technical indicators.

该工具无需必填参数,直接调用即可

crypto_quote 1 个参数 需填 1 项

Get real-time quotes for specific crypto pairs. Supports 'BTCUSDT' (defaults to BINANCE) or 'BINANCE:BTCUSDT'.

必填参数:symbols

crypto_technicals 2 个参数 需填 1 项

Get technical analysis for crypto pairs. Supports 'BTCUSDT' or 'BINANCE:BTCUSDT'.

必填参数:symbols

crypto_top_gainers 2 个参数

Get top gaining cryptocurrency pairs by percentage change. Defaults to major exchanges and volume > $10k.

该工具无需必填参数,直接调用即可

edgar_search 5 个参数 需填 1 项

Search SEC EDGAR filings by keyword. Best for finding mentions of specific trends, technologies, or events across all companies. Returns metadata including accession numbers, form types, and direct sec.gov links.

必填参数:query

edgar_company_filings 3 个参数 需填 1 项

Retrieve the most recent official filings for a specific company. Use this to find a company's latest 10-K (annual), 10-Q (quarterly), or 8-K (current events) reports.

必填参数:ticker

edgar_company_facts 1 个参数 需填 1 项

Retrieve high-fidelity financial metrics (Revenue, Net Income, EPS, Assets, Liabilities) directly from SEC XBRL data. This is more reliable than extracting numbers from text filings.

必填参数:ticker

edgar_insider_trades 2 个参数 需填 1 项

Monitor legal stock trades made by company executives and directors (Forms 3, 4, 5). Returns detailed transaction data including insider names, titles, buy/sell type, share amounts, and prices.

必填参数:ticker

edgar_institutional_holdings 2 个参数 需填 1 项

Track 'big money' moves by searching Form 13F filings. Use to find what hedge funds and institutional managers (e.g. 'Berkshire Hathaway') are holding or what firms own a specific ticker.

必填参数:query

edgar_ownership_filings 2 个参数 需填 1 项

Monitor significant changes in company ownership (5%+ stakes). Use 13D and 13G filings to identify activist investors (e.g. Carl Icahn, Ryan Cohen) entering or exiting a stock.

必填参数:ticker

coingecko_coin 1 个参数 需填 1 项

Get detailed cryptocurrency info from CoinGecko. Use slug IDs (e.g. 'bitcoin', 'ethereum', 'solana'), NOT ticker symbols.

必填参数:coinId

coingecko_trending

Get trending cryptocurrencies on CoinGecko (top 7 by search popularity in last 24h).

该工具无需必填参数,直接调用即可

coingecko_global

Get global cryptocurrency market statistics: total market cap, 24h volume, BTC/ETH dominance.

该工具无需必填参数,直接调用即可

options_expirations 1 个参数 需填 1 项

Get all available option expiration dates for a stock ticker. Call this first to discover valid dates, then pass one to options_chain or options_max_pain.

必填参数:symbol

options_chain 7 个参数 需填 1 项

Get the full option chain (calls and puts) with calculated Greeks (Delta, Gamma, Theta, Vega). Use options_expirations first to find valid dates. If expiration is omitted, uses nearest date. By default, returns strikes within ±20% of current price to save tokens. Use strike_min/strike_max for custom range, or all_strikes=true for everything.

必填参数:symbol

options_unusual_activity 4 个参数 需填 1 项

Find options contracts with unusually high volume relative to open interest (a common 'smart money' signal). Scans the nearest expiration and flags contracts where volume/OI exceeds a threshold.

必填参数:symbol

options_max_pain 2 个参数 需填 1 项

Calculate the max pain strike price — where cumulative option open interest expires worthless. This level often acts as a support/resistance zone near expiration.

必填参数:symbol

options_implied_move 2 个参数 需填 1 项

Calculate the expected move implied by options pricing (ATM straddle). Essential for earnings plays — shows how much the market expects the stock to move. Compare implied vs historical moves to assess if premium is cheap or expensive.

必填参数:symbol

options_put_call_ratio 2 个参数

Get historical put/call ratio from CBOE (market-wide sentiment indicator). Ratio > 1.0 = more puts (bearish sentiment), < 0.7 = more calls (bullish/complacent). Types: 'total' (all options), 'equity' (stock options only), 'index' (index options only).

该工具无需必填参数,直接调用即可

finnhub_quote 1 个参数 需填 1 项

Get a real-time stock quote from Finnhub (requires API key): current price, change, percent change, day high/low, open, and previous close. Preferred over tradingview_quote during market hours for live prices. Use tradingview_quote as a keyless fallback when Finnhub is unavailable. Rate limit: 60 calls/min (free tier).

必填参数:symbol

finnhub_company_profile 1 个参数 需填 1 项

Get company profile: name, industry, market cap, IPO date, logo, website, share count, and exchange. Rate limit: 60 calls/min (free tier).

必填参数:symbol

finnhub_peers 1 个参数 需填 1 项

Get a list of peer/comparable companies in the same industry for a given stock. Rate limit: 60 calls/min (free tier).

必填参数:symbol

finnhub_market_status 1 个参数

Check if a stock exchange is currently open, and what session it is in (pre-market, regular, post-market). Rate limit: 60 calls/min (free tier).

该工具无需必填参数,直接调用即可

finnhub_market_news 2 个参数

Get latest market news by category (general, forex, crypto, merger). Rate limit: 60 calls/min (free tier).

该工具无需必填参数,直接调用即可

finnhub_company_news 4 个参数 需填 3 项

Get recent news for a specific company by ticker symbol. Rate limit: 60 calls/min (free tier).

必填参数:symbol、from、to

finnhub_earnings_calendar 4 个参数 需填 2 项

Get upcoming or historical earnings reports within a date range. Rate limit: 60 calls/min (free tier).

必填参数:from、to

finnhub_analyst_ratings 1 个参数 需填 1 项

Get analyst consensus recommendations for a stock. Returns counts of Strong Buy, Buy, Hold, Sell, Strong Sell ratings and the last 4 months of rating history. Rate limit: 60 calls/min (free tier).

必填参数:symbol

finnhub_short_interest 1 个参数 需填 1 项

Get short interest and other key financial metrics for a stock. Rate limit: 60 calls/min (free tier).

必填参数:symbol

alphavantage_quote 1 个参数 需填 1 项

Get real-time stock quote from Alpha Vantage. Returns price, change, volume, and day range. Rate limit: 5 calls/min on free tier.

必填参数:symbol

alphavantage_daily 2 个参数 需填 1 项

Get daily OHLCV price history from Alpha Vantage. Returns up to 100 most recent trading days. Rate limit: 25 calls/day, 5 calls/min (free tier).

必填参数:symbol

alphavantage_overview 1 个参数 需填 1 项

Get company fundamentals from Alpha Vantage. Includes PE ratio, market cap, beta, sector, industry, earnings, and analyst target price. Supports batch requests (limit 5). Rate limit: 25 calls/day, 5 calls/min (free tier).

必填参数:symbols

alphavantage_earnings_history 2 个参数 需填 1 项

Get historical earnings data (EPS actual vs estimate) for a specific ticker. Rate limit: 25 calls/day, 5 calls/min (free tier).

必填参数:symbol

alphavantage_dividend_history 1 个参数 需填 1 项

Get historical dividend data for a specific ticker. Rate limit: 25 calls/day, 5 calls/min (free tier).

必填参数:symbol

fred_economic_calendar 1 个参数

Get upcoming US economic release dates (FOMC, CPI, PPI, NFP, GDP, PCE, jobless claims, retail sales, ISM, treasury rates). Filters to high-impact releases only. Use this to identify macro catalysts that could move markets. Rate limit: 120 calls/min (free tier).

该工具无需必填参数,直接调用即可

fred_indicator 1 个参数 需填 1 项

Get the latest value of a US economic indicator from FRED. Accepts FRED series IDs (e.g. 'CPIAUCSL', 'DFF', 'UNRATE') or common aliases: cpi, core_cpi, ppi, gdp, unemployment, nonfarm_payrolls, fed_funds, treasury_10y, treasury_2y, initial_claims, core_pce. Returns the indicator metadata (title, frequency, units) and latest observation. Rate limit: 120 calls/min (free tier).

必填参数:series_id

fred_indicator_history 4 个参数 需填 3 项

Get historical values for a US economic indicator from FRED. Accepts same series IDs/aliases as fred_indicator. Supports units transformation: 'lin' (raw level), 'chg' (change), 'pc1' (% change from year ago — useful for YoY inflation), 'pch' (% change from prior period). Use 'pc1' with CPI/PPI to get YoY inflation rates directly. Rate limit: 120 calls/min (free tier).

必填参数:series_id、start_date、end_date

fred_search 2 个参数 需填 1 项

Search FRED for economic data series by keyword. Returns series IDs that can be used with fred_indicator and fred_indicator_history. Results sorted by relevance. Use to discover series IDs for niche indicators. Rate limit: 120 calls/min (free tier).

必填参数:query

sentiment_fear_greed

Get the CNN Fear & Greed Index for the US stock market. Returns a composite score (0-100) with rating (extreme fear/fear/neutral/greed/extreme greed) and 7 sub-indicators: S&P 500 momentum, stock price strength (52w highs vs lows), stock price breadth (McClellan), put/call ratio, VIX, junk bond demand, safe haven demand. Also includes previous close, 1-week, 1-month, and 1-year scores for trend context. Use this to gauge overall market sentiment before analyzing individual stocks.

该工具无需必填参数,直接调用即可

sentiment_crypto_fear_greed

Get the Crypto Fear & Greed Index from Alternative.me. Returns a score (0-100) with rating (extreme fear/fear/neutral/greed/extreme greed). Based on Bitcoin volatility, market volume, social media, surveys, dominance, and trends. Use this alongside coingecko tools for crypto market context.

该工具无需必填参数,直接调用即可

frankfurter_latest 2 个参数

Get latest forex exchange rates from the European Central Bank. Returns daily reference rates for 31 major currencies. Updated once per business day at ~16:00 CET. These are reference rates, not real-time trading rates.

该工具无需必填参数,直接调用即可

frankfurter_historical 3 个参数 需填 1 项

Get ECB forex exchange rates for a specific past date. Daily reference rates, not real-time trading rates. If the date is a weekend or holiday, returns the previous business day's rates. Data available from 1999-01-04 (Euro inception).

必填参数:date

frankfurter_timeseries 4 个参数 需填 2 项

Get daily ECB forex rate history for a date range (max 90 days). Daily reference rates, not real-time. Use for currency trend analysis. Only business days included (weekends/holidays omitted). Requires symbols filter to control response size.

必填参数:start_date、symbols

frankfurter_convert 3 个参数 需填 3 项

Convert an amount between two currencies at the latest ECB daily reference rate. Updated once per business day — not suitable for intraday trading rates. Useful for cross-border stock valuation and currency exposure calculations.

必填参数:amount、from、to

frankfurter_currencies

List all 31 currencies supported by the Frankfurter API with their full names. Use to look up valid currency codes before calling other frankfurter tools.

该工具无需必填参数,直接调用即可

reddit_trending 2 个参数

Get trending stock tickers from Reddit based on mention frequency. Scans r/wallstreetbets, r/stocks, r/investing, and r/options for posts mentioning tickers. Returns tickers sorted by mention count with per-subreddit breakdown. Limitation: uses keyword extraction (cashtags + uppercase words), not NLP — some false positives possible. Best for gauging retail buzz, not precise sentiment.

该工具无需必填参数,直接调用即可

reddit_mentions 2 个参数 需填 1 项

Get mention count and top posts for a specific stock ticker across Reddit. Searches r/wallstreetbets, r/stocks, r/investing, and r/options. Returns total mentions, per-subreddit breakdown, and top 10 posts by score. Use this to check how much retail attention a ticker is getting.

必填参数:symbol

reddit_sentiment 2 个参数 需填 1 项

Get sentiment analysis for a stock ticker from Reddit discussions. Searches r/wallstreetbets, r/stocks, r/investing, and r/options, then scores each post using keyword matching (bullish terms like 'moon', 'calls', 'breakout' vs bearish terms like 'crash', 'puts', 'dump'). Returns bullish/bearish/neutral counts, average sentiment score, and sample posts. Limitation: keyword-based scoring, not NLP — sarcasm and context may be missed.

必填参数:symbol

reddit_watchlist_scan 2 个参数 需填 1 项

Batch Reddit sentiment scan for a list of stock tickers in a single pass. Combines the tickers into one OR query per subreddit (r/wallstreetbets, r/stocks, r/investing, r/options), costing ceil(symbols/20)×4 requests instead of one call per ticker — prefer this over calling reddit_mentions or reddit_sentiment for each symbol in a watchlist. Returns, per ticker: mention count, bullish/bearish/neutral sentiment breakdown with an average score, the top post by upvotes, and a 'hot' flag (true when a ticker has 5 or more mentions in the period). Limitations: keyword-based scoring, not NLP (sarcasm/context may be missed); sentiment is scored per-post, not per-ticker, so a multi-ticker post applies the same score to each matched symbol; symbols that collide with common English words/finance acronyms (e.g. REAL, OPEN, HOLD, SELL) or fall outside 2–5 uppercase characters may report zero mentions even when discussed; and because each subreddit's combined query shares one 100-post cap, heavily-discussed tickers in a large batch can crowd out quieter ones, so counts may run lower than a single-ticker reddit_mentions query. Results cached for 5 minutes.

必填参数:symbols

workspace_get_profile

Get the current user's trading profile and workspace settings.

该工具无需必填参数,直接调用即可

workspace_update_profile 3 个参数

Update the user's trading profile (style, asset focus, review cadence).

该工具无需必填参数,直接调用即可

workspace_list_watchlists

List all watchlists and their instruments.

该工具无需必填参数,直接调用即可

workspace_create_watchlist 1 个参数 需填 1 项

Create a new empty watchlist (max 50 per workspace).

必填参数:name

workspace_update_watchlist 2 个参数 需填 2 项

Replace the instruments in a specific watchlist.

必填参数:name、symbols

workspace_get_thesis 1 个参数 需填 1 项

Get the saved global investment thesis for a specific symbol. Returns a stable JSON shape with a 'found' flag.

必填参数:symbol

workspace_save_thesis 6 个参数 需填 2 项

Save or update the global investment thesis for a specific symbol (max 200 per workspace).

必填参数:symbol、summary

服务介绍

stock-scanner-mcp

CI
npm version
npm downloads

A modular MCP server for Claude Code and Claude Desktop that provides real-time access to stock and crypto market data. Scan markets, check technicals, monitor insider trades, track earnings, analyze options flow, and optionally save your own watchlists and thesis notes from one server.

65 tools across 13 modules — 9 modules work with zero API keys, including an optional stateful Market Workspace.

Quick Start

Three steps to get the full experience: server config, trading skills, and workspace setup.

Step 1 — Add the server to your MCP config

Copy this complete config block into your config file:

  • Claude Code: ~/.claude.json (global) or .mcp.json (project-local)
  • Claude Desktop: ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
{
  "mcpServers": {
    "stock-scanner": {
      "command": "npx",
      "args": ["-y", "stock-scanner-mcp", "--enable-workspace"],
      "env": {
        "FINNHUB_API_KEY": "your-key-here",
        "ALPHA_VANTAGE_API_KEY": "your-key-here",
        "FRED_API_KEY": "your-key-here"
      }
    }
  }
}

This gives you 46 tools immediately with no API keys. API keys are optional and free — they unlock 18 additional tools for real-time quotes, news, earnings, and economic data. See API Keys below for where to get them.

Minimal config — if you don't want workspace or API keys, use this instead:

{
  "mcpServers": {
    "stock-scanner": {
      "command": "npx",
      "args": ["-y", "stock-scanner-mcp"]
    }
  }
}

This gives you 39 stateless tools with no local data storage.

Restart Claude Desktop after saving. Claude Code picks up the config automatically.

Step 2 — Install the trading skills

Run this command in your terminal:

npx -p stock-scanner-mcp stock-scanner-install-skills

This installs 19 slash commands (like /morning-briefing, /analyze-stock AAPL, /setup-market-workspace) into ~/.claude/skills/ so they're available in every Claude Code session. See Trading Skills for the full list.

Step 3 — Set up your workspace

Run /setup-market-workspace in Claude Code. It asks three quick questions:

> /setup-market-workspace

Setting up your market workspace — I'll ask a few quick questions to get started...

1. What kind of trader or investor are you?
   (e.g., options trader, swing trader, long-term investor, crypto-focused)

   → "I'm mostly a swing trader, also watch crypto"

2. Which names or assets should I save to your core watchlist?
   (e.g., AAPL, MARA, BTC, Gold)

   → "MARA, HOOD, SOFI, BTC, ETH"

3. Do you want a daily or weekly market review?

   → "Daily"

Once answered, it saves your profile and creates a core watchlist:

✓ Workspace saved

  Profile     swing trader | daily review
  Watchlist   core — MARA, HOOD, SOFI, BTC, ETH

You can also skip the skill and ask Claude directly: "Set up my workspace — I'm a swing trader, create a core watchlist with MARA, HOOD, BTC, daily reviews."

That's it. You now have 65 tools, 19 skills, and a personalized workspace. Try /workspace-morning-brief for your first tailored market scan.

What You Can Do

"What are the top gaining stocks today?"
"Show me technicals for AAPL on the hourly timeframe"
"Any insider trades for TSLA in the last 30 days?"
"What's the options chain for AAPL expiring next Friday?"
"What's the current fed funds rate and CPI trend?"
"Convert $10,000 USD to EUR"
"Set up a core watchlist with MARA, HOOD, and BTC"
"Give me a personalized morning brief for my saved watchlist"

Highlights

  • Stock scanning — screen by price, RSI, volume, market cap with custom filters
  • Technical analysis — RSI, MACD, Bollinger Bands, moving averages, pivots across multiple timeframes
  • Options flow — chains with Greeks, unusual activity detection, max pain, implied move
  • Insider trades — parsed Form 4 transactions with buy/sell/grant details
  • Earnings & news — calendar, analyst ratings, company news, short interest
  • Crypto — real-time quotes, technicals, trending coins, market stats
  • Macro — CPI, GDP, fed funds rate, economic calendar, yield curve data
  • Forex — 31 currency pairs from ECB, conversion, historical rates
  • Sentiment — CNN Fear & Greed Index, Crypto Fear & Greed
  • Market Workspace — save a trading profile, named watchlists, and thesis notes for personalized workflows across sessions

Trading Skills

19 ready-made workflows that chain multiple tools into structured analysis. Each skill orchestrates 5-14 tools in parallel and outputs a verdict with direction, confidence, and key levels.

Category Skills What They Do
Daily Routines /morning-briefing, /market-close-recap, /crypto-briefing Pre-market scan, EOD recap, crypto overview
Analysis /analyze-stock TICKER, /compare TICKER1 TICKER2, /analyze-crypto COIN Deep dives and side-by-side comparisons
Strategies /swing-setup, /earnings-play TICKER, /options-flow TICKER, /dividend-screen Swing trades, earnings options, smart money, income screen
Macro /macro-dashboard, /fed-watch, /sector-rotation Economic indicators, Fed outlook, sector rotation
Risk /insider-tracker TICKER, /smart-money TICKER, /risk-check TICKER Insider trades, institutional flow, pre-trade risk scorecard
Workspace /setup-market-workspace, /workspace-morning-brief Guided setup for saved profile/watchlist context and a personalized brief driven by your stored names

Skills degrade gracefully when optional API keys are missing. Workspace skills require --enable-workspace in the server config.

npx -p stock-scanner-mcp stock-scanner-install-skills                    # all 19 skills
npx -p stock-scanner-mcp stock-scanner-install-skills --scope project    # project only (.claude/skills/)
npx -p stock-scanner-mcp stock-scanner-install-skills --category macro   # one category
npx -p stock-scanner-mcp stock-scanner-install-skills --category workspace # workspace skills only
npx -p stock-scanner-mcp stock-scanner-install-skills --list             # list without installing
npx -p stock-scanner-mcp stock-scanner-install-skills --force            # overwrite existing

Manual: git clone this repo and cp -r skills/*/ ~/.claude/skills/

See skills/README.md for the full catalog.

Market Workspace

The Market Workspace is an optional stateful layer that remembers your trading context across sessions — your trading style, named watchlists, and investment thesis notes per symbol. Skills like /workspace-morning-brief use this context to deliver personalized market scans instead of generic ones.

What you can do with it

  • /workspace-morning-brief — personalized pre-market scan that reads your profile and watchlist, checks earnings, news, and price action for your names, and highlights what matters today
  • Add more watchlists — ask Claude: "Create a watchlist called 'earnings' with AAPL, MSFT, GOOG"
  • Track investment theses — save your reasoning per ticker so the system monitors it for you (see below)
  • Update anytime"Add NVDA to my core watchlist" or "Change my review cadence to weekly"

Thesis Tracking

Save your investment reasoning per ticker — direction, key levels, catalysts, and timeframe — so the system can monitor it across sessions.

Save a thesis:

"My thesis on NIO: bullish above $6.35, that confirms the uptrend. Below it the setup is invalid."

Claude saves the structured thesis:

Field Value
Direction Bullish above $6.35
Bear case Below $6.35 uptrend is invalidated
Catalyst Technical breakout at $6.35
Timeframe Swing

How it works in practice: When you run /workspace-morning-brief, the brief cross-references your saved theses against live price action:

  • NIO drops to $6.10 → "NIO broke below your $6.35 thesis floor — re-evaluate."
  • NIO rallies to $7.20 → "NIO holding above your $6.35 level — uptrend thesis intact."

Without a thesis, the brief just reports a price change. With a thesis, it tells you whether the move matters to your plan.

Each thesis supports five fields: summary, bullCase, bearCase, catalyst, and timeframe. You can save up to 200 theses per workspace.

Configuration reference

Option Default Description
--enable-workspace off Activate the 7 workspace tools
--data-dir <path> ~/.stock-scanner-mcp Directory for workspace.json storage
--default-exchange NASDAQ Default exchange for ticker resolution

Data is stored locally in workspace.json — no cloud sync, no external calls. If you omit --enable-workspace, the server stays fully stateless and writes no local data.

For the full list of workspace tools, see the tool reference below.

Documentation

Modules

Module Tools API Key Description
tradingview 10 None US stock scanner with quotes, technicals, sectors, indices, and screening
tradingview-crypto 4 None Crypto pair scanner with technicals and screening
sec-edgar 6 None SEC filings, insider trades, institutional holdings, ownership
coingecko 3 None Crypto market data, trending coins, global stats
options 5 None Options chains, Greeks, unusual activity, max pain, implied move
options-cboe 1 None CBOE put/call ratio sentiment indicator
sentiment 2 None CNN Fear & Greed Index, Crypto Fear & Greed Index
frankfurter 5 None Forex exchange rates — 31 currencies from ECB (daily reference rates)
reddit 4 None Reddit trending tickers, mention tracking, sentiment, and batch watchlist scan from r/wallstreetbets, r/stocks, r/investing, r/options
workspace 7 None Optional stateful profile, watchlists, and thesis tracking for personalized workflows (--enable-workspace)
finnhub 9 FINNHUB_API_KEY Quotes, news, earnings, analyst ratings, short interest
alpha-vantage 5 ALPHA_VANTAGE_API_KEY Quotes, daily prices, fundamentals, earnings, dividends
fred 4 FRED_API_KEY Economic calendar, indicators (CPI, GDP, rates), historical data

Modules auto-enable when their API key is set. No-key modules are always enabled, except workspace, which requires --enable-workspace.

For a complete list of every tool with descriptions, see the Full Tool Reference below.

Full Tool Reference (65 tools)

TradingView — Stock Scanning (no API key)

Tool Description
tradingview_scan Scan US stocks with custom filters (price, RSI, volume, etc.)
tradingview_compare_stocks Side-by-side comparison of 2-5 stocks
tradingview_quote 15-min delayed quotes for stock tickers (includes pre/post-market)
tradingview_technicals Technical indicators (RSI, MACD, moving averages, pivots)
tradingview_top_gainers Today's top gaining stocks by % change
tradingview_top_losers Today's top losing stocks by % change
tradingview_top_volume Highest volume stocks today
tradingview_market_indices Real-time VIX, S&P 500, NASDAQ, Dow Jones
tradingview_sector_performance S&P 500 sector ETF performance (weekly, monthly, YTD)
tradingview_volume_breakout Stocks with unusual volume (2x+ their 10-day average)

TradingView — Crypto (no API key)

Tool Description
crypto_scan Scan crypto pairs with custom filters across major exchanges
crypto_quote Real-time crypto pair quotes (e.g. BTCUSDT, ETHUSDT)
crypto_technicals Technical analysis for crypto pairs (RSI, MACD, MAs, Bollinger)
crypto_top_gainers Top gaining crypto pairs by % change

SEC EDGAR — Filings & Ownership (no API key)

Tool Description
edgar_search Full-text search across all SEC filings
edgar_company_filings Recent official filings (10-K, 10-Q, 8-K) for a company
edgar_company_facts Financial metrics from XBRL data (Revenue, EPS, Net Income)
edgar_insider_trades Insider buy/sell activity with parsed Form 4 transaction details
edgar_institutional_holdings Institutional holdings (13F) by ticker or manager name
edgar_ownership_filings Major ownership changes — 13D/13G activist investor filings

CoinGecko — Crypto Intelligence (no API key)

Tool Description
coingecko_coin Detailed crypto info by CoinGecko slug (e.g. 'bitcoin', 'solana')
coingecko_trending Top 7 trending cryptos by search volume (last 24h)
coingecko_global Global crypto market cap, volume, BTC/ETH dominance

Options — Chains, Greeks & Unusual Activity (no API key)

Tool Description
options_expirations Available expiration dates for a stock's options
options_chain Full options chain with Greeks for a given expiration
options_unusual_activity Unusual options activity — high volume/OI contracts
options_max_pain Max pain (strike where most options expire worthless)
options_implied_move Expected move from ATM straddle pricing

Options CBOE — Put/Call Sentiment (no API key)

Tool Description
options_put_call_ratio CBOE equity/index/total put/call ratio for market sentiment

Sentiment — Fear & Greed (no API key)

Tool Description
sentiment_fear_greed CNN Fear & Greed Index — composite score (0-100) with 7 sub-indicators
sentiment_crypto_fear_greed Crypto Fear & Greed Index — daily score (0-100) with historical values

Frankfurter — Forex Rates (no API key)

Tool Description
frankfurter_latest Latest ECB exchange rates for 31 currencies
frankfurter_historical Exchange rates for a specific past date
frankfurter_timeseries Daily rate history for a date range (max 90 days)
frankfurter_convert Convert an amount between two currencies
frankfurter_currencies List all supported currency codes
Tool Description
reddit_trending Trending stock tickers from Reddit by mention frequency across r/wallstreetbets, r/stocks, r/investing, r/options
reddit_mentions Mention count and top posts for a specific ticker across Reddit investing subreddits
reddit_sentiment Keyword-based sentiment analysis (bullish/bearish/neutral) for a ticker from Reddit discussions
reddit_watchlist_scan Batch Reddit scan for a list of tickers in one pass (combined OR query, ceil(N/20)×4 requests) — per-ticker mentions, sentiment, top post, and a hot flag (≥5 mentions)

Workspace — Personalized Context (optional, no API key)

Enabled only when you start the server with --enable-workspace.

Tool Description
workspace_get_profile Read the saved trading profile and workspace defaults
workspace_update_profile Save or update trading style, asset focus, and review cadence
workspace_list_watchlists List all saved watchlists and their resolved instruments
workspace_create_watchlist Create a named empty watchlist such as core or swing
workspace_update_watchlist Replace a watchlist's saved symbols with resolved, deduplicated instruments
workspace_get_thesis Read a thesis for a symbol using a stable hit/miss JSON shape
workspace_save_thesis Save or update a thesis note for a symbol

Finnhub — News, Earnings & Macro (requires FINNHUB_API_KEY)

Tool Description
finnhub_quote Real-time stock quote
finnhub_company_profile Company info (industry, market cap, IPO date, website)
finnhub_peers Comparable companies in the same industry
finnhub_market_status Exchange open/closed status and current session
finnhub_market_news Latest market news (general, forex, crypto, merger)
finnhub_company_news Company-specific news by ticker and date range
finnhub_earnings_calendar Upcoming and historical earnings reports
finnhub_analyst_ratings Analyst consensus and rating history
finnhub_short_interest Short interest, short ratio, and key financial metrics

Alpha Vantage — Fundamentals & History (requires ALPHA_VANTAGE_API_KEY)

Tool Description
alphavantage_quote Real-time stock quote (price, change, volume)
alphavantage_daily Daily OHLCV price history (up to 100 days)
alphavantage_overview Company fundamentals (PE, market cap, sector, analyst target)
alphavantage_earnings_history Historical EPS actual vs estimate by quarter
alphavantage_dividend_history Historical dividend payments and dates

FRED — US Economic Data (requires FRED_API_KEY)

Tool Description
fred_economic_calendar Upcoming high-impact economic releases (FOMC, CPI, NFP, GDP)
fred_indicator Latest value for any indicator (CPI, fed funds, unemployment, etc.)
fred_indicator_history Historical values with unit transforms (YoY %, change, level)
fred_search Discover FRED series IDs by keyword

Configuration

CLI Options

npx -y stock-scanner-mcp --modules tradingview,sec-edgar    # Enable specific modules only
npx -y stock-scanner-mcp --default-exchange NYSE             # Set default exchange
npx -y stock-scanner-mcp --enable-workspace                  # Turn on local workspace tools
npx -y stock-scanner-mcp --enable-workspace --data-dir /tmp/market-workspace  # Custom data directory
npx -y stock-scanner-mcp --help                              # Show all options

API Keys (optional)

All three keys are free — no credit card required:

Key Get it from What it unlocks
FINNHUB_API_KEY finnhub.io/register Real-time quotes, company news, earnings calendar, analyst ratings, short interest (9 tools)
ALPHA_VANTAGE_API_KEY alphavantage.co/support Daily price history, company fundamentals, earnings & dividend history (5 tools)
FRED_API_KEY fred.stlouisfed.org/api Economic calendar, CPI/GDP/fed funds indicators, historical data (4 tools)

Add them to the env block in your MCP config (see Quick Start).

Use with other MCP clients

Any MCP client that supports stdio servers can run this package. Use the same JSON config from Quick Start. If your client does not expose npx, install the package first and point the client at the installed binary instead.

HTTP Sidecar

An optional HTTP server exposing all tools as REST endpoints for non-MCP integrations (GPT Actions, chat UIs, LLM pipelines). It includes an OpenAPI 3.1 specification for automated tool discovery.

npx stock-scanner-sidecar              # Start on port 3200
npx stock-scanner-sidecar --port 8080  # Custom port

# Optional: Enable the stateful Market Workspace via HTTP
npx stock-scanner-sidecar --enable-workspace --data-dir ./my-data

# Access the OpenAPI spec
curl http://localhost:3200/openapi.json

See Sidecar HTTP API for endpoint details.

65 tools exposed as REST routes, including /tradingview/quote, /options/chain, /workspace/profile, and more.

Rate Limits

API Free Tier Limit Cache TTL
TradingView No documented limit
SEC EDGAR 10 req/sec 5 min
CoinGecko ~30 calls/min 1 min
Yahoo Finance (Options) No documented limit 5 min
CBOE No documented limit 30 min
Finnhub 30 calls/sec 5 min
Alpha Vantage 5 calls/min, 25/day 1 min
FRED No hard limit 30 min
Frankfurter (ECB) No limit 1 hour

All modules use in-memory TTL caching to minimize API calls.

Development

npm install && npm run build && npm test
npm run lint          # TypeScript type checking
npm run validate-tools # Tool description quality check

Credibility Artifacts

src/
├── index.ts              # MCP server entry + prompt definitions
├── config.ts             # CLI arg parsing
├── registry.ts           # Module auto-discovery and filtering
├── modules/
│   ├── tradingview/      # 10 tools — stock scanning, quotes, technicals, sectors, indices
│   ├── tradingview-crypto/ # 4 tools — crypto scanning and technicals
│   ├── sec-edgar/        # 6 tools — filings, insider trades, holdings
│   ├── coingecko/        # 3 tools — crypto market data
│   ├── options/          # 5 tools — options chains, Greeks, unusual activity, implied move
│   ├── options-cboe/     # 1 tool  — CBOE put/call ratio sentiment
│   ├── workspace/        # 7 tools — stateful profile, watchlists, thesis notes
│   ├── finnhub/          # 9 tools — quotes, news, earnings, analyst ratings, short interest
│   ├── alpha-vantage/    # 5 tools — quotes, fundamentals, dividends
│   ├── fred/             # 4 tools — economic calendar, indicators, historical data
│   ├── sentiment/        # 2 tools — Fear & Greed indexes (market + crypto)
│   ├── frankfurter/      # 5 tools — forex exchange rates (ECB, 31 currencies)
│   └── reddit/           # 4 tools — trending tickers, mentions, sentiment, watchlist scan from Reddit
├── sidecar/
│   ├── index.ts          # HTTP sidecar entry point (port 3200)
│   ├── routes.ts         # Declarative URL routing table
│   └── server.ts         # Dynamic HTTP request handler
└── shared/
    ├── http.ts           # HTTP client with timeouts and key sanitization
    ├── cache.ts          # In-memory TTL cache
    ├── types.ts          # ToolDefinition, ToolResult, helpers
    ├── resolver.ts       # Ticker/exchange resolution
    └── utils.ts          # withMetadata error wrapper

License

MIT

相关 MCP 服务