# 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 ``` [![smithery badge](https://smithery.ai/badge/nobbefrederic/crashtestyourstrategy)](https://smithery.ai/servers/nobbefrederic/crashtestyourstrategy) Listed in the [official MCP registry](https://registry.modelcontextprotocol.io) 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: ```bash claude mcp add --transport http ctys https://mcp.crashtestyourstrategy.ai/mcp ``` Generic MCP client config (streamable HTTP): ```json { "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)** | Group | Tools | |---|---| | Portfolio | `portfolio_stress_test` (multi-asset stress across baseline / risk-off / rate-shock regimes, hedge-break detection, full drawdown distribution) · `portfolio_compare` · `factor_decomposition` · `ips_gate` (hard gate vs an Investment Policy Statement, breach probability not median path) · `long_horizon_stress` (multi-year savings/withdrawal plans, ruin probabilities) | | Strategy | `run_stress_test` · `challenge_strategy` · `backtest_integrity` (deflated Sharpe + which crisis regimes the backtest window missed) | | Regimes | `regime_outlook` (model-conditional BULL/SIDEWAYS/BEAR/CRISIS probabilities at 5/21 trading days — preregistered, out-of-sample validated, refreshed daily) · `market_regime_map` (18-category cross-asset map) · `describe_regime` · `find_similar_regime` | | Record & catalog | `list_investment_theses` · `get_investment_thesis` · `get_dossier` (citable audit trail of prior calls) · `submit_feedback` | **Full tier** (token via [contact](https://crashtestyourstrategy.com/contact)): `tier2_stress_test` (stress **any** ticker with auto-calibration + realism gate), `build_portfolio`, `portfolio_frontier`. ## 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 - `data_through` / `data_staleness_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 - Capability declaration: (JSON: [/interop.json](https://crashtestyourstrategy.com/interop.json)) - Methodology: - Weekly market-regime outlook (citable, auto-generated): - Failure-mode ontology: - llms.txt: - Smithery listing: Maintainer: [@fnobbe](https://github.com/fnobbe) · Operator contact: