Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Authorization not required, issuer https://app.luxalgo.com/api/auth
Certificate changed, valid to 2027-01-08
Changed the definition of "edge_presets", "edge_report", "edge_symbols" and 39 more
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true,"title":"List Edge Stats report presets"}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true,"title":"Get a hosted Edge Stats report"}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true,"title":"Hosted Edge Stats coverage"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"readOnlyHint":false,"title":"Log a trade by hand"}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true,"title":"Journal P&L breakdown"}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true,"title":"Journal P&L calendar"}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true,"title":"Get one journal day"}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true,"title":"Get one journal trade"}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true,"title":"List journal accounts"}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true,"title":"List journal tags, mistakes and playbooks"}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true,"title":"List journal trades"}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true,"title":"Journal dashboard"}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true,"title":"Search journal notes"}
⟨43 unchanged words⟩ journal_update_trade, not here. Returns the updated note. Day notes in the LuxAlgo journal: https://docs.luxalgo.com/platform/workspaces/journal/notes Requires signing in with a LuxAlgo account (OAuth).
{"destructiveHint":true,"idempotentHint":true,"openWorldHint":true,"readOnlyHint":false,"title":"Update a journal note"}
{"destructiveHint":true,"idempotentHint":true,"openWorldHint":true,"readOnlyHint":false,"title":"Annotate a journal trade"}
⟨47 unchanged words⟩ journal_update_trade's `notes`. Returns the note with its id. Day notes in the LuxAlgo journal: https://docs.luxalgo.com/platform/workspaces/journal/notes Requires signing in with a LuxAlgo account (OAuth).
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":false,"title":"Write a journal note"}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true,"title":"Get a Library concept"}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true,"title":"Get a family hub"}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true,"title":"Get a Library indicator"}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true,"title":"Get an indicator's source code"}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true,"title":"List Library concepts"}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true,"title":"List concept families"}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true,"title":"List Library indicators"}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true,"title":"List indicator tags"}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true,"title":"Search the LuxAlgo Library"}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true,"title":"My LuxAlgo account"}
⟨429 unchanged words⟩ keyless prop-firm directory API - the data behindluxalgo.com/prop-firms (origin overridable via the LUXALGO_APP_ORIGIN env var).luxalgo.com/prop-firms. Rule semantics are used verbatim where the directory ⟨88 unchanged words⟩
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true,"title":"Get a challenge's full ruleset"}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true,"title":"Compare challenges for one trader"}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true,"title":"Get a prop firm"}
⟨91 unchanged words⟩ keyless prop-firm directory API - the data behindluxalgo.com/prop-firms (origin overridable via the LUXALGO_APP_ORIGIN env var).luxalgo.com/prop-firms. Rule semantics are used verbatim where the directory ⟨103 unchanged words⟩
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true,"title":"List prop firms and challenges"}
⟨351 unchanged words⟩ Results are distributions under stated assumptions, not promises. Results describe simulated outcomes of the user's own inputs under stated assumptions; they are not financial advice or a recommendation of any risk level.
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true,"title":"Find pass- and EV-optimal risk per trade"}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true,"title":"Reference pass rates per archetype"}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true,"title":"Search prop firms"}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true,"title":"Search prop-firm challenges"}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true,"title":"Search prop-firm offers"}
⟨374 unchanged words⟩ (funded.payoutRules) are actually SIMULATED, not merelyflagged - a distinguishing feature of this engine.flagged. Consistency uses a rational stop rule (the ⟨53 unchanged words⟩ checked per payout window (flag 'funded-consistency-window-approximated').The pre-1.0 flag id 'funded-payout-resets-account' no longer exists.UNITS: every *Pct rule field and every percent-mode ⟨149 unchanged words⟩ keyless prop-firm directory API - the data behindluxalgo.com/prop-firms (origin overridable via the LUXALGO_APP_ORIGIN env var).luxalgo.com/prop-firms. Rule semantics are used verbatim where the directory ⟨56 unchanged words⟩ rules; each firm's own page is always authoritative.Composes with any broker-statistics tool: if another MCP server exposes round-trip statistics (winRate, avgWin, avgLoss) or a raw R-multiple series from the user's real trades, feed them here to answer "given my actual trading, what are my odds on this challenge and what risk should I use?". Convert currency statistics to R-multiples by dividing by the average amount risked per trade: winRate stays a fraction, avgWinR = avgWin / avgRisk, avgLossR = |avgLoss| / avgRisk.
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true⟨13 unchanged words⟩ stationary block bootstrap instead of a win-rate model.WHY THIS BEATSWhyWIN-RATEresamplingMATHmatters: challenge rules are breached by streaks, not ⟨399 unchanged words⟩ (funded.payoutRules) are actually SIMULATED, not merelyflagged - a distinguishing feature of this engine.flagged. Consistency uses a rational stop rule (the ⟨53 unchanged words⟩ checked per payout window (flag 'funded-consistency-window-approximated').The pre-1.0 flag id 'funded-payout-resets-account' no longer exists.UNITS: every *Pct rule field and every percent-mode ⟨130 unchanged words⟩ Results are distributions under stated assumptions, not promises.Composes with any broker-statistics tool: if another MCP server exposes round-trip statistics (winRate, avgWin, avgLoss) or a raw R-multiple series from the user's real trades, feed them here to answer "given my actual trading, what are my odds on this challenge and what risk should I use?". Convert currency statistics to R-multiples by dividing by the average amount risked per trade: winRate stays a fraction, avgWinR = avgWin / avgRisk, avgLossR = |avgLoss| / avgRisk.
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true,"title":"Screen a strategy across all challenges"}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true,"title":"List Market Trackers datasets"}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true,"title":"Newest Market Trackers rows"}
⟨108 unchanged words⟩ 2024], where {code: 'P'}; asenator'smember of Congress's trades → congress-trades, text'Tuberville';set to their name; who lobbied on a bill → lobbying-filings, text 'H.R.1234'.
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true,"title":"Query a Market Trackers dataset"}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true,"title":"Ticker across Market Trackers"}
Changed the definition of "edge_presets", "edge_report", "edge_symbols" and 37 more
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true}
Authorization not required, issuer https://app.luxalgo.com/api/auth
Authorization not required
Changed the definition of "edge_presets", "edge_report", "edge_symbols" and 25 more
before
—after
{"openWorldHint":true,"readOnlyHint":true}before
—after
{"openWorldHint":true,"readOnlyHint":true}Certificate recorded, valid to 2026-11-08
Authorization not required, issuer https://app.luxalgo.com/api/auth
First tool surface recorded: 42 tools (server version 1.4.1)
Showing the latest 10 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true,"title":"Simulate from a real trade series"}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true}
{"destructiveHint":true,"idempotentHint":true,"openWorldHint":true,"readOnlyHint":false}
{"destructiveHint":true,"idempotentHint":true,"openWorldHint":true,"readOnlyHint":false}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true}
{"destructiveHint":false,"openWorldHint":true,"readOnlyHint":true}
before
—after
{"openWorldHint":true,"readOnlyHint":true}before
—after
{"openWorldHint":true,"readOnlyHint":true}before
—after
{"openWorldHint":true,"readOnlyHint":true}before
—after
{"openWorldHint":true,"readOnlyHint":true}before
—after
{"openWorldHint":true,"readOnlyHint":true}before
—after
{"openWorldHint":true,"readOnlyHint":true}before
—after
{"openWorldHint":true,"readOnlyHint":true}before
—after
{"openWorldHint":true,"readOnlyHint":true}before
—after
{"openWorldHint":true,"readOnlyHint":true}before
—after
{"openWorldHint":true,"readOnlyHint":true}before
—after
{"openWorldHint":true,"readOnlyHint":true}before
—after
{"openWorldHint":true,"readOnlyHint":true}before
—after
{"openWorldHint":true,"readOnlyHint":true}before
—after
{"openWorldHint":true,"readOnlyHint":true}before
—after
{"openWorldHint":true,"readOnlyHint":true}before
—after
{"openWorldHint":true,"readOnlyHint":true}before
—after
{"openWorldHint":true,"readOnlyHint":true}before
—after
{"openWorldHint":true,"readOnlyHint":true}before
—after
{"openWorldHint":true,"readOnlyHint":true}before
—after
{"openWorldHint":true,"readOnlyHint":true}before
—after
{"openWorldHint":true,"readOnlyHint":true}before
—after
{"openWorldHint":true,"readOnlyHint":true}before
—after
{"openWorldHint":true,"readOnlyHint":true}before
—after
{"openWorldHint":true,"readOnlyHint":true}before
—after
{"openWorldHint":true,"readOnlyHint":true}before
—after
{"openWorldHint":true,"readOnlyHint":true}