Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

quant-swarm

PYPI · QUANT-SWARM · 4 COMPONENTS

Risk-first pre-trade checks, PIT data, leakage audits, and a Shadow Tournament vs a live champion.

−6 this week 73 Trust /100

Last scanned (2 hours ago)

Scores higher than 69% of PyPI servers

Category Finance and Payments

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security50
  • Malware scan not yet available for this package.Unverified
  • No known CVEs affecting this package version or its production dependencies.Pass
  • Runs setuptools.build_meta at install time, a recognised build step with no custom scripting around it. View diagnostics → Pass
  • 1 of 36 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency84
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Cryptographically verified build provenance (signed, bound to blink1217/trading-swarm-mcp). View diagnostics → Pass
  • License check failed: the license (MIT AND LicenseRef-Guardrails-Source-Available) isn't a recognized OSI-approved license. See how to fix → Fail
  • Actively maintained (last published 5 days ago).Pass
  • Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability81
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 2024 tokens (~119/item across 17 items; 13 tools + 4 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management63
  • Stability observed for 19 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 13 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 15 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 4 Nov 26 +9
    • Stability: unverified → 0.60 ▲ functional
  • 30 Oct 26 −15
    • Malware scan: pass → unverified ▼ security
  • 29 Oct 26 +15
    • Malware scan: unverified → pass ▲ security
  • 26 Oct 26 −15
    • Malware scan: pass → unverified ▼ security
  • 23 Oct 26 0
    • Security disclosure: unverified → fail ▼ functional
  • 22 Oct 26 0
    • Security disclosure: fail → unverified ▼ functional
  • 17 Oct 26 +32
    • Injection markers: unverified → pass ▲ security
    • First check of Judged manipulation: pass security
    • Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
    • Tool coverage: unverified → 100 ▲ functional
    • MCP protocol: unverified → pass ▲ functional
    • Schema quality: unverified → 100 ▲ functional
    • First check of Destructive annotations: pass functional
    • First check of Schema quality: fail functional
    • First check of Tool coverage: 100 functional
    • First check of Schema quality: good functional
    • First check of Tool coverage: 100 functional
    • First check of Schema quality: fail functional
  • 14 Oct 26 0
    • Tool safety: Tool safety not yet verified: this package could not be installed in a clean environment, so we have no tool text to scan. security
    • Stability: Stability not yet verified: this package could not be installed in a clean environment, so we have no schema to compare. security
    • Tool coverage: Tool coverage not yet verified: this package could not be installed in a clean environment, so we have no tool definitions to assess. functional
    • Capabilities: Protocol version not yet verified: this package could not be installed in a clean environment, so we never saw its MCP handshake. functional
    • Schema quality: Schema quality not yet verified: this package could not be installed in a clean environment, so we have no schema to assess. functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Analysed pypi/quant-swarm@0.5.0

Provenance Verified

A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.

Result Verified
Ecosystem pypi
Reason Verified
Discovered via Registry attestation endpoint
Source repo blink1217/trading-swarm-mcp
Certificate issuer https://token.actions.githubusercontent.com
Certificate SAN https://github.com/blink1217/trading-swarm-mcp/.github/workflows/publish.yml@refs/tags/v0.5.0
Rekor log index 3109165272
Predicate type PyPI publish attestation https://docs.pypi.org/attestations/publish/v1
Subject digest sha256:4b7f5338e142b12974537961ed3a7c79a78c0b2e4ed73172d2796ce60f3ad1a3

Background: How many MCP packages publish verified provenance →

Install scripts 1 script
Hook Tier Command
build_backend allowlisted setuptools.build_meta

Background: Why install scripts are a supply-chain risk →

Dependencies 36 packages
Packages resolved 36
No linked repository 1
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 13 exposed · ~1,543 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
cache.offline ~50

Toggle cache-only mode: no network access; reads served from cache, fetches refused.

NameTypeReqDescription
enabledbooleanyesTrue = cache-only mode (no network; reads from cache, fetches refused).
NameTypeReqDescription
accessstring––
enabledboolean––
errorstring––
howstring––
request_access_atstring––
semanticsstring––
toolstring––

No examples provided.

cache.stats ~26

Cache inventory: rows per symbol, session bounds, depth in weeks, API-call accounting.

Input schema present but exposes no named parameters.

NameTypeReqDescription
accessstring––
errorstring––
howstring––
offline_modeboolean––
per_symbolobject––
request_access_atstring––
toolstring––

No examples provided.

cache.warm ~110

Backfill history for a universe (default: the swarm's 13-symbol universe). After warming, every finalized session is immutable in cache — replays cost zero API calls. Requires network and a valid SWARM_MCP_ACCESS_TOKEN; refused in cache.offline mode.

NameTypeReqDescription
universe––Optional list of tickers to backfill (default: the swarm's 13-symbol universe).
yearsnumber–Years of daily history to backfill (max limited by the plan's backfill window).
NameTypeReqDescription
accessstring––
errorstring––
escalationobject––
howstring––
immutabilitystring––
limitsobject––
request_access_atstring––
rows_upsertedinteger––
symbolsobject––
toolstring––

No examples provided.

features.build ~130

Exact FEATURE_ORDER feature vector for symbol at session as_of, with provenance per field. Runs the no-lookahead guard (every feature must equal a fresh causal recomputation at as_of) and the point-in-time provenance guards. Tier-B/C fields without recorded point-in-time evidence are returned as UNSCORABLE — never neutral-filled with 0.0.

NameTypeReqDescription
as_ofstringyesPoint-in-time session date (YYYY-MM-DD); every feature is a causal recomputation at this date, never a later revision.
symbolstringyesTicker symbol, e.g. AAPL.
NameTypeReqDescription
accessstring––
as_ofstring––
errorstring––
escalationobject––
feature_orderarray––
howstring––
limitsobject––
no_lookaheadstring––
provenancearray––
request_access_atstring––
symbolstring––
toolstring––
vectorobject––
violationsarray––

No examples provided.

market.climate ~207

Area-specific weather research for each symbol's operating footprint. Fetches the keyless Open-Meteo 14-day forecast AND the same 14 calendar days one year prior per operating area (where the product is made and/or sold), then exposure-weights into symbol aggregates. Returns derived sums/means/ratios/ counts/buckets per area and per symbol — never raw per-day series. A London forecast is never substituted for a product made and sold in New York. Free tool; no provider credentials needed. Not investment advice.

NameTypeReqDescription
areas––Optional caller-supplied operating areas for underlyings outside the shipped registry: [{symbol, name?, lat, lon, weight?}]. Weather is fetched ONLY for these made/sold geographies — never the listin…
symbolsarrayyesTickers whose operating-area climate to research (registry-covered weather-exposed underlyings, or any ticker you supply `areas` for).
NameTypeReqDescription
accessstring––
climateobject––
coveredarray––
errorstring––
howstring––
learn_morestring––
methodologystring––
not_investment_adviceboolean––
registry_coverageinteger––
request_access_atstring––
sourcestring––
toolstring––
uncoveredarray––

No examples provided.

market.microstructure ~93

Derived-only microstructure snapshot: order-flow imbalance, VPIN toxicity bucket, and effective half-spread — percentile-ranked within the series. Pro tool.

NameTypeReqDescription
bars––Optional caller-supplied OHLCV rows [{symbol, ts, open, high, low, close, volume}].
symbol––Ticker to analyze (served from the shared cache/relay); omit when passing your own bars.
NameTypeReqDescription
accessstring––
errorstring––
howstring––
learn_morestring––
methodologystring––
not_investment_adviceboolean––
request_access_atstring––
signalsobject––
sourcestring––
toolstring––

No examples provided.

market.pulse ~175

Derived-only technical snapshot: trend, volatility, oscillator, volume, and regime signals. Never returns raw open/high/low/close/volume or provider quote values — only ratios, percentile ranks (trailing 1y), and causal regime labels. Pass `symbols` to use the shared cache/relay, or pass your own `bars` rows (same shape as get_bars) for symbols we don't carry. This is the recommended tool for general market analysis; not investment advice.

NameTypeReqDescription
bars––Optional caller-supplied OHLCV rows [{symbol, ts, open, high, low, close, volume}] for symbols the shared cache does not carry.
symbols––Optional list of tickers to analyze via the shared cache/relay (default: none — supply symbols or your own bars).
NameTypeReqDescription
accessstring––
errorstring––
howstring––
learn_morestring––
methodologystring––
not_investment_adviceboolean––
request_access_atstring––
signalsobject––
sourcestring––
toolstring––

No examples provided.

market.rank ~115

Cross-sectional percentile rank of one derived metric across the symbol list — no raw metric values returned. Pro tool.

NameTypeReqDescription
bars––Optional caller-supplied OHLCV rows [{symbol, ts, open, high, low, close, volume}].
metricstring–Metric to rank by: momentum_20d | volume_ratio_20d | atr_pct | rsi_14.
symbols––List of tickers to rank (via the shared cache/relay); omit when passing your own bars.
NameTypeReqDescription
accessstring––
errorstring––
howstring––
learn_morestring––
methodologystring––
metricstring––
not_investment_adviceboolean––
rankobject––
request_access_atstring––
sourcestring––
toolstring––

No examples provided.

market.regime ~100

Free tool — causal regime label per symbol (high_vol / drawdown / chop / melt_up / gap_heavy), derived from point-in-time bars with no lookahead.

NameTypeReqDescription
bars––Optional caller-supplied OHLCV rows [{symbol, ts, open, high, low, close, volume}] for symbols the shared cache does not carry.
symbols––Optional list of tickers to label via the shared cache/relay.
NameTypeReqDescription
accessstring––
errorstring––
howstring––
learn_morestring––
methodologystring––
not_investment_adviceboolean––
regimesobject––
request_access_atstring––
sourcestring––
toolstring––

No examples provided.

market.screen ~105

Ranked, derived-only screen over the symbol list — cross-sectional percentile ranks, never raw prices or volumes. Pro tool.

NameTypeReqDescription
bars––Optional caller-supplied OHLCV rows [{symbol, ts, open, high, low, close, volume}].
criteriastring–Screen criterion: breakout | momentum | volume | anomaly.
symbols––List of tickers to screen (via the shared cache/relay); omit when passing your own bars.
NameTypeReqDescription
accessstring––
criteriastring––
errorstring––
howstring––
learn_morestring––
methodologystring––
not_investment_adviceboolean––
request_access_atstring––
screenedobject––
sourcestring––
toolstring––

No examples provided.

market.sentiment ~64

Derived-only sentiment/news snapshot for one symbol: headline count, earnings flag, and day-change bucket. Never returns raw quote values or headline text — quantized signals only. Not investment advice.

NameTypeReqDescription
symbolstringyesTicker symbol, e.g. TSLA.
NameTypeReqDescription
accessstring––
as_ofstring––
day_change_bucketstring––
earnings_within_3dboolean––
errorstring––
headline_count_7dinteger––
howstring––
learn_morestring––
not_investment_adviceboolean––
provenanceobject––
request_access_atstring––
symbolstring––
toolstring––

No examples provided.

pit.analysis ~284

Is this alternative-data signal real for these tickers - or noise? Explained PIT significance per underlying, from the release-gated pit_analysis/v2 run: every (dataset|metric|horizon) family reports rolling 52-week IR, Newey-West two-sided p, observation count, research-only and staleness flags, and an explicit verdict - SIGNIFICANT (survives the funnel's IR > 0 and Benjamini-Hochberg q <= 0.05 gate of the same run), NOT_SIGNIFICANT, below the observation floor, or UNVERIFIED. Point-in-time, derived-only, no raw values; free lite answers, Pro gives every family. Not investment advice.

NameTypeReqDescription
as_of––Point-in-time cutoff (YYYY-MM-DD, default today): release points after this date are ignored.
horizons––Subset of the run's horizons, e.g. ['1d','1w','1m','6m'] (default: all).
max_familiesinteger–Max families returned per underlying, most significant first (1-100).
only_significantboolean–Only return families with at least one SIGNIFICANT horizon (counts still cover everything).
symbolsarrayyesUnderlying tickers to query (max 10). Results are per underlying.
NameTypeReqDescription
accessstring––
errorstring––
howstring––
how_to_readstring––
learn_morestring––
methodologystring––
not_investment_adviceboolean––
request_access_atstring––
run_idstring––
sourcestring––
toolstring––
unavailableobject––
underlyingsobject––

No examples provided.

volume.forecast ~84

Derived-only volume forecast expressed as a ratio to the trailing 20-session average, with a 10th-90th percentile interval. Never returns raw share counts. Pro tool.

NameTypeReqDescription
horizon_barsinteger–Number of sessions ahead to forecast (1-10).
symbolstringyesTicker to forecast (served from the shared cache/relay).
NameTypeReqDescription
accessstring––
as_ofstring––
errorstring––
forecast_ratio_to_20d_avgnumber––
horizon_barsinteger––
howstring––
interval_p10_p90array––
learn_morestring––
not_investment_adviceboolean––
notestring––
request_access_atstring––
symbolstring––
toolstring––

No examples provided.

Install

How do I install the quant-swarm MCP server?

quant-swarm runs locally as a PyPI package, launched with uvx quant-swarm. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

pypi · quant-swarm

# add to Claude Code
claude mcp add blink1217-quant-swarm -- uvx quant-swarm
Common questions

What is the quant-swarm MCP server?

quant-swarm is an MCP server listed in the public MCP registry as io.github.blink1217/quant-swarm. Risk-first pre-trade checks, PIT data, leakage audits, and a Shadow Tournament vs a live champion. This page covers its PyPI package (quant-swarm).

Is the quant-swarm MCP server safe to use?

quant-swarm scores 73 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 2026. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the quant-swarm MCP server expose?

quant-swarm exposes 13 tools: features.build, market.pulse, market.sentiment, market.climate, pit.analysis, and 8 more. Their descriptions and schemas cost roughly 1,543 tokens of context every time the server is loaded.

Is the quant-swarm MCP server still maintained?

quant-swarm is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.