← Back to search

@dwlf/mcp-server

GitHub Actions Scanned 7d ago

MCP server for DWLF market analysis platform — exposes market data, indicators, signals, strategies, backtests, portfolio, trade journal, and more as AI-accessible tools

C
63.1 / 100

Versions

No versions found.

PermissionsTool SafetyAuthAnnotationsCode QualityStabilitySpecVuln HistoryAuthorTransparencyCommunity

Tools 100

dwlf_describe_strategy_nodes
annotations: none low

Describe the visual-strategy node types and their (currently-implicit) runtime parameters.

dwlf_list_strategies
annotations: none low

List the user

dwlf_get_strategy
annotations: none low

Get full details of a specific strategy including signal definitions, nodes, and edges.

strategyId string
dwlf_create_strategy
annotations: none low

⚠️ Create a new strategy. CRITICAL WORKFLOW: 1) Create strategy → 2) Compile → 3) MUST call dwlf_activate_strategy_symbols (or strategy will NEVER generate signals!) → 4) Run backtest. Without step 3, backtests return 0 trades. The strategy exists but is invisible to the evaluation engine until symbols are activated. Always activate symbols immediately after creation.

name string bodyJson string description string
dwlf_update_strategy
annotations: none low

Update an existing visual trading strategy. Provide the strategy ID and updated fields.

name string bodyJson string strategyId string description string
dwlf_compile_strategy
annotations: none low

Compile a visual strategy into an executable trade signal. Must be called after creating or updating a strategy before it can be evaluated or generate signals.

strategyId string
dwlf_delete_strategy
annotations: none low

Permanently delete a visual strategy. Hard delete — also removes the compiled executable and symbol activations.

strategyId string
dwlf_list_public_strategies
annotations: none low

List community-shared public strategies that can be used as inspiration or cloned.

dwlf_activate_event_symbols
annotations: none low

⚠️ REQUIRED STEP after creating custom events! Activate (enable) symbols for an event. Events do NOT evaluate automatically — they are invisible to backtests and the daily pipeline until activated. If backtests return 0 trades, you likely forgot this step. Call immediately after compiling an event.

eventId string
dwlf_get_event_symbols
annotations: none low

Get the list of symbols currently activated for a custom event.

eventId string
dwlf_deactivate_event_symbols
annotations: none low

Deactivate (disable) one or more symbols for a custom event. The event will stop firing for these symbols.

eventId string
dwlf_activate_strategy_symbols
annotations: none low

⚠️ REQUIRED STEP after creating strategies! Activate symbols for a strategy. Strategies do NOT generate signals automatically — they are invisible to backtests until symbols are activated. If backtests return 0 trades, you likely forgot this step. Call immediately after compiling a strategy.

strategyId string
dwlf_get_strategy_symbols
annotations: none low

Get the list of symbols currently activated for a strategy.

strategyId string
dwlf_deactivate_strategy_symbols
annotations: none low

Deactivate (disable) one or more symbols for a strategy. The strategy will stop generating signals for these symbols.

strategyId string
dwlf_list_all_symbol_activations
annotations: none low

List all the user

dwlf_list_portfolios
annotations: none low

List the user

dwlf_get_portfolio
annotations: none low

Get portfolio details including holdings.

portfolioId string
dwlf_get_holdings
annotations: none low

Get detailed holdings for a portfolio with current values and P&L.

portfolioId string
dwlf_get_portfolio_snapshots
annotations: none low

Get historical snapshots for a portfolio — shows value over time.

portfolioId string
dwlf_get_market_data
annotations: none low

Get OHLCV candle data (open, high, low, close, volume) for a trading symbol at a chosen timeframe.

dwlf_get_quote
annotations: none low

Get the latest price (close + date) for one or more symbols. Lightweight and API-key-accessible —

symbol string
dwlf_list_symbols
annotations: none low

List all available trading symbols with metadata. Use this to discover what symbols are available on DWLF.

dwlf_get_support_resistance
annotations: none low

Get support and resistance levels for a trading symbol. These are key price levels where buying/selling pressure is expected.

dwlf_get_events
annotations: none low

Get indicator events (cycle lows/highs, crossovers, breakouts, divergences, etc.).

dwlf_get_price_picture
annotations: none low

Aggregate the price-meaningful indicator events for a symbol into a chronological narrative —

dwlf_get_cycle_setups
annotations: none low

The Cycle Setup Screener: universe-wide cross-reference of the WEEKLY cycle timing

dwlf_evaluate_custom_event
annotations: none low

⚠️ Trigger an on-demand evaluation run for a specific custom event. This is the workflow step BETWEEN activating symbols and querying fires — without it, the custom event only evaluates on the daily cron and historical data is not backfilled until then. Returns { requestId, status:

eventId string lookbackDays number idempotencyKey string
dwlf_evaluate_strategy
annotations: none low

Trigger an on-demand evaluation run for a specific visual strategy. Parallels dwlf_evaluate_custom_event but for strategies. Returns { requestId, status:

strategyId string lookbackDays number idempotencyKey string
dwlf_get_evaluation_status
annotations: none low

Get the status and result summary of a specific evaluation by requestId. Poll this after calling dwlf_evaluate_custom_event or dwlf_evaluate_strategy until status ===

requestId string
dwlf_list_evaluations
annotations: none low

List recent evaluation requests for the account with their status and summary. Useful for finding the requestId of a previous evaluation, or for checking whether one is already in-flight before triggering another.

limit number
dwlf_get_quotas
annotations: none low

Get the current user\

dwlf_get_regime
annotations: none low

Get current market regime classification for a symbol — trend, cycle, momentum, volatility, and confidence score. Optionally retrieve full regime history.

symbol string
dwlf_get_intelligence
annotations: none low

Get the full semantic snapshot for a symbol — current price, active events, FSM state, market regime, support/resistance levels, and signal quality. This is the preferred single-call way to get structured market context for a symbol.

symbol string
dwlf_get_daily_briefing
annotations: none low

Get the cross-asset daily briefing (covers the watchlist UNION the briefing list). Returns a

dwlf_register_agent
annotations: none low

Programmatically register a new DWLF account — no browser or Google OAuth required. Returns an API key immediately. Email verification unlocks compute features (backtests, evaluations). Useful for onboarding flows where an agent registers itself.

email string
dwlf_get_active_signals
annotations: none low

Get currently active trade signals. These are open positions or pending entries that DWLF is tracking.

dwlf_get_recent_signals
annotations: none low

Get user trade signals — strategy fires recorded by the daily evaluator. Shows signal history

dwlf_get_signal_stats
annotations: none low

Get signal performance statistics — win rate, average P&L, total signals, and performance breakdown.

dwlf_get_indicators
annotations: none low

Get computed technical indicators for a symbol (RSI, MACD, moving averages, Bollinger Bands, etc.). Returns current indicator values and states.

dwlf_get_trendlines
annotations: none low

Get automatically detected trendlines for a symbol. Returns trend direction, slope, and key touch points.

dwlf_get_ranges
annotations: none low

Range / support-resistance CONTEXT derived from cycle pivots — answers

dwlf_list_annotations
annotations: none low

List annotations for a symbol. Optionally filter by timeframe (e.g. daily, weekly, hourly). Returns each annotation with its annotationId, type, timeframe and full data — copy a data shape from here when you are unsure how to build a new one.

symbol string timeframe string
dwlf_create_annotation
annotations: none low

Create a chart annotation. `type` selects the shape; `data` carries the type-specific fields documented below. Note `arrow` is the callout/bubble-with-pointer and `text` is a plain text box — for commentary that points at a level, use `arrow`.\n\n

symbol string timeframe string
dwlf_update_annotation
annotations: none low

Update an existing annotation. symbol + timeframe are REQUIRED (the backend needs them to locate the row). `data` is merged field-by-field into the existing data — pass only the fields you want to change (e.g. {label:

locked boolean symbol string zIndex number groupId string visible boolean timeframe string annotationId string
dwlf_delete_annotation
annotations: none low

Delete an annotation by ID. symbol + timeframe are required (the backend needs them to locate the row).

symbol string timeframe string annotationId string
dwlf_bulk_create_annotations
annotations: none low

Create multiple annotations in one call (max 25). Each entry follows the same shape as dwlf_create_annotation — see its data-shape reference. Returns a per-item results array; an individual item can fail without aborting the rest.

symbol string timeframe string
dwlf_ai_dashboard
annotations: none low

Get a complete account overview in a single call: watchlist with prices, active signals, open trades, portfolios, strategies, and recent events. Ideal for

dwlf_ai_symbol_brief
annotations: none low

Get a condensed single-symbol view: latest price with change, recent candles, key indicators, S/R levels, recent events, and active signals. Perfect for

symbol string
dwlf_ai_strategy_performance
annotations: none low

Get all strategies with signal stats and performance metrics in a single call: total signals, active signals, win rate, avg R/R, total P&L, and per-strategy breakdowns.

dwlf_list_academy_tracks
annotations: none low

List all DWLF Academy tracks and lessons. Use this to discover educational content about DWLF concepts — indicators, events, strategies, charting, and more.

dwlf_get_academy_lesson
annotations: none low

Get the full content of a DWLF Academy lesson by slug. Returns markdown. Use dwlf_list_academy_tracks first to find available lessons.

dwlf_search_academy
annotations: none low

Search DWLF Academy content by keyword. Searches track and lesson titles. Returns matching lessons with their track context.

dwlf_list_symbol_tags
annotations: none low

List every distinct symbol TAG. Tags are the groups the markets chart\

dwlf_get_symbol_tags
annotations: none low

Get the tags currently assigned to one symbol — i.e. which chart group(s) it belongs to

dwlf_add_symbol_tag
annotations: none low

Tag a symbol so it lands in the right group on the markets chart\

tag string
dwlf_remove_symbol_tag
annotations: none low

Remove a tag from a symbol — re-categorise it, or (if it has no other tags) drop it back to

tag string
dwlf_get_watchlist
annotations: none low

Get the user

dwlf_add_to_watchlist
annotations: none low

Add a trading symbol to the user

dwlf_get_briefing_list
annotations: none low

Get the user

dwlf_add_to_briefing_list
annotations: none low

Add a symbol to the BRIEFING LIST — briefed daily but not actively watched. Use for

dwlf_remove_from_briefing_list
annotations: none low

Remove a symbol from the user

dwlf_list_subscriptions
annotations: none low

List all subscriptions on the account, including their enabled state, event source, channels, and filters.

dwlf_create_subscription
annotations: none low

Create a new subscription. Three shapes are supported, distinguished by `eventTypeId`:\n

dwlf_update_subscription
annotations: none low

Update an existing subscription (PATCH). Only the fields you supply are changed; everything else is preserved.

enabled boolean subscriptionId string
dwlf_delete_subscription
annotations: none low

Permanently delete a subscription. Hard delete — also removes any pending dispatcher state.

subscriptionId string
dwlf_get_trade_plan
annotations: none low

Get full details for a specific trade plan by ID.

planId string
dwlf_create_trade_plan
annotations: none low

Create a new trade plan with entry, stop loss, and take profit levels.

notes string symbol string quantity number stopLoss number strategy string timeframe string entryPrice number takeProfit number
dwlf_update_trade_plan
annotations: none low

Update an existing trade plan by ID. All fields except planId are optional (partial update).

notes string planId string status string symbol string quantity number stopLoss number strategy string timeframe string entryPrice number takeProfit number
dwlf_delete_trade_plan
annotations: none low

Delete a trade plan by ID.

planId string
dwlf_list_trades
annotations: none low

List trades from the trade journal. Filter by status or symbol. Statuses:

symbol string
dwlf_get_trade
annotations: none low

Get full details for a specific trade including notes, executions, and events.

tradeId string
dwlf_run_backtest
annotations: none low

⚠️ Run a strategy backtest (async). Returns requestId → poll with dwlf_get_backtest_results. PREREQUISITES: 1) Strategy MUST have symbols activated (dwlf_activate_strategy_symbols) or backtest returns 0 trades. 2) Requires 200+ daily candles: startDate must be 10+ months before endDate. If backtest returns 0 trades, check: a) Are symbols activated? b) Is date range long enough? c) Do event conditions actually match historical data? Optional capital/risk params (initialCapital, riskPerTrade, maxConcurrentTrades, portfolioMode, allowSymbolPyramiding) override backend defaults — set portfolioMode=true together with maxConcurrentTrades to model shared-capital concurrency across symbols; set allowSymbolPyramiding=true to permit more than one concurrent open position per symbol, and maxPositionsPerSymbol to bound that (e.g. 3) so per-symbol concentration stays capped. Set disableTakeProfit=true for exit-signal-only strategies (no tp node) so the backend does NOT force a fallback take-profit that would exit early.

symbol string endDate string startDate string strategyId string riskPerTrade number portfolioMode boolean initialCapital number disableTakeProfit boolean maxConcurrentTrades number allowSymbolPyramiding boolean maxPositionsPerSymbol number
dwlf_get_backtest_results
annotations: none low

Get results for a backtest by requestId. If status is not

requestId string
dwlf_list_backtests
annotations: none low

List your backtests (most recent first) with their status and config.

dwlf_delete_backtest
annotations: none low

Permanently delete a backtest request and its associated result data by requestId. Use to clean up stale or invalid runs (e.g. results computed before an engine bug was fixed). Idempotent — deleting an already-deleted requestId returns success.

requestId string
dwlf_cancel_backtest
annotations: none low

Cancel a queued or running backtest by requestId. Pending requests cancel cleanly (worker skips). Running requests get a best-effort cancel — result is marked cancelled but mid-run computation isn\

requestId string
dwlf_get_backtest_summary
annotations: none low

Get a summary of all backtests — aggregated performance stats.

dwlf_run_synthetic_backtest
annotations: none low

Run Monte Carlo synthetic validation for a strategy. Tests strategy against statistically realistic generated price paths to assess robustness. Returns requestId for polling.

seed number timeframe string baseSymbol string strategyId string simulations number durationDays number startingPrice number
dwlf_get_synthetic_backtest_results
annotations: none low

Get results for a synthetic backtest by requestId. Returns distribution stats, robustness metrics, and profitableSimsPct. Poll until status is

requestId string
dwlf_list_custom_events
annotations: none low

List the user

dwlf_get_custom_event_notifications
annotations: none low

Get all recently fired custom events where the user has notifications enabled. Returns fires across ALL symbols in one call — the most efficient way to check what custom events have triggered. The eventName field contains the human-readable name (e.g.

days number
dwlf_get_custom_event
annotations: none low

Get details of a specific custom event including conditions and trigger history.

eventId string
dwlf_compile_custom_event
annotations: none low

Compile a custom event into an executable event definition. Must be called after creating or updating a custom event.

eventId string
dwlf_preflight_custom_event
annotations: none low

Validate a custom event graph WITHOUT saving it. Returns execution tier (fast/async/reject), complexity score with breakdown, graph metrics, plan policy limits, errors, warnings, and suggested fixes. Call this BEFORE creating or updating a complex event to check whether it will be accepted and which execution tier it will land in.

bodyJson string
dwlf_create_custom_event
annotations: none low

⚠️ Create a new custom event. CRITICAL WORKFLOW: 1) Create event → 2) Compile → 3) MUST call dwlf_activate_event_symbols (or event will NEVER fire!) → 4) Trigger evaluation. Without step 3, backtests return 0 trades. The event exists but is invisible to the evaluation engine until symbols are activated. Always activate symbols immediately after creation.

name string bodyJson string
dwlf_update_custom_event
annotations: none low

Update an existing custom event. Accepts any subset of {name, description, visual, metadata, version, notifyOnFire} via bodyJson. Most common use: flip notifyOnFire to true after creation so future fires surface in dwlf_get_custom_event_notifications. If you change `visual` or any condition shape, re-call dwlf_compile_custom_event afterwards to regenerate the executable.

eventId string bodyJson string
dwlf_delete_custom_event
annotations: none low

Delete a custom event permanently. Hard delete — also removes the compiled executable, symbol activations, and watermark state. Past fires already written to EventsTable are NOT deleted (they remain as historical record).

eventId string
dwlf_create_trade
annotations: none low

Log a new trade in the journal. Specify symbol, direction, entry price, and optional stop loss / take profit.

symbol string timeframe string entryPrice number reasonText string initialStop number isPaperTrade boolean positionSize number initialTakeProfit number
dwlf_close_trade
annotations: none low

Close an open trade by specifying the exit price.

exitAt string tradeId string exitPrice number
dwlf_add_trade_note
annotations: none low

Add a note to an existing trade — observations, adjustments, lessons learned.

content string tradeId string
dwlf_get_trade_notes
annotations: none low

Get all notes for a trade — observations, updates, and lessons recorded during the trade.

tradeId string
dwlf_list_trade_plans
annotations: none low

List trade plan templates — reusable frameworks for entering trades.

dwlf_update_trade
annotations: none low

Update an existing trade by ID. All fields except tradeId are optional (partial update).

tags unknown notes string symbol unknown tradeId string quantity unknown stopLoss unknown entryPrice number takeProfit unknown isPaperTrade boolean positionSize number initialTakeProfit number
dwlf_delete_trade
annotations: none low

Delete a trade by ID.

tradeId string
dwlf_position_size
annotations: none low

Calculate recommended position size based on account size, risk percentage, entry price, and stop loss.

symbol string stopLoss number entryPrice number accountSize number riskPercent number
dwlf_get_trade_state
annotations: none low

Get the current state of a trade — including execution history and adjustments.

tradeId string
dwlf_get_skip_outcomes
annotations: none low

The Counterfactual scorecard: what would have happened had each SKIPPED trade been

dwlf_get_decision_stats
annotations: none low

