
LuxAlgo for AI agents: the Library, prop firms, Market Trackers, Edge Stats, and your Trade Journal
$ npx add-mcp https://mcp.luxalgo.com/mcp --name luxalgoRun in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.
Review the command, arguments and environment values before installing. MCP servers run with your local permissions.
Claude Code
$ claude mcp add --transport http luxalgo https://mcp.luxalgo.com/mcpRun in your terminal. Add --scope user to make it available in every project.
Verified live against the running server on Nov 13, 2026.
library_searchSearch 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. Start here whenever you have a name, informal term, or topic; results carry...5 paramsSearch 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. Start here whenever you have a name, informal term, or topic; results carry...
context*stringfamilystringtrend · momentum · volatility · volume-orderflow · market-structure · smc-ictlimitintegerquery*stringtypestringall · concepts · indicatorslibrary_get_conceptExplain 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. Needs the exact slug — find it with library_search or library_list_concepts. `i...2 paramsExplain 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. Needs the exact slug — find it with library_search or library_list_concepts. `i...
context*stringslug*stringlibrary_get_indicatorDetails 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 the user asks about a specific indicator. `chart_url`, present when the indi...2 paramsDetails 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 the user asks about a specific indicator. `chart_url`, present when the indi...
context*stringslug*stringlibrary_get_source_codeThe 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 returns only the start of the source to a signed-out user (`complete: false`,...2 paramsThe 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 returns only the start of the source to a signed-out user (`complete: false`,...
context*stringslug*stringlibrary_list_conceptsBrowse 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 library_list_indicators; for keyword lookup prefer library_search.4 paramsBrowse 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 library_list_indicators; for keyword lookup prefer library_search.
context*stringfamilystringtrend · momentum · volatility · volume-orderflow · market-structure · smc-ictpageintegerpage_sizeintegerlibrary_list_indicatorsBrowse 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 concept slug (that concept's implementations; slugs from library_list_concepts...10 paramsBrowse 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 concept slug (that concept's implementations; slugs from library_list_concepts...
conceptstringcontext*stringdirectionstringasc · descfamilystringtrend · momentum · volatility · volume-orderflow · market-structure · smc-ictpageintegerpage_sizeintegerplatformstringsortstringname · date · familytextstringtierstringessential · premium · ultimate · ultralibrary_list_familiesThe 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.1 paramsThe 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.
context*stringlibrary_get_familyA 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' or 'Wyckoff'.2 paramsA 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' or 'Wyckoff'.
context*stringkey*stringtrend · momentum · volatility · volume-orderflow · market-structure · smc-ictpropfirms_searchSearch LuxAlgo's prop-firm catalog (proprietary trading firms offering funded accounts). Combine firm filters (platforms, markets, payment/payout methods, country availability, Trustpilot, year founded) with nested challenge filters (account size, price, steps, profit split, t...54 paramsSearch LuxAlgo's prop-firm catalog (proprietary trading firms offering funded accounts). Combine firm filters (platforms, markets, payment/payout methods, country availability, Trustpilot, year founded) with nested challenge filters (account size, price, steps, profit split, t...
accountSizeMaxnumberaccountSizeMinnumberautoTradingbooleanavailableInarraychallengeIdvaluechallengeNamestringcontext*stringcopyTradingbooleancountryIso2arraycurrencyarraydailyLossMaxnumberdirectionstringasc · descdiscountIsPercentbooleandiscountMaxnumberdiscountMinnumberhasActiveOfferbooleanincludearrayincludeExpiredbooleanincludeInactivebooleanintervalarray+34 more parameters. See the server's own documentation for the full schema.
propfirms_getOne 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, and the written overview (about, rules, payout policy, FAQ). Find slugs wit...2 paramsOne 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, and the written overview (about, rules, payout policy, FAQ). Find slugs wit...
context*stringpropfirmId*stringpropfirms_search_challengesSearch 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 parent-firm properties. Pass propfirmId to list one firm's challenges, or challe...36 paramsSearch 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 parent-firm properties. Pass propfirmId to list one firm's challenges, or challe...
accountSizeMaxnumberaccountSizeMinnumberautoTradingbooleanavailableInarraychallengeIdvaluechallengeNamestringcontext*stringcopyTradingbooleandailyLossMaxnumberdirectionstringasc · descincludearrayintervalarrayisFeeRefundablebooleanisPreferredPartnerbooleanmaxLeverageMinnumbermaxLossMaxnumbermaxLossModearrayminTradingDaysMaxnumbernewsTradingbooleanovernightHoldingboolean+16 more parameters. See the server's own documentation for the full schema.
propfirms_search_offersSearch 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 to a challenge (firm-wide offers included). Every offer carries the promo code...18 paramsSearch 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 to a challenge (firm-wide offers included). Every offer carries the promo code...
challengeIdvaluecontext*stringdirectionstringasc · descdiscountIsPercentbooleandiscountMaxnumberdiscountMinnumberincludeExpiredbooleanincludeInactivebooleanisActivebooleanisFeaturedbooleanofferIdarrayofferTextstringpageIndexintegerpageQuantityintegerpromoCodestringpropfirmIdvaluesortstringdiscountValue · endsAt · promoCodetextstringpropfirms_list_simulatableList 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 first to discover the firmId + challengeId pairs accepted by propfirms_challenge...3 paramsList 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 first to discover the firmId + challengeId pairs accepted by propfirms_challenge...
context*stringfirmIdstringproductTypestringfutures · cfdpropfirms_challenge_rulesFetch 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 days, time limits); the daily-loss rule with its exact semantics (basis = measur...3 paramsFetch 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 days, time limits); the daily-loss rule with its exact semantics (basis = measur...
challengeId*stringcontext*stringfirmId*stringpropfirms_simulateMonte 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? How many attempts and how much total money should I expect? Is this challeng...19 paramsMonte 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? How many attempts and how much total money should I expect? Is this challeng...
attemptCapintegeravgLossRnumberavgWinR*numberchallengeIdstringcontext*stringfirmIdstringfundedHorizonDaysintegerincludeHistogramsbooleanlossStdRnumberpathsintegerriskModestringpercent-of-balance · percent-of-initial · fixed-amountriskValue*numberseedvaluesimulateFundedbooleanspecobjecttradesPerDay*numbertradesPerDayModelstringfixed · poissonwinRate*numberwinStdRnumberpropfirms_optimal_riskSweep 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) and bestByEv (the risk that maximizes expected value across attempts, fees a...20 paramsSweep 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) and bestByEv (the risk that maximizes expected value across attempts, fees a...
attemptCapintegeravgLossRnumberavgWinR*numberchallengeIdstringcontext*stringfirmIdstringfundedHorizonDaysintegerlossStdRnumbermaxnumberminnumberpathsintegerriskModestringpercent-of-balance · percent-of-initial · fixed-amountseedvaluesimulateFundedbooleanspecobjectstepnumbertradesPerDay*numbertradesPerDayModelstringfixed · poissonwinRate*numberwinStdRnumberpropfirms_compareSimulate 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. THIS IS NOT A RANKING: rows are ordered by EV for the caller's specific inputs -...16 paramsSimulate 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. THIS IS NOT A RANKING: rows are ordered by EV for the caller's specific inputs -...
attemptCapintegeravgLossRnumberavgWinR*numberchallenges*arraycontext*stringfundedHorizonDaysintegerlossStdRnumberpathsintegerriskModestringpercent-of-balance · percent-of-initial · fixed-amountriskValue*numberseedvaluesimulateFundedbooleantradesPerDay*numbertradesPerDayModelstringfixed · poissonwinRate*numberwinStdRnumberpropfirms_simulate_tradesSimulate 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 streaks, not by averages - a daily-loss limit dies to a cluster of losses inside o...21 paramsSimulate 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 streaks, not by averages - a daily-loss limit dies to a cluster of losses inside o...
attemptCapintegerblockMeanLengthnumberchallengeIdstringcontext*stringfirmIdstringfundedHorizonDaysintegerimportRiskstringincludeHistogramsbooleannewsFilterobjectpathsintegerrSeriesarrayrSeriesTextstringriskModestringpercent-of-balance · percent-of-initial · fixed-amountriskValue*numberseedvaluesimulateFundedbooleanspecobjecttradeLogTextstringtradeLogTextsarraytradesPerDaynumber+1 more parameters. See the server's own documentation for the full schema.
propfirms_pass_ratesReference 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 challenge and per archetype (developing 45% win rate / consistent 48% / proven edge 5...3 paramsReference 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 challenge and per archetype (developing 45% win rate / consistent 48% / proven edge 5...
challengeIdstringcontext*stringfirmId*stringpropfirms_validate_strategyAnswer '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-size range, priceMax, or firm) and split the results by an explicit, caller-...25 paramsAnswer '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-size range, priceMax, or firm) and split the results by an explicit, caller-...
accountSizeMaxnumberaccountSizeMinnumberattemptCapintegeravgLossRnumberavgWinRnumberblockMeanLengthnumbercontext*stringfirmstringfundedHorizonDaysintegerlossStdRnumberminPassPerAttemptnumberpathsintegerpriceMaxnumberproductTypestringfutures · cfdrSeriesarrayrSeriesTextstringrequirePositiveEvbooleanriskModestringpercent-of-balance · percent-of-initial · fixed-amountriskValue*numberseedvalue+5 more parameters. See the server's own documentation for the full schema.
trackers_datasetsThe 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 contracts and grants, lobbying filings, FINRA short-sale volume, granted pat...2 paramsThe 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 contracts and grants, lobbying filings, FINRA short-sale volume, granted pat...
context*stringdatasetstringcongress-trades · insider-transactions · thirteenf-holdings · gov-contracts · gov-grants · lobbying-filingstrackers_querySearch 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 since/until) to choose which years to read — default is the newest year with data...11 paramsSearch 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 since/until) to choose which years to read — default is the newest year with data...
context*stringdataset*stringcongress-trades · insider-transactions · thirteenf-holdings · gov-contracts · gov-grants · lobbying-filingslimitintegeroffsetintegersincestringsortstringnewest · oldesttextstringtickerstringuntilstringwhereobjectyearsarraytrackers_latestWhat 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 filings, this week's congressional disclosures, the latest lobbying registra...8 paramsWhat 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 filings, this week's congressional disclosures, the latest lobbying registra...
context*stringdataset*stringcongress-trades · insider-transactions · thirteenf-holdings · gov-contracts · gov-grants · lobbying-filingslimitintegeroffsetintegersortstringnewest · oldesttextstringtickerstringwhereobjecttrackers_tickerOne 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, lobbying filings by the company, short-sale volume, clinical trials, FDA events, pat...4 paramsOne 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, lobbying filings by the company, short-sale volume, clinical trials, FDA events, pat...
context*stringlimitintegerticker*stringyearintegeredge_symbolsWhat 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 worked, with sample sizes and confidence intervals) come from the open-source ed...1 paramsWhat 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 worked, with sample sizes and confidence intervals) come from the open-source ed...
context*stringedge_presetsThe 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 language what its number means. Returns preset ids for edge_report.2 paramsThe 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 language what its number means. Returns preset ids for edge_report.
categorystringcontext*stringedge_reportOne 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, minimum-sample guards, a first-half vs second-half stability split, per-year co...3 paramsOne 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, minimum-sample guards, a first-half vs second-half stability split, per-year co...
context*stringpreset*stringsymbol*stringluxalgo_accountThe 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, or when the user asks what plan they are on. Requires signing in with a LuxA...1 paramsThe 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, or when the user asks what plan they are on. Requires signing in with a LuxA...
context*stringjournal_list_accountsThe 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 lot method, last broker sync, archived state — plus `timeZone`, the journal t...1 paramsThe 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 lot method, last broker sync, archived state — plus `timeZone`, the journal t...
context*stringjournal_overviewThe 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, max drawdown, recovery factor, profit concentration, average realized R), t...6 paramsThe 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, max drawdown, recovery factor, profit concentration, average realized R), t...
accountsarraycomparebooleancontext*stringfromstringrangestringtoday · 7d · 30d · 90d · 365d · ytdtostringjournal_calendarOne 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 month's net P&L, trade count, trading days and winning days. Days are in the jou...3 paramsOne 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 month's net P&L, trade count, trading days and winning days. Days are in the jou...
accountsarraycontext*stringmonthstringjournal_breakdownWhere 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 count, wins, losses, net P&L, average net P&L and win rate (breakevens excluded)...5 paramsWhere 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 count, wins, losses, net P&L, average net P&L and win rate (breakevens excluded)...
accountsarraycontext*stringfromstringrangestringtoday · 7d · 30d · 90d · 365d · ytdtostringjournal_list_tradesTrade 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 count, duration, realized R, tags, rating, reviewed flag, hasNotes — newest-o...12 paramsTrade 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 count, duration, realized R, tags, rating, reviewed flag, hasNotes — newest-o...
accountsarraycontext*stringcursorstringdirectionstringlong · shortfromstringlimitintegerorderstringasc · descsortstringopenedAt · closedAt · netPnl · grossPnl · durationMs · quantitystatusstringopen · win · loss · breakevensymbolstringtagstringtostringjournal_get_tradeOne 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 inside the trade's span, and every annotation — notes, tags, mistakes, playbook id...2 paramsOne 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 inside the trade's span, and every annotation — notes, tags, mistakes, playbook id...
context*stringkey*stringjournal_get_dayA 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 key in the journal timezone. Use it for 'how did Tuesday go', and to find no...3 paramsA 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 key in the journal timezone. Use it for 'how did Tuesday go', and to find no...
accountsarraycontext*stringdate*stringjournal_list_tagsThe 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_update_trade so new annotations reuse the user's own words instead of minting near...2 paramsThe 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_update_trade so new annotations reuse the user's own words instead of minting near...
accountsarraycontext*stringjournal_search_notesSearch 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 its note text; annotate via journal_update_trade). Filter by case-insensitiv...8 paramsSearch 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 its note text; annotate via journal_update_trade). Filter by case-insensitiv...
accountsarraycontext*stringcursorstringfromstringlimitintegerqstringsymbolstringtostringjournal_add_tradeLog 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 a sell fill, a short is sell then buy, scale-ins and partial exits are just...3 paramsLog 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 a sell fill, a short is sell then buy, scale-ins and partial exits are just...
accountId*stringcontext*stringfills*arrayjournal_update_tradeAnnotate 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 realized R is measured against) and `reviewed`. `tags`/`mistakes` replace the whol...14 paramsAnnotate 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 realized R is measured against) and `reviewed`. `tags`/`mistakes` replace the whol...
addMistakesarrayaddTagsarraycontext*stringkey*stringmistakesvaluenotesvalueplaybookIdvalueprofitTargetnumberratingvalueremoveMistakesarrayremoveTagsarrayreviewedbooleanstopLossnumbertagsvaluejournal_write_noteAdd 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_update_note, and for a note about one specific trade use journal_update_trade...3 paramsAdd 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_update_note, and for a note about one specific trade use journal_update_trade...
body*stringcontext*stringdate*stringjournal_update_noteReplace 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 full new version. Trade notes are edited with journal_update_trade, not here. Re...4 paramsReplace 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 full new version. Trade notes are edited with journal_update_trade, not here. Re...
bodystringcontext*stringdatestringnoteId*stringchart_openShows an interactive live chart from Vela, our next-generation charting platform, inside the chat: crypto candles streamed from Hyperliquid or Binance in the user's browser, with optional native indicators, horizontal levels, shaded zones and a date range. Use it when the user...7 paramsShows an interactive live chart from Vela, our next-generation charting platform, inside the chat: crypto candles streamed from Hyperliquid or Binance in the user's browser, with optional native indicators, horizontal levels, shaded zones and a date range. Use it when the user...
context*stringindicatorsarraylevelsarrayrangestring1D · 1W · 1M · 3M · 6M · 1Ysymbol*stringtimeframestring1m · 5m · 15m · 30m · 1h · 2hdefault: 4hzonesarraychart_commandEdits or reads a chart already open in the chat (from chart_open): switch market or timeframe, add or remove a native indicator, draw a level or a zone, clear drawings, or zoom to a date range; {op: "read"} changes nothing and returns what the chart shows now. Ops apply in ord...3 paramsEdits or reads a chart already open in the chat (from chart_open): switch market or timeframe, add or remove a native indicator, draw a level or a zone, clear drawings, or zoom to a date range; {op: "read"} changes nothing and returns what the chart shows now. Ops apply in ord...
chart_id*stringcontext*stringops*arraychart_syncUsed by the chart view itself, not by the model: acknowledges applied changes, reports the chart's state in words and fetches pending changes.8 paramsUsed by the chart view itself, not by the model: acknowledges applied changes, reports the chart's state in words and fetches pending changes.
acked_seq*integerchart_id*stringcontext*stringnext_poll_msintegerpausedbooleansnapshot_answerobjectstateobjectsync_keystringwatchlists_listThe signed-in member's watchlists, the same lists Vela shows on the web and in the Vela apps: each list's id and name with every symbol in it, as the market it streams (source:TICKER), its category and section, and a Vela chart link (chart_url). Use it to answer what the membe...1 paramsThe signed-in member's watchlists, the same lists Vela shows on the web and in the Vela apps: each list's id and name with every symbol in it, as the market it streams (source:TICKER), its category and section, and a Vela chart link (chart_url). Use it to answer what the membe...
context*stringwatchlists_createCreates a new watchlist in the signed-in member's account, optionally with its first symbols; it shows up in Vela on the web and in the Vela apps. Use watchlists_add_symbols to add to a list that exists. How many watchlists and symbols per list the member may have comes from t...4 paramsCreates a new watchlist in the signed-in member's account, optionally with its first symbols; it shows up in Vela on the web and in the Vela apps. Use watchlists_add_symbols to add to a list that exists. How many watchlists and symbols per list the member may have comes from t...
context*stringetfbooleanname*stringsymbolsarraywatchlists_add_symbolsAdds markets to one of the signed-in member's watchlists (its id from watchlists_list), at the end of the list or in a named section; a market already in the list is left as it is. Returns the list as saved, in words, with a Vela chart link per added market. How many watchlist...5 paramsAdds markets to one of the signed-in member's watchlists (its id from watchlists_list), at the end of the list or in a named section; a market already in the list is left as it is. Returns the list as saved, in words, with a Vela chart link per added market. How many watchlist...
context*stringetfbooleansectionstringsymbols*arraywatchlist_id*stringwatchlists_remove_symbolsRemoves markets from one of the signed-in member's watchlists (its id from watchlists_list). Name each one as watchlists_list shows it (source:TICKER) or by its bare symbol ("AAPL", "BTCUSD"), which removes every row of that symbol. The list itself stays; this server cannot de...3 paramsRemoves markets from one of the signed-in member's watchlists (its id from watchlists_list). Name each one as watchlists_list shows it (source:TICKER) or by its bare symbol ("AAPL", "BTCUSD"), which removes every row of that symbol. The list itself stays; this server cannot de...
context*stringsymbols*arraywatchlist_id*stringlayouts_listThe signed-in member's saved Vela layouts (workspaces), newest first: each one's name, id, when it was last saved, whether it has a share link, and its Vela link (chart_url) that opens that layout. Use it when the member asks for their saved charts or layouts or wants one open...1 paramsThe signed-in member's saved Vela layouts (workspaces), newest first: each one's name, id, when it was last saved, whether it has a share link, and its Vela link (chart_url) that opens that layout. Use it when the member asks for their saved charts or layouts or wants one open...
context*stringalerts_listThe signed-in member's LuxAlgo Alerts, Price Alerts and Custom Alerts, as Vela shows them: each alert's id, name, market, what it waits for (a Price Alert's level is the member's own), how often it fires, whether it is on, paused, fired or held back, whether it notifies anyone...3 paramsThe signed-in member's LuxAlgo Alerts, Price Alerts and Custom Alerts, as Vela shows them: each alert's id, name, market, what it waits for (a Price Alert's level is the member's own), how often it fires, whether it is on, paused, fired or held back, whether it notifies anyone...
context*stringstatusstringactive · paused · triggered · expired · suspended_plan · errortypestringprice · customalerts_create_priceCreates a Price Alert in the signed-in member's account: it fires when a market's price crosses, crosses above, crosses below, is above or is below a level the member chose, as often as `frequency` says. It notifies the member in-app (Vela on the web and on their phone) when t...9 paramsCreates a Price Alert in the signed-in member's account: it fires when a market's price crosses, crosses above, crosses below, is above or is below a level the member chose, as often as `frequency` says. It notifies the member in-app (Vela on the web and on their phone) when t...
chart_idstringcondition*stringcross · cross_up · cross_down · above · belowcontext*stringfrequencystringonce · once_per_bar · once_per_bar_close · every_timedefault: oncelevel*valuemin_interval_secondsintegernamestringsymbol*stringtimeframestring1m · 5m · 15m · 30m · 1h · 2hdefault: 1halerts_create_customCreates a Custom Alert in the signed-in member's account from an indicator's condition on one market and timeframe: either a Vela built-in indicator (`indicator`: RSI crosses above 70, MACD crosses above its signal line, price crosses below the lower Bollinger Band…) or an ope...9 paramsCreates a Custom Alert in the signed-in member's account from an indicator's condition on one market and timeframe: either a Vela built-in indicator (`indicator`: RSI crosses above 70, MACD crosses above its signal line, price crosses below the lower Bollinger Band…) or an ope...
context*stringfrequencystringonce · once_per_bar · once_per_bar_close · every_timedefault: once_per_bar_closeindicatorobjectlibraryobjectmin_interval_secondsintegernamestringpreview_onlybooleansymbol*stringtimeframestring1m · 5m · 15m · 30m · 1h · 2hdefault: 1halerts_pausePauses one of the signed-in member's alerts (Price Alert or Custom Alert, its id from alerts_list): it stays saved and stops firing until alerts_resume. Returns the alert in words. It changes the member's account, so the chat app may ask the user to confirm first. Requires sig...2 paramsPauses one of the signed-in member's alerts (Price Alert or Custom Alert, its id from alerts_list): it stays saved and stops firing until alerts_resume. Returns the alert in words. It changes the member's account, so the chat app may ask the user to confirm first. Requires sig...
alert_id*stringcontext*stringalerts_resumeTurns one of the signed-in member's alerts back on (paused, fired, expired or held back by the plan; its id from alerts_list). Returns the alert in words. How many alerts the member may have on comes from their LuxAlgo plan: at a limit the call answers with the limit and where...2 paramsTurns one of the signed-in member's alerts back on (paused, fired, expired or held back by the plan; its id from alerts_list). Returns the alert in words. How many alerts the member may have on comes from their LuxAlgo plan: at a limit the call answers with the limit and where...
alert_id*stringcontext*stringalerts_historyWhen the signed-in member's alerts fired, newest first (kept 90 days): the alert, the market, the time, and whether each notification was delivered; the price it fired at only for crypto markets fed by an exchange's public feed (Hyperliquid, Binance). Optionally for one alert...4 paramsWhen the signed-in member's alerts fired, newest first (kept 90 days): the alert, the market, the time, and whether each notification was delivered; the price it fired at only for crypto markets fed by an exchange's public feed (Hyperliquid, Binance). Optionally for one alert...
alert_idstringcontext*stringcursorstringlimitintegerchart_peekA picture of the chart the signed-in member has open right now in Vela, our next-generation charting platform, in their browser, as they see it, with the market, timeframe and indicators in words and a Vela link (chart_url). Use it when the member asks about the chart they hav...2 paramsA picture of the chart the signed-in member has open right now in Vela, our next-generation charting platform, in their browser, as they see it, with the market, timeframe and indicators in words and a Vela link (chart_url). Use it when the member asks about the chart they hav...
chart_indexintegercontext*stringSponsors
Vela, live in your chat. Ask for a chart and it opens right in the conversation: a live chart from Vela, the next-generation charting platform by LuxAlgo, that changes when you ask. Sign in with LuxAlgo and your AI works inside your own Vela too.
@luxalgo/mcp