MCP.Market

Crashtestyourstrategy MCP server

online · 100% uptime
by fnobbe·io.github.fnobbe/crashtestyourstrategy·v1.0.1

Portfolio and strategy stress diagnostics with hedge-break detection and regime outlook. Free tier.

B77/100grade B
What users say
No reviews yet
Be the first
Safety scan
B77/100

full report

Adoption
New

0 stars

Reviews

Write one

Nobody has reviewed Crashtestyourstrategy yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Crashtestyourstrategy tools (16, 2 write)

write = sends, deletes, buys or posts
  • backtest_integrityFree

    Confront a backtest claim with its over-optimism failure modes before trusting it. Given an annualized Sharpe + the number of configurations tried + the backtest window (YYYY-MM-DD), returns: the DEFLATED Sharpe — the expected MAXIMUM Sharpe achievable by chance grows with the trial count, so a high in-sample Sharpe is a selection artifact (Bailey & López de Prado); which CRISIS REGIMES were ABSENT from the backtest window (untested, from the historical-anchor catalogue); and a base-rate caveat. If the trial count is unknown — the usual case for an agent reasoning from a backtest — the Sharpe is flagged as not-deflatable / UNPROVEN. All inputs optional; supply as many as known. Descriptive, not advisory.

  • challenge_strategyFree

    Adversarial-evaluation primitive — the semantic integration layer of the platform. Given a strategy identifier, returns a 3-layer analysis: (1) outcome metrics in the worst regimes the strategy was evaluated against, (2) vulnerability profile in the 8-dimension strategy vulnerability ontology with severity classification, (3) descriptor attribution showing which regime descriptors most strongly couple to the strategy's failure. v1 supports only 'buy_and_hold' (the outcome matrix is built once per strategy); future versions will support arbitrary strategy specs once the parser-driven strategy backtest pipeline is wired in. Read ontology://strategy-vulnerabilities for the vulnerability vocabulary.

  • describe_regimeFree

    Single-regime introspection: returns the median behavioural descriptors of a known regime, the z-scores vs the catalogue population (so you can see what makes THIS regime distinct from the average), an English characterisation generated from the most extreme descriptors, and the top 2 nearest neighbours as a preview. Complements find_similar_regime: that tool ranks neighbours of a target, this tool tells you what a single regime IS. Read this before searching if you want to reason about one regime first.

  • factor_decompositionFree

    Reveal HIDDEN risk concentration: a portfolio can be capital-diversified while its RISK is dominated by one factor. Returns the Euler risk-contribution decomposition (RC_i = w_i*(Sigma*w)_i / w'Sigma*w, summing to 1) alongside the capital weights, using the empirical covariance of real returns. For this universe each asset proxies a factor (SPY=equity-beta, TLT=duration, GOLD=real-asset, BTC=crypto). E.g. a 60/40 is ~83% equity risk; a 50/50 SPY/BTC is ~86% BTC risk despite 50/50 capital. Descriptive, not advisory.

  • find_similar_regimeFree

    Nearest-neighbour retrieval over the cached regime catalogue. Provide EITHER a reference_profile_hint (use that bundle's median descriptors as target) OR a descriptor_target dict (partial spec, missing dimensions are ignored — only the provided ones contribute to distance). Optional asset_filter restricts to one asset. Returns top_n matches with similarity_score (0..1), euclidean distance in z-score space, and per-descriptor signed deltas so the agent can see WHY a regime matched. Read ontology://regime-descriptors for the descriptor definitions, and regimes://descriptors for the full catalogue.

  • get_dossierFree

    Compile recorded diagnostic responses into ONE citable record — a proper process documents itself. Every envelope response (MCP and REST) is recorded automatically, keyed by its request_id. Provide explicit request_ids (compiled chronologically) or last_n for the most recent entries. Returns the entries with their gate signals (revision_required + grounding_summary each) plus a ready-to-cite markdown document; revision_required on the dossier itself flags workflows containing unaddressed gate signals. Single verbatim entries: GET /api/v1/dossier/{request_id} on the REST surface. A factual record, not an assessment — descriptive, never advisory.

  • get_investment_thesisFree

    Return the complete thesis for `slug`: the economic framework (pillars with [E]/[M]/[K] evidence grades, falsifiers and a deep-dive), the rule-based portfolio (asset blocks × conservative/balanced/offensive weights + sizing rationale), and the stress evidence (per-tier backtest, per-regime median drawdown, real historical episodes, pre-registered claim verdicts, and the hedge hold/break behaviour). This is the 'instant portfolio with all tested attributes'. Discover slugs with list_investment_theses(). Descriptive, not advisory — the agent decides suitability.

  • ips_gateFree

    Check a portfolio against an Investment Policy Statement BEFORE accepting it — the planning step a proper process does FIRST (CFA). Provide holdings + IPS constraints (max_drawdown_tolerance as a fraction e.g. 0.15, time_horizon_years, liquidity_need 'low'|'medium'|'high'). Runs the stress test internally and flags where the proposal VIOLATES the stated policy: worst stress drawdown exceeds tolerance; a short horizon cannot absorb a deep drawdown; material holdings are less liquid than the stated need. A HARD GATE, not a score. Descriptive, not advisory.

  • list_investment_thesesFree

    Discover the investment-thesis catalog. Each entry is a descriptive case study that pairs an economic framework with a rule-based portfolio and the synthetic + historical stress evidence for that allocation. Returns one compact summary per thesis (slug, title, one-liner, tags, risk tiers, framework summary, headline finding). Call get_investment_thesis(slug) for the full framework / portfolio / stress evidence, or read the thesis://{slug} resource. Descriptive, not advisory — the agent decides what is suitable.

  • long_horizon_stressFree

    Distribution of multi-year wealth paths for a savings plan (monthly_contribution) or a withdrawal plan (monthly_withdrawal, inflation-indexed by default) on a portfolio from the substrate universe. Multi-year paths chain ~2y model blocks (block-bootstrap, disclosed); long-run drift is RE-ANCHORED to stated capital-market assumptions (overridable via long_run_drift; the substrate's raw stress drift would compound a structural bear universe — both are echoed in the output) while the model's path shape (vol, clustering, correlations, hedge-breaks) is kept. Costs are ON by default. Returns terminal-wealth quantiles (nominal + real), ruin/shortfall probabilities, a sequence-of-returns diagnosis (same plan, bad vs good first two years), and a drift-sensitivity block (assumptions − 2pp). Amounts in the caller's currency unit. Descriptive, not advisory — no rate, allocation, or product is recommended.

  • market_regime_mapFree

    Compressed cross-category map of the current market state in ONE call: for 18 category proxies (US large-cap + tech, the 9 SPDR sectors, developed ex-US, emerging markets, long Treasuries, high-yield credit, gold, oil, Bitcoin) the operational regime (BULL/SIDEWAYS/BEAR/CRISIS), model-conditional regime probabilities over a 5- or 21-trading-day horizon, stress probability vs its unconditional baseline, a descriptive historical forward-return distribution conditional on the current regime label, and an equity-factor commonality flag (US sectors largely re-express one factor — the map is fewer independent signals than rows). Per (asset, horizon) cell only the preregistered, out-of-sample-validated model tier ships (covariate logit / persistence / unconditional — see tier_pvalues). Deliberately ships NO directional up/down forecast: regime membership is the validated signal, not return direction. Use regime_outlook for single-asset depth with as_of support. Descriptive, not a market prediction, not advisory.

  • portfolio_compareFree

    Compare two portfolios (A = reference, B = candidate revision) on IDENTICAL simulated substrate paths — a paired design, so every delta is attributable to the weights, not seed noise. Returns drawdown-distribution deltas (median/worst/quantiles), probability-weighted scenario summaries, per-scenario outcome deltas, risk-concentration shift (Euler decomposition), and which diversification failures the candidate introduces or resolves. revision_required flags a candidate that deepens the worst-path drawdown or introduces a new diversification failure — the case where a revision made robustness worse. Provide holdings_a / holdings_b as lists of {asset, weight}. Descriptive, not advisory; neither portfolio is recommended or ranked.

  • portfolio_stress_testFree

    Stress a multi-asset portfolio across cross-asset regimes (baseline / risk_off_crisis / rate_shock). Provide `holdings` as a list of {asset, weight}; weights are normalised. Returns, per regime: portfolio return, worst-episode drawdown, a per-leg decomposition, and a cross_asset_finding (diversification_intact / hedge_holds / hedge_breaks / shared_drawdown) describing how the holdings behaved TOGETHER. The joint correlation structure (incl. the bond hedge that can break under rate shocks) is baked into a pre-computed substrate, so Tier-1 is instant over a fixed universe (read portfolio://universe). Optional `costs` ({rebalance: none|daily|monthly|quarterly|band, annual_costs: {asset: fraction}, transaction_cost_bps}) adds a cost_impact block: frictionless vs the stated rebalancing policy + costs via a path-loop engine with real unit accounting, paired on identical paths. The substrate is a fixed 4-asset universe (SPY, TLT, GOLD, BTC; read portfolio://universe). For ANY other ticker or a custom multi-asset book, use build_portfolio in assess mode (portfolios={name:{ticker:weight}}), which calibrates and stresses an arbitrary universe live. Descriptive, not advisory.

  • regime_outlookFree

    Model-conditional probabilities that an asset is in each market regime (BULL / SIDEWAYS / BEAR / CRISIS, operational trailing-vol/drift labels) after a 5- or 21-trading-day horizon — the probability complement to the conditional stress tools: stress tools answer 'what happens GIVEN regime X', this answers 'how likely is regime X from today's observable state'. Ships only the preregistered, out-of-sample-validated tier (covariate logit; seasonality was tested and falsified); the persistence and unconditional baselines are reported alongside so an agent can see how much the model adds. Validated assets: SPY, QQQ, GLD, TLT. Optional as_of (YYYY-MM-DD) computes the outlook at a historical date. Probabilities describe membership in operationally defined regime classes — descriptive, not a market prediction, not advisory.

  • run_stress_testwrite actionFree

    Run a buy-and-hold backtest against the synthetic stress regime identified by profile_hint. Returns a structured diagnostic: robustness score (0-100), per-FM-bucket failure-behavior classification with confidence + context, and the resolved regime parameters that were actually evaluated. v1 supports only buy-and-hold. To discover available regime profile_hints, read the `regimes://available` resource. Diagnostic is descriptive, not advisory.

  • submit_feedbackwrite actionFree

    Persist structured improvement feedback about a previous tool response. Provide your agent identity, the request_id you are commenting on, and one or more feedback items each carrying category (from the FeedbackCategory ontology), severity, observation, optional suggested_action, and agent_confidence (0..1). Read `feedback://insights` to see aggregated cross-agent feedback.

Public scan report

scanner v0.1.9 · 2026-09-24 · same rubric, same numbers if you re-run it

1 high
  • –Code scanremote-only server, no package to scann/a
  • Live reliabilityremote reachable in 1160ms20/20
  • Tool poisoning16 tool descriptions checked15/15
  • Auth qualityopen endpoint exposes 2 write-action tools with no auth3/15
  • Maintenancelast push 54 days ago12/15
  • Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10

Findings (1)

  • highWrite-action tools reachable without authenticationauth.open-write
Overall 77/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How Crashtestyourstrategy compares

Against every graded Email MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
77/100
higher than 50% of 916 Email servers
Tools
16
the typical Email server has 7
Tools that change things
13%
typical: 25%. Fewer write tools means less an agent can break
Uptime
100%
of our recent checks; the typical remote Email server answers 100%
Response time
535 ms
faster than 26% of 609 Email servers

What its tools let an agent do: 13 read · 2 change · 1 run or deploy

Install Crashtestyourstrategy in Claude Code, Cursor or VS Code

claude mcp add --transport http crashtestyourstrategy https://mcp.crashtestyourstrategy.ai/mcp
Add to Cursor

What the publisher says

From the Crashtestyourstrategy repository's README, as published. We do not edit it. Read it on GitHub

CrashTestYourStrategy — MCP Server

Remote MCP server for portfolio & trading-strategy stress diagnostics. Free tier — no key, no signup. Descriptive, never advisory.

https://mcp.crashtestyourstrategy.ai/mcp

Listed in the official MCP registry as io.github.fnobbe/crashtestyourstrategy. This repository is the public server card — the service itself is closed-source; everything an agent (or a reviewer) needs to verify behaviour is linked below.

Quick start

Claude Code:

claude mcp add --transport http ctys https://mcp.crashtestyourstrategy.ai/mcp

Generic MCP client config (streamable HTTP):

{
  "mcpServers": {
    "ctys": {
      "type": "streamable-http",
      "url": "https://mcp.crashtestyourstrategy.ai/mcp"
    }
  }
}

claude.ai: Settings → Connectors → Add custom connector with the URL above.

The free tier is rate-limited per IP (30 req/min). No account, no key.

What it does

An open diagnostics layer that confronts a proposed portfolio or trading strategy with the failure modes an optimistic backtest ignores — hedge breaks (the 2022 stock-bond case), sequence-of-returns risk, regime blind spots, deflated Sharpe.

Free tier (16 tools)

Full tier (token via contact): tier2stresstest (stress any ticker with auto-calibration + realism gate), buildportfolio, portfoliofrontier.

Response contract

Every response is a versioned envelope (ctys-agent-v1 family) carrying:

  • grounding_summary — a risk-focused factual statement of the omitted tail
  • revision_required — a gate-capable signal (never a directive)
  • methodological_limitations — required disclosure of what the diagnostic does NOT establish
  • datathrough / datastaleness_days — self-reported data freshness (EOD, refreshed daily)

validation:// resources expose the realism trust layer: 18 measured stylized facts per asset vs historical reference bands — the falsifiability surface. Recompute locally; trust by independent reproduction.

Scope & compliance

Model-based scenario simulation. Descriptive, never advisory: no suitability, timing, or ranking claim is made or implied — the agent decides what "suitable" means. Out-of-sample limits are disclosed, not hidden (e.g. the GFC hedge-behaviour test failed and ships as a documented limitation).

Links

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

Crashtestyourstrategy: common questions

Is Crashtestyourstrategy MCP server safe?
Mostly: it is graded B (77/100). Read the Crashtestyourstrategy safety report
How do I install Crashtestyourstrategy?
It runs remotely at mcp.crashtestyourstrategy.ai. Add it to Claude Code, Cursor, VS Code or Claude Desktop with the snippets above, or call it through the mcp.market gateway without installing anything.
Does Crashtestyourstrategy need an API key?
Not as far as the registry entry and our scan can tell: no credentials are declared or required.
Is Crashtestyourstrategy maintained?
The last commit was 95 days ago (2026-08-01). The latest release is v1.0.1.
Is Crashtestyourstrategy up?
100% of our last 28 checks got an answer. We check remote servers about four times a day.
What can I use instead of Crashtestyourstrategy?
Servers from other publishers that do the same job: Mailoo - Email MCP Server, Inbox Zero MCP server and Outlook MCP server.
How does Crashtestyourstrategy compare with other Email MCP servers?
safety score 77/100 (higher than 50% of 916 Email servers); tools 16 (the typical Email server has 7); tools that change things 13% (typical: 25%. Fewer write tools means less an agent can break). Full comparison.

Alternatives to Crashtestyourstrategy

Same job from other publishers: the closest match first, then the best rated.

  • Mailoo - Email MCP Server
    Email MCP server for AI agents: IMAP/SMTP, Gmail, Outlook, calendar, ManageSieve, AI triage, OAuth2.
    A
  • Inbox Zero
    Search Gmail and Outlook, save drafts, manage email rules, and view email stats.
    A
  • Outlook MCP
    Microsoft Outlook personal accounts: mail, rules, calendar, contacts, to-do, drafts (77 tools).
    A
  • Outlook Assistant
    Microsoft Outlook MCP server — 22 tools for email, calendar, contacts, and mailbox management.
    A
  • Email
    Unified email MCP server for Gmail, Outlook, iCloud, and IMAP with batch operations
    A