The decision-quality ledger: TAKES (confirmed trades, judged by actual outcomes —

dwlf_confirm_trade
annotations: none low

Confirm (take) a confirm-mode PLANNED trade — turns it into an OPEN position.

entryAt string tradeId string entryPrice number confirmNote string positionSize number
dwlf_skip_trade
annotations: none low

Skip (pass on) a confirm-mode PLANNED trade, recording WHY. Moves it to status

tradeId string skipNote string

Permissions 1

env_vars low
Server uses env_vars capabilities via: process.env

Scan Findings 247

low
Tool 'dwlf_update_strategy' has no annotations annotation_checker · 100%
low
Tool 'dwlf_compile_strategy' has no annotations annotation_checker · 100%
low
Tool 'dwlf_describe_strategy_nodes' has no annotations annotation_checker · 100%
low
Tool 'dwlf_list_strategies' has no annotations annotation_checker · 100%
low
Tool 'dwlf_get_strategy' has no annotations annotation_checker · 100%
low
Tool 'dwlf_create_strategy' has no annotations annotation_checker · 100%
low
Tool 'dwlf_delete_strategy' has no annotations annotation_checker · 100%
low
Tool 'dwlf_list_public_strategies' has no annotations annotation_checker · 100%
low
Tool 'dwlf_activate_event_symbols' has no annotations annotation_checker · 100%
low
Tool 'dwlf_get_event_symbols' has no annotations annotation_checker · 100%
low
Tool 'dwlf_deactivate_event_symbols' has no annotations annotation_checker · 100%
low
Tool 'dwlf_activate_strategy_symbols' has no annotations annotation_checker · 100%
low
Tool 'dwlf_get_strategy_symbols' has no annotations annotation_checker · 100%
low
Tool 'dwlf_deactivate_strategy_symbols' has no annotations annotation_checker · 100%
low
Tool 'dwlf_list_all_symbol_activations' has no annotations annotation_checker · 100%
low
Tool 'dwlf_list_portfolios' has no annotations annotation_checker · 100%
low
Tool 'dwlf_get_portfolio' has no annotations annotation_checker · 100%
low
Tool 'dwlf_get_holdings' has no annotations annotation_checker · 100%
low
Tool 'dwlf_get_portfolio_snapshots' has no annotations annotation_checker · 100%
low
Tool 'dwlf_get_market_data' has no annotations annotation_checker · 100%
low
Tool 'dwlf_get_quote' has no annotations annotation_checker · 100%
low
Tool 'dwlf_list_symbols' has no annotations annotation_checker · 100%
low
Tool 'dwlf_get_support_resistance' has no annotations annotation_checker · 100%
low
Tool 'dwlf_get_events' has no annotations annotation_checker · 100%
low
Tool 'dwlf_get_price_picture' has no annotations annotation_checker · 100%
low
Tool 'dwlf_get_cycle_setups' has no annotations annotation_checker · 100%
low
Tool 'dwlf_evaluate_custom_event' has no annotations annotation_checker · 100%
low
Tool 'dwlf_evaluate_strategy' has no annotations annotation_checker · 100%
low
Tool 'dwlf_get_evaluation_status' has no annotations annotation_checker · 100%
low
Tool 'dwlf_list_evaluations' has no annotations annotation_checker · 100%
low
Tool 'dwlf_get_quotas' has no annotations annotation_checker · 100%
low
Tool 'dwlf_get_regime' has no annotations annotation_checker · 100%
low
Tool 'dwlf_get_intelligence' has no annotations annotation_checker · 100%
low
Tool 'dwlf_get_daily_briefing' has no annotations annotation_checker · 100%
low
Tool 'dwlf_register_agent' has no annotations annotation_checker · 100%
low
Tool 'dwlf_get_active_signals' has no annotations annotation_checker · 100%
low
Tool 'dwlf_get_recent_signals' has no annotations annotation_checker · 100%
low
Tool 'dwlf_get_signal_stats' has no annotations annotation_checker · 100%
low
Tool 'dwlf_get_indicators' has no annotations annotation_checker · 100%
low
Tool 'dwlf_get_trendlines' has no annotations annotation_checker · 100%
low
Tool 'dwlf_get_ranges' has no annotations annotation_checker · 100%
low
Tool 'dwlf_list_annotations' has no annotations annotation_checker · 100%
low
Tool 'dwlf_create_annotation' has no annotations annotation_checker · 100%
low
Tool 'dwlf_update_annotation' has no annotations annotation_checker · 100%
low
Tool 'dwlf_delete_annotation' has no annotations annotation_checker · 100%
low
Tool 'dwlf_bulk_create_annotations' has no annotations annotation_checker · 100%
low
Tool 'dwlf_ai_dashboard' has no annotations annotation_checker · 100%
low
Tool 'dwlf_ai_symbol_brief' has no annotations annotation_checker · 100%
low
Tool 'dwlf_ai_strategy_performance' has no annotations annotation_checker · 100%
low
Tool 'dwlf_list_academy_tracks' has no annotations annotation_checker · 100%
low
Tool 'dwlf_get_academy_lesson' has no annotations annotation_checker · 100%
low
Tool 'dwlf_search_academy' has no annotations annotation_checker · 100%
low
Tool 'dwlf_list_symbol_tags' has no annotations annotation_checker · 100%
low
Tool 'dwlf_get_symbol_tags' has no annotations annotation_checker · 100%
low
Tool 'dwlf_add_symbol_tag' has no annotations annotation_checker · 100%
low
Tool 'dwlf_remove_symbol_tag' has no annotations annotation_checker · 100%
low
Tool 'dwlf_get_watchlist' has no annotations annotation_checker · 100%
low
Tool 'dwlf_add_to_watchlist' has no annotations annotation_checker · 100%
low
Tool 'dwlf_get_briefing_list' has no annotations annotation_checker · 100%
low
Tool 'dwlf_add_to_briefing_list' has no annotations annotation_checker · 100%
low
Tool 'dwlf_remove_from_briefing_list' has no annotations annotation_checker · 100%
low
Tool 'dwlf_list_subscriptions' has no annotations annotation_checker · 100%
low
Tool 'dwlf_create_subscription' has no annotations annotation_checker · 100%
low
Tool 'dwlf_update_subscription' has no annotations annotation_checker · 100%
low
Tool 'dwlf_delete_subscription' has no annotations annotation_checker · 100%
low
Tool 'dwlf_get_trade_plan' has no annotations annotation_checker · 100%
low
Tool 'dwlf_create_trade_plan' has no annotations annotation_checker · 100%
low
Tool 'dwlf_update_trade_plan' has no annotations annotation_checker · 100%
low
Tool 'dwlf_delete_trade_plan' has no annotations annotation_checker · 100%
low
Tool 'dwlf_run_backtest' has no annotations annotation_checker · 100%
low
Tool 'dwlf_get_backtest_results' has no annotations annotation_checker · 100%
low
Tool 'dwlf_list_backtests' has no annotations annotation_checker · 100%
low
Tool 'dwlf_delete_backtest' has no annotations annotation_checker · 100%
low
Tool 'dwlf_cancel_backtest' has no annotations annotation_checker · 100%
low
Tool 'dwlf_get_backtest_summary' has no annotations annotation_checker · 100%
low
Tool 'dwlf_run_synthetic_backtest' has no annotations annotation_checker · 100%
low
Tool 'dwlf_get_synthetic_backtest_results' has no annotations annotation_checker · 100%
low
Tool 'dwlf_list_custom_events' has no annotations annotation_checker · 100%
low
Tool 'dwlf_get_custom_event_notifications' has no annotations annotation_checker · 100%
low
Tool 'dwlf_get_custom_event' has no annotations annotation_checker · 100%
low
Tool 'dwlf_compile_custom_event' has no annotations annotation_checker · 100%
low
Tool 'dwlf_preflight_custom_event' has no annotations annotation_checker · 100%
low
Tool 'dwlf_create_custom_event' has no annotations annotation_checker · 100%
low
Tool 'dwlf_update_custom_event' has no annotations annotation_checker · 100%
low
Tool 'dwlf_delete_custom_event' has no annotations annotation_checker · 100%
low
Tool 'dwlf_list_trades' has no annotations annotation_checker · 100%
low
Tool 'dwlf_get_trade' has no annotations annotation_checker · 100%
low
Tool 'dwlf_create_trade' has no annotations annotation_checker · 100%
low
Tool 'dwlf_close_trade' has no annotations annotation_checker · 100%
low
Tool 'dwlf_add_trade_note' has no annotations annotation_checker · 100%
low
Tool 'dwlf_get_trade_notes' has no annotations annotation_checker · 100%
low
Tool 'dwlf_list_trade_plans' has no annotations annotation_checker · 100%
low
Tool 'dwlf_update_trade' has no annotations annotation_checker · 100%
low
Tool 'dwlf_delete_trade' has no annotations annotation_checker · 100%
low
Tool 'dwlf_position_size' has no annotations annotation_checker · 100%
low
Tool 'dwlf_get_trade_state' has no annotations annotation_checker · 100%
low
Tool 'dwlf_get_skip_outcomes' has no annotations annotation_checker · 100%
low
Tool 'dwlf_get_decision_stats' has no annotations annotation_checker · 100%
low
Tool 'dwlf_confirm_trade' has no annotations annotation_checker · 100%
low
Tool 'dwlf_skip_trade' has no annotations annotation_checker · 100%
info
Sandbox failed to start for behavioral verification behavioral_verifier · 100%
medium
Vulnerable dependency: @modelcontextprotocol/sdk@1.25.3 (GHSA-345p-7cg4-v4c7) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.4 (GHSA-35jp-ww65-95wh) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.4 (GHSA-3g43-6gmg-66jw) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.4 (GHSA-3p68-rc4w-qgx5) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.4 (GHSA-3w6x-2g7m-8v23) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.4 (GHSA-42h9-826w-cgv3) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.4 (GHSA-43fc-jf86-j433) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.4 (GHSA-445q-vr5w-6q77) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.4 (GHSA-5c9x-8gcm-mpgx) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.4 (GHSA-62hf-57xw-28j9) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.4 (GHSA-6chq-wfr3-2hj9) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.4 (GHSA-777c-7fjr-54vf) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.4 (GHSA-7q8q-rj6j-mhjq) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.4 (GHSA-898c-q2cr-xwhg) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.4 (GHSA-fvcv-3m26-pcqx) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.4 (GHSA-hfxv-24rg-xrqf) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.4 (GHSA-j5f8-grm9-p9fc) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.4 (GHSA-jqh4-m9w3-8hp9) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.4 (GHSA-m7pr-hjqh-92cm) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.4 (GHSA-mmx7-hfxf-jppx) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.4 (GHSA-mwf2-3pr3-8698) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.4 (GHSA-p92q-9vqr-4j8v) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.4 (GHSA-pf86-5x62-jrwf) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.4 (GHSA-pmv8-rq9r-6j72) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.4 (GHSA-pmwg-cvhr-8vh7) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.4 (GHSA-q8qp-cvcw-x6jj) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.4 (GHSA-vf2m-468p-8v99) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.4 (GHSA-w9j2-pvgh-6h63) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.4 (GHSA-xhjh-pmcv-23jw) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.4 (GHSA-xx6v-rp6x-q39c) dependency_analyzer · 95%
info
package.json metadata manifest_parser · 100%
info
Tool: dwlf_describe_strategy_nodes manifest_parser · 70%
info
Tool: dwlf_list_strategies manifest_parser · 70%
info
Tool: dwlf_get_strategy manifest_parser · 70%
info
Tool: dwlf_create_strategy manifest_parser · 70%
info
Tool: dwlf_update_strategy manifest_parser · 70%
info
Tool: dwlf_compile_strategy manifest_parser · 70%
info
Tool: dwlf_delete_strategy manifest_parser · 70%
info
Tool: dwlf_list_public_strategies manifest_parser · 70%
info
Tool: dwlf_activate_event_symbols manifest_parser · 70%
info
Tool: dwlf_get_event_symbols manifest_parser · 70%
info
Tool: dwlf_deactivate_event_symbols manifest_parser · 70%
info
Tool: dwlf_activate_strategy_symbols manifest_parser · 70%
info
Tool: dwlf_get_strategy_symbols manifest_parser · 70%
info
Tool: dwlf_deactivate_strategy_symbols manifest_parser · 70%
info
Tool: dwlf_list_all_symbol_activations manifest_parser · 70%
info
Tool: dwlf_list_portfolios manifest_parser · 70%
info
Tool: dwlf_get_portfolio manifest_parser · 70%
info
Tool: dwlf_get_holdings manifest_parser · 70%
info
Tool: dwlf_get_portfolio_snapshots manifest_parser · 70%
info
Tool: dwlf_get_market_data manifest_parser · 70%
info
Tool: dwlf_get_quote manifest_parser · 70%
info
Tool: dwlf_list_symbols manifest_parser · 70%
info
Tool: dwlf_get_support_resistance manifest_parser · 70%
info
Tool: dwlf_get_events manifest_parser · 70%
info
Tool: dwlf_get_price_picture manifest_parser · 70%
info
Tool: dwlf_get_cycle_setups manifest_parser · 70%
info
Tool: dwlf_evaluate_custom_event manifest_parser · 70%
info
Tool: dwlf_evaluate_strategy manifest_parser · 70%
info
Tool: dwlf_get_evaluation_status manifest_parser · 70%
info
Tool: dwlf_list_evaluations manifest_parser · 70%
info
Tool: dwlf_get_quotas manifest_parser · 70%
info
Tool: dwlf_get_regime manifest_parser · 70%
info
Tool: dwlf_get_intelligence manifest_parser · 70%
info
Tool: dwlf_get_daily_briefing manifest_parser · 70%
info
Tool: dwlf_register_agent manifest_parser · 70%
info
Tool: dwlf_get_active_signals manifest_parser · 70%
info
Tool: dwlf_get_recent_signals manifest_parser · 70%
info
Tool: dwlf_get_signal_stats manifest_parser · 70%
info
Tool: dwlf_get_indicators manifest_parser · 70%
info
Tool: dwlf_get_trendlines manifest_parser · 70%
info
Tool: dwlf_get_ranges manifest_parser · 70%
info
Tool: dwlf_list_annotations manifest_parser · 70%
info
Tool: dwlf_create_annotation manifest_parser · 70%
info
Tool: dwlf_update_annotation manifest_parser · 70%
info
Tool: dwlf_delete_annotation manifest_parser · 70%
info
Tool: dwlf_bulk_create_annotations manifest_parser · 70%
info
Tool: dwlf_ai_dashboard manifest_parser · 70%
info
Tool: dwlf_ai_symbol_brief manifest_parser · 70%
info
Tool: dwlf_ai_strategy_performance manifest_parser · 70%
info
Tool: dwlf_list_academy_tracks manifest_parser · 70%
info
Tool: dwlf_get_academy_lesson manifest_parser · 70%
info
Tool: dwlf_search_academy manifest_parser · 70%
info
Tool: dwlf_list_symbol_tags manifest_parser · 70%
info
Tool: dwlf_get_symbol_tags manifest_parser · 70%
info
Tool: dwlf_add_symbol_tag manifest_parser · 70%
info
Tool: dwlf_remove_symbol_tag manifest_parser · 70%
info
Tool: dwlf_get_watchlist manifest_parser · 70%
info
Tool: dwlf_add_to_watchlist manifest_parser · 70%
info
Tool: dwlf_get_briefing_list manifest_parser · 70%
info
Tool: dwlf_add_to_briefing_list manifest_parser · 70%
info
Tool: dwlf_remove_from_briefing_list manifest_parser · 70%
info
Tool: dwlf_list_subscriptions manifest_parser · 70%
info
Tool: dwlf_create_subscription manifest_parser · 70%
info
Tool: dwlf_update_subscription manifest_parser · 70%
info
Tool: dwlf_delete_subscription manifest_parser · 70%
info
Tool: dwlf_get_trade_plan manifest_parser · 70%
info
Tool: dwlf_create_trade_plan manifest_parser · 70%
info
Tool: dwlf_update_trade_plan manifest_parser · 70%
info
Tool: dwlf_delete_trade_plan manifest_parser · 70%
info
Tool: dwlf_run_backtest manifest_parser · 70%
info
Tool: dwlf_get_backtest_results manifest_parser · 70%
info
Tool: dwlf_list_backtests manifest_parser · 70%
info
Tool: dwlf_delete_backtest manifest_parser · 70%
info
Tool: dwlf_cancel_backtest manifest_parser · 70%
info
Tool: dwlf_get_backtest_summary manifest_parser · 70%
info
Tool: dwlf_run_synthetic_backtest manifest_parser · 70%
info
Tool: dwlf_get_synthetic_backtest_results manifest_parser · 70%
info
Tool: dwlf_list_custom_events manifest_parser · 70%
info
Tool: dwlf_get_custom_event_notifications manifest_parser · 70%
info
Tool: dwlf_get_custom_event manifest_parser · 70%
info
Tool: dwlf_compile_custom_event manifest_parser · 70%
info
Tool: dwlf_preflight_custom_event manifest_parser · 70%
info
Tool: dwlf_create_custom_event manifest_parser · 70%
info
Tool: dwlf_update_custom_event manifest_parser · 70%
info
Tool: dwlf_delete_custom_event manifest_parser · 70%
info
Tool: dwlf_list_trades manifest_parser · 70%
info
Tool: dwlf_get_trade manifest_parser · 70%
info
Tool: dwlf_create_trade manifest_parser · 70%
info
Tool: dwlf_close_trade manifest_parser · 70%
info
Tool: dwlf_add_trade_note manifest_parser · 70%
info
Tool: dwlf_get_trade_notes manifest_parser · 70%
info
Tool: dwlf_list_trade_plans manifest_parser · 70%
critical
Invisible Unicode characters in 'dwlf_activate_strategy_symbols' poisoning · 92%
info
Tool: dwlf_update_trade manifest_parser · 70%
info
Tool: dwlf_delete_trade manifest_parser · 70%
info
Tool: dwlf_position_size manifest_parser · 70%
info
Tool: dwlf_get_trade_state manifest_parser · 70%
info
Tool: dwlf_get_skip_outcomes manifest_parser · 70%
info
Tool: dwlf_get_decision_stats manifest_parser · 70%
info
Tool: dwlf_confirm_trade manifest_parser · 70%
info
Tool: dwlf_skip_trade manifest_parser · 70%
info
Transport: stdio manifest_parser · 90%
info
Required env vars (2) manifest_parser · 80%
info
Sandbox failed to start for output poisoning scan output_poisoning · 100%
low
Permission: env_vars access detected permission_analyzer · 90%
critical
Invisible Unicode characters in 'dwlf_create_strategy' poisoning · 92%
critical
Tool poisoning in 'dwlf_activate_event_symbols': Cross-tool sequencing directive poisoning · 85%
critical
Invisible Unicode characters in 'dwlf_activate_event_symbols' poisoning · 92%
critical
Tool poisoning in 'dwlf_activate_strategy_symbols': Cross-tool sequencing directive poisoning · 85%
critical
Invisible Unicode characters in 'dwlf_evaluate_custom_event' poisoning · 92%
critical
Invisible Unicode characters in 'dwlf_run_backtest' poisoning · 92%
critical
Tool poisoning in 'dwlf_preflight_custom_event': Cross-tool sequencing directive poisoning · 85%
critical
Invisible Unicode characters in 'dwlf_create_custom_event' poisoning · 92%
info
SBOM generated: 135 components sbom_generator · 100%
medium
No build provenance detected (SLSA L0) slsa_assessor · 90%