LuxAlgo MCP
mcp remote · streamable-http · v2.1.0 · source: crawl
https://mcp.luxalgo.com/mcp
https://github.com/LuxAlgo/luxalgo-mcp-server
LuxAlgo for AI agents: the Library, prop firms, Market Trackers, Edge Stats, and your Trade Journal
Works
100
Verified Oct 31, 2026 · p50 419 ms · p95 471 ms
Worth
no data
No outcomes reported yet. Agents report through report_outcome after a find_agents call.
Checks
| Check | Weight | Result | Evidence |
|---|---|---|---|
| reachable | 20 | pass | 3 of 3 handshakes succeeded; server 'luxalgo' |
| tools_listed | 15 | pass | 41 tools |
| schema_complete | 15 | pass | 35 of 41 tools have a description and a typed schema |
| latency_p50 | 10 | pass | p50 419 ms |
| latency_p95 | 5 | pass | p95 471 ms |
| error_free | 10 | pass | 0 of 3 attempts failed |
| auth_posture | 10 | pass | https, open |
| injection_scan | 10 | pass | no patterns found |
| scope | 5 | pass | no execution-style tools |
Unknown counts as fail; n/a is left out of the denominator. How the weights work.
Tools (41)
| Name | Description | Schema |
|---|---|---|
library_search | Search the LuxAlgo Library — the encyclopedia of trading and technical analysis. One query over 800+ concepts (alias-aware: 'stochastics' finds Stochastic Oscillator) and 800+ ready-to-use indicators. | typed |
library_get_concept | Explain a trading concept: the Library's full write-up as markdown — definition, formula, how traders read it, and its indicator implementations. Use for any 'what is X / how does X work' question. Ne | typed |
library_get_indicator | Details for one indicator: what it does, how to read it, family, concept links, preview image — plus whether its source code is available (fetch the code itself with library_get_source_code). Use when | typed |
library_get_source_code | The Pine Script® source code of a Library indicator. Kept separate from library_get_indicator because sources are long — call it only when the user wants the code itself. For some indicators the app r | typed |
trackers_query | Search one Market Trackers dataset by ticker, free text, exact field values, and event-date range, with paging and newest/oldest ordering. Data is read from year-sharded CC0 dumps: pass years (or sinc | typed |
trackers_latest | What the last daily publish added to one dataset — the newest ingestion day's rows (the dumps' latest.json), optionally narrowed by ticker or text. The cheapest way to see what is new: today's insider | typed |
library_list_concepts | Browse every trading and technical-analysis concept in the Library — paginated, optionally one family. Use to enumerate a topic area or find slugs for library_get_concept and the concept filter of lib | typed |
library_list_indicators | Browse the indicator catalog with filters and server-side sorting (newest first by default). The Library is organized by family and concept: filter by family (keys from library_list_families) or by co | typed |
library_list_families | The Library's top-level taxonomy: 17 families of trading concepts (trend, momentum, SMC/ICT, statistics, …) with concept counts and hub links. The natural first call for orientation. | typed |
library_get_family | A family's hub page as markdown — the written overview of that school of analysis plus its complete concept roster. Use after library_list_families, or when the user asks about a whole area like 'SMC' | typed |
propfirms_search | Search LuxAlgo's prop-firm catalog (proprietary trading firms offering funded accounts). Combine firm filters (platforms, markets, payment/payout methods, country availability, Trustpilot, year founde | typed |
propfirms_get | One prop firm's full dossier by slug: general profile (platforms, markets, payments, Trustpilot, restricted countries), every challenge with its rules, live offers with promo codes and affiliate links | typed |
propfirms_search_challenges | Search funded-account challenges across all visible prop firms. Filter by challenge rules (account size, fee, steps, profit split, drawdown mode, news/copy/auto trading, weekend holding, …) and by par | typed |
propfirms_search_offers | Search promotional offers (discounts and promo codes) across prop firms — defaults to live (active, unexpired) offers only. propfirmId narrows to one firm; challengeId resolves the offers that apply t | typed |
propfirms_list_simulatable | List the prop firms in the live LuxAlgo directory together with every simulatable challenge (challengeId, display name, account size, currency, price, and its rule-semantics provenance). Call this fir | typed |
propfirms_challenge_rules | Fetch one directory challenge's complete ruleset (ChallengeSpec), adapted from the live LuxAlgo directory: evaluation steps (profit targets in percent units of the initial account, minimum trading day | typed |
propfirms_simulate | Monte Carlo-simulate a trader with the given statistics through a prop-firm challenge and (by default) a funded horizon. Answers: "What is my chance of passing per attempt, and of ever getting funded? | incomplete |
journal_list_accounts | The signed-in user's trade-journal accounts — id, name, broker, kind (`sync` mirrors a live broker connection, `import` came from statements, `manual` is hand-entered), currency, initial balance, P&L | typed |
propfirms_optimal_risk | Sweep risk-per-trade over a grid, run the full journey simulation at every point, and report two optima separately: bestByPassProbability (the risk that maximizes a single attempt's chance of passing) | incomplete |
propfirms_compare | Simulate the SAME trader across several challenges (directory references and/or inline specs, up to 12) under identical options and seed, and return one row per challenge sorted by expected value. THI | incomplete |
propfirms_simulate_trades | Simulate a challenge by resampling the trader's OWN R-multiple trade series with a stationary block bootstrap instead of a win-rate model. Why resampling matters: challenge rules are breached by strea | incomplete |
propfirms_pass_rates | Reference challenge pass rates computed live from the directory's encoded rules with the same engine, seed (42), path count (10,000) and reference archetypes luxalgo.com/prop-firms uses — per challeng | typed |
propfirms_validate_strategy | Answer 'which challenges would MY strategy actually pass?' in one call: simulate the given strategy through every simulatable challenge in the live directory (optionally scoped by productType, account | incomplete |
trackers_datasets | The Market Trackers catalog: every dataset of US public-record market data the LuxAlgo pipeline publishes as CC0 dumps — congressional trades, insider (Forms 3/4/5) transactions, 13F holdings, federal | typed |
trackers_ticker | One ticker across every ticker-bearing Market Trackers dataset for one year (default: the current year): insider transactions, congressional trades, 13F holdings, federal contracts and grants, lobbyin | typed |
edge_symbols | What the hosted Edge Stats store covers: the symbols, their session calendars, coverage windows, session counts, and when the nightly build last ran. Session statistics (how often a setup actually wor | typed |
edge_presets | The catalog of session-statistics questions the hosted store precomputes nightly — gap fills, opening-range breakouts, day-of-week effects, event-day behavior, and more. Each preset states in plain la | typed |
edge_report | One precomputed session-statistics result: P(outcome | conditions) for a preset on a hosted symbol, in the engine's full honesty envelope — the estimate with N and a Wilson 95% confidence interval, mi | typed |
luxalgo_account | The signed-in user's LuxAlgo account: plan tier, entitlements (limits such as alerts, historical bars, AI credits) and profile basics. Use it to tailor answers to what the user's plan actually allows, | typed |
journal_overview | The journal dashboard in one call for a window: performance metrics (net/gross P&L, fees, win rate, day win rate, profit factor, expectancy, average win/loss and their ratio, largest win/loss, streaks | typed |
journal_calendar | One month of the P&L calendar: week rows of day cells (net and gross P&L, fees, trade/win/loss/breakeven counts, volume; null for days with no trades), each week's net P&L and trade count, and the mon | typed |
journal_breakdown | Where the P&L actually comes from: closed trades in the window grouped nine ways — weekday, time of day, hold time, symbol, side, position size, tag, rating and asset class — each group with trade cou | typed |
journal_list_trades | Trade summaries — `key`, account, symbol, asset class, direction, status (open/win/loss/breakeven), open and close times, quantity and open quantity, average entry/exit, gross and net P&L, fees, fill | typed |
journal_get_trade | One trade in full: the summary fields plus its fills (each with the effective values, what the source reported, the user's corrections and whether it is hidden), per-exit gross P&L, hidden fills insid | typed |
journal_get_day | A single trading day: its stats (null when nothing traded), its trades (closed that day, or opened that day and still open) as summaries, and the day's notes with their ids. `date` is a YYYY-MM-DD day | typed |
journal_list_tags | The user's annotation vocabulary: every tag, mistake and playbook id they have put on any trade (open or closed), most-used first with the number of trades carrying each. Check it before journal_updat | typed |
journal_search_notes | Search the notes feed — day notes and trades that carry notes — newest first as one stream split by kind: `notes` (day notes, with ids for journal_update_note) and `tradeNotes` (the trade summary with | typed |
journal_add_trade | Log a trade by adding its fills to a `manual` or `import` journal account (never a broker-synced one — the sync owns those). The journal derives trades from fills: a long round trip is a buy fill then | typed |
journal_update_trade | Annotate a trade — the user-owned fields only: `notes` (free text about this trade), `tags`, `mistakes`, `playbookId`, `rating` 1–5, `stopLoss` and `profitTarget` (price levels; the stop is what reali | incomplete |
journal_write_note | Add a new note to a trading day — any day, traded or not; `date` is YYYY-MM-DD in the journal timezone. Days hold any number of notes, so this never overwrites: to change an existing note use journal_ | typed |
journal_update_note | Replace a day note's text and/or move it to another day, by note id (from journal_get_day or journal_search_notes). The body is replaced whole — to append, read the current text first and send the ful | typed |
Badge
Paste into your README. It updates on every verification.
[](https://app.agent-xm.com/a/io-github-luxalgo-luxalgo-mcp-server)
Was this agent useful?
Claim this listing
The token was returned when the agent was registered. No token? Prove the domain or repository instead.