npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

stoquant-mcp

v0.4.0

Published

Model Context Protocol server for StoQuant — read-only investor signals, screening, and market data.

Downloads

92

Readme

stoquant-mcp

Model Context Protocol (MCP) server for StoQuant — gives Claude (and any MCP-compatible agent) direct, read-only access to StoQuant's quant signals, ML predictions, screening, ownership, and macro data.

Power-tier only. Every tool requires a Power subscription API key. Get one at https://stoquant.com/account/api-keys.

One-command install

npx -y stoquant-mcp install

You'll be prompted for your API key. The installer writes the right claude_desktop_config.json for your OS, backs up any existing config, then prints the next step.

After install, fully quit and relaunch Claude Desktop. Type list available tools to confirm the stoquant_* tools are loaded.

Manual install (alternative)

Add this to your claude_desktop_config.json:

{
  "mcpServers": {
    "stoquant": {
      "command": "npx",
      "args": ["-y", "stoquant-mcp", "serve"],
      "env": {
        "STOQUANT_API_KEY": "sk_live_…"
      }
    }
  }
}

Config locations:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%/Claude/claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

Tools (48)

| Category | Tools | |---|---| | Prices | get_quote, get_quotes_batch, get_extended_quote, get_sparklines, get_benchmarks, get_sector_performers | | Research | get_qscore, get_signals_v2, get_ml_prediction, explain_ml_prediction, get_strategic_edges, get_quant_analytics | | Signals | get_market_regime, get_signal_accuracy, get_accuracy_summary | | Discovery | get_top_conviction, get_hidden_gems, get_multibagger_candidates, get_related_stocks, get_signal_accuracy_heatmap | | Screener | list_prebuilt_screens, run_prebuilt_screen, run_screener | | Ownership | get_insider_trades, get_insider_cluster, get_big_insider_buys, get_institutional_holders, get_institutional_ratings, get_analyst_estimates, get_analyst_price_targets, get_analyst_changes, get_short_interest | | Filings & News | get_sec_filings, get_news, get_news_events | | Social | get_social_sentiment, get_social_trend, get_trending_social, get_social_momentum, get_source_credibility | | Catalysts | get_catalysts, get_catalyst_watch | | Alt-data | get_alt_signals (FDA, CPSC, SEC suite, clinical trials, GitHub, App Store, Hacker News, news tone — one call), get_alt_data (Google Trends, Wikipedia views, options IV) | | Macro | get_macro_indicator, get_macro_dashboard, get_macro_calendar, get_macro_themes |

All tools are read-only. No mutation, no portfolio changes, no order placement. Each tool is annotated readOnlyHint so agents know it is safe to call.

Two things to know

  • The Q-Score (get_qscore) is the headline 0-100 composite, computed on sector-residualized returns (sector beta removed). Start here for "is this a good stock".
  • The ML prediction (get_ml_prediction) returns the probability of outperforming the S&P 500 over a horizon (classification: bull|bear) — it is not a buy/hold/sell rating.

Resources

The server exposes reference docs an agent can read on demand:

  • stoquant://glossary — what Q-Score, ML outperformance, regimes, and signal accuracy mean, plus unit conventions.
  • stoquant://methodology — sector residualization, IC-weighting, ML health gating, and screener field semantics.

Prompts

Pre-built workflows that chain the tools:

  • analyze_ticker(ticker) — full single-stock deep dive (Q-Score + ML + ownership + edges → verdict).
  • find_opportunities(style) — generate and vet a shortlist for a style (value, momentum, growth, hidden gems).
  • market_briefing — top-down snapshot (regime + macro + benchmarks + conviction).

Using the screener

run_screener filters on exact camelCase field names. An unknown field is treated as null server-side and silently excludes every stock, so use the documented names:

trailingPE, priceToBook, pegRatio, marketCap, debtToEquity, currentRatio, grossMargins, operatingMargins, revenueGrowth, earningsGrowth, rsi14, fiftyDayAverageChangePercent, twoHundredDayAverageChangePercent, fiftyTwoWeekHighChangePercent, shortPercentOfFloat, numberOfAnalystOpinions, sector, regularMarketPrice, regularMarketVolume, regularMarketChangePercent.

Margins/growth are decimals (0.25 = 25%); marketCap is raw USD (250000000 = 250M). Operators: gt, gte, lt, lte, eq, between (value: [low, high]), in (value: [string, …]).

The screener reads from StoQuant's cached daily fundamentals (fast, refreshed daily). Prefer run_prebuilt_screen (pre-tuned) or run_screener with universe: "sp500" and a few filters.

Example prompts

  • "Get the Q-Score for NVDA and explain the top features driving the ML call."
  • "Show me the top 10 conviction stocks and their current ML outperformance odds."
  • "What's the current market regime, and which sectors are leading?"
  • "Run the undervalued-gems prebuilt screen on the sp500 universe."
  • "Screen sp500 for trailingPE under 15 and debtToEquity under 0.5."
  • "Get insider activity for PLTR over the last quarter."

Security

  • Server requires STOQUANT_API_KEY — fails fast on boot if missing or malformed.
  • All requests use HTTPS. Bearer token in Authorization header. Never logged.
  • Tickers are validated (^[A-Za-z0-9.\-^]{1,10}$) before any external use.
  • Client-side rate limit: 200 req/min (configurable via STOQUANT_RATE_LIMIT_RPM).
  • 30s per-request timeout (configurable via STOQUANT_TIMEOUT_MS).
  • Server-side: API key is hashed (SHA-256) at rest, prefix-indexed for fast lookup, timing-safe-compared on verify.
  • Revoke any key from https://stoquant.com/account/api-keys at any time.

Environment variables

| Var | Default | Description | |---|---|---| | STOQUANT_API_KEY | — (required) | Your Power-tier API key | | STOQUANT_BASE_URL | https://stoquant.com/api | API base URL | | STOQUANT_RATE_LIMIT_RPM | 200 | Client-side rate limit (req/min) | | STOQUANT_TIMEOUT_MS | 30000 | Per-request timeout | | STOQUANT_DEV | 0 | Set 1 to allow http:// base URLs (local dev only) |

License

MIT