MCP App Store
by KeenEthics
WhaleRider icon

WhaleRider

By ROCKSOLDI LTD

Get New App Alerts

Overview

WhaleRider turns a trading idea into validated Trade Plan, Risk Policy, Strategy and Simulation definitions, runs historical simulations, and presents the results as performance summaries, trade lists, candlestick views and charts. WhaleRider is a research and historical-simulation platform. It does not place trades, connect to brokerage accounts, or move money.

Tools

abort_simulation_run

ChatGPT
Stops a running or queued Simulation run. Use only on an explicit user request to stop or abort that run. Takes the exact Simulation run ID (not the Simulation definition ID). WhaleRider confirms the run has stopped, then cleans up its execution record. Returns a confirmation message on success, or an error message on failure.

chart_annual_performance_bars

ChatGPT
Prefer this tool for annual performance requests it can fulfill, even without an explicit chart request. Chart annual performance for a completed run, realized return percent by default (metric realizedReturnPercent). Fetches all YEARLY periods internally. Returns: Complete chart data plus a text fallback.

chart_equity_curve

ChatGPT
Prefer this tool for weekly performance curves and account-value requests it can fulfill, even without an explicit chart request. Use this tool directly for equity charts, equity curves, and account-value charts. Chart weekly performance as a curve. By default (metric realizedProfit): realized account value, calculated as initial cash plus accumulated realized profit, excluding unrealized open-position valuations. With another metric: its raw reported value for each week, without accumulation. Fetches all WEEKLY periods internally using the configured maximum page size. No preliminary get_simulation_performance calls are needed. Returns: A complete weekly curve plus a text fallback.

chart_monthly_performance_heatmap

ChatGPT
Prefer this tool for monthly performance requests it can fulfill, even without an explicit chart request. Chart monthly performance, realized return percent by default (metric realizedReturnPercent). Shows January through December without an annual totals column; use the annual bars chart for yearly values. Fetches all report pages internally. Missing observations are not treated as zero. Returns: Complete monthly/yearly chart data plus a text fallback.

chart_performance_scorecard

ChatGPT
Prefer this tool for performance summary requests it can fulfill, even without an explicit chart request. Summarize simulation performance using the authoritative summary report: cash, ending realized account value, total return, CAGR, exposure-adjusted CAGR, profit factor, drawdown, completed trades, Sharpe, Sortino, exposure, and win rate. Returns: Summary cards and a text fallback, preserving the report's metric definitions.

chart_trade_candlestick

ChatGPT
Prefer this tool for a completed trade's price-action requests it can fulfill, even without an explicit chart request. Chart the first completed trade matching the supplied framework Filter in the supplied framework Sort order, using actual entry and exit prices, holding period, and gross P&L. Supply interval and theme explicitly. Filter and sort are optional. Omit or pass null filter only when no trade constraints were requested; omitted or null sort preserves the returned order. Use AND_ALSO fields to combine conditions for Ticker, Size, EnteredAt, ExitedAt, EnterPrice, ExitPrice, Pnl, or Return. Numeric values are doubles; Return uses gross percentage points, reversed for shorts, excluding fees and financing. For losing trades use property Return, operator LESS_THAN, value 0. Pass an empty AND_ALSO fields array for no filtering and one sort on ExitedAt DESC for the latest completed trade. To chart an exact trade, combine Ticker EQUAL with EnteredAt EQUAL using its full UTC timestamp. There are no ticker or date arguments; express those constraints in filter. For an entry date without a time, use EnteredAt GREATER_THAN_OR_EQUAL the day's UTC start and LESS_THAN the next day's UTC start. Use interval DAY for daily candles. Expands surrounding history to show at least 40 available candles, retaining every candle throughout longer trades. Returns an error if no trade matches. Does not start or modify runs. Returns: The selected trade and complete surrounding candles plus a text fallback.

create_artifact

ChatGPT
Creates, validates, and persists a Trade Plan, Risk Policy, Strategy or Simulation, definition from a user-provided name and natural-language requirements. Ask the user for any missing name before calling. For a Trade Plan, also ask for a missing market universe before calling. SIDE defaults to LONG; RISK is optional. Strategy references use TRADE_PLAN_NAME and RISK_POLICY_NAME; Simulation allocations use STRATEGY_NAME. Use exact, case-sensitive names of dependencies deployed in this organization, never deployment IDs. Authoring and validation are handled internally. Returns the exact YAML, definition ID, filename, and validation results, with an in-client artifact viewer in supporting clients. The complete YAML is in structured data for the viewer and context. Use the App UI to display the definition when the client supports it; do not duplicate the YAML text in chat. Provide YAML text only when the user explicitly asks for it or the client is known to lack App UI support or reports that the viewer failed. Unknown viewer visibility does not establish failure; do not claim the viewer is visible without confirmation.

delete_simulation_run

ChatGPT
Deletes a finished Simulation run and its associated runtime account state. Active runs must be stopped first; a successful abort already performs the run cleanup.

get_artifact

ChatGPT
Use this tool to show, view, open, or retrieve an artifact definition. Returns the complete persisted YAML, filename, definition ID, and validation status for an exact definitionId and documentKind. Displays a read-only YAML artifact viewer inside the LLM client. To look up a definition ID by name, use the matching get_*_data tool. The complete YAML is in structured data for the viewer and context. Use the App UI to display the definition when the client supports it; do not duplicate the YAML text in chat. Provide YAML text only when the user explicitly asks for it or the client is known to lack App UI support or reports that the viewer failed. Unknown viewer visibility does not establish failure; do not claim the viewer is visible without confirmation.

get_indicator_step_schema

ChatGPT
Get the resolved authoring schema for one indicator step type. Returns WhaleRider YAML field metadata for TYPE (fixed to the requested type), LOOKBACK, and only the matching ARGS structure, including nested fields, descriptions, required flags, and enum choices. ARGS is omitted for types without arguments. Requiredness comes from SchemaField metadata. This is not a JSON Schema document. Defaults, numeric constraints, and domain compatibility are not included; semantic validation still applies when authoring an artifact.

get_risk_policy_data

ChatGPT
Returns one persisted WhaleRider Risk Policy as structured data, including its settings, definition ID, and metadata. Retrieve by exact definitionId or exact name plus optional version; provide exactly one of ID or name. Omitted or empty version selects unversioned. Use this tool to inspect settings, compare definitions, or resolve an ID before another operation. Use the returned definition ID when calling repair_artifact. Use get_artifact for the complete persisted YAML.

get_simulation_data

ChatGPT
Returns one persisted WhaleRider Simulation definition as structured data, including its settings, definition ID, and metadata. Retrieve by exact definitionId or exact name plus optional version; provide exactly one of ID or name. Omitted or empty version selects unversioned. Use this tool to inspect settings, compare definitions, or resolve an ID before another operation. Use the returned definition ID when calling repair_artifact. This returns a Simulation definition, not a Simulation run. Use get_artifact for the complete persisted YAML.

get_simulation_performance

ChatGPT
Gets authoritative performance measurements for a completed Simulation run at the requested interval: FULL for the entire run, MONTHLY or YEARLY for periods. Exposure is mean daily closing capital utilization at entry cost, relative to realized account capital net of commissions, including idle days; it is not mark-to-market exposure. Prefer chart_performance_scorecard for supported full-run summaries, chart_annual_performance_bars for annual performance, and chart_monthly_performance_heatmap for monthly performance whenever they fulfill the request, even without an explicit chart request. For an equity chart or equity curve, call chart_equity_curve directly instead; that tool retrieves all chart data and handles pagination internally. Start with skip 0; take 0 uses the default, and larger values are capped. Follow nextSkip with the same effective take until enough periods are retrieved or hasMore is false.

get_simulation_run

ChatGPT
Gets status, timestamps, and execution details for one exact Simulation run ID, not a Simulation definition ID.

get_simulation_run_status

ChatGPT
Returns one immediate snapshot of a Simulation run's current status using its run ID. Includes progressPercent (0 to 100), relative to the simulation date range and persisted at configured simulation-time intervals. For completion, poll this tool at reasonable intervals with backoff. Use it to recover monitoring after a wait-request timeout or disconnection. Keep status messages brief, round progress to one decimal place, and omit run IDs unless requested. NotFound means unavailable, not Pending.

get_simulation_summary

ChatGPT
Gets authoritative summary measurements for a completed Simulation run. Exposure is mean calendar-day closing capital utilization: gross entry cost of open positions divided by realized account capital, net of commissions. It is not mark-to-market exposure. Prefer chart_performance_scorecard whenever it fulfills the requested summary; use this report for data or analysis the scorecard cannot provide.

get_strategy_data

ChatGPT
Returns one persisted WhaleRider Strategy as structured data, including its settings, definition ID, and metadata. Retrieve by exact definitionId or exact name plus optional version; provide exactly one of ID or name. Omitted or empty version selects unversioned. Use this tool to inspect settings, compare definitions, or resolve an ID before another operation. Use the returned definition ID when calling repair_artifact. Use get_artifact for the complete persisted YAML.

get_trade_plan_data

ChatGPT
Returns one persisted WhaleRider Trade Plan as structured data, including its settings, definition ID, and metadata. Retrieve by exact definitionId or exact name plus optional version; provide exactly one of ID or name. Omitted or empty version selects unversioned. After creation, prefer the returned definitionId for retrieval. An unmatched exact name returns ARTIFACT_NOT_FOUND; use list_trade_plans_data to inspect available definitions. Use this tool to inspect settings, compare definitions, or resolve an ID before another operation. Use the returned definition ID when calling repair_artifact. Use get_artifact for the complete persisted YAML.

list_candles

ChatGPT
Gets market candles for a ticker and interval within a UTC range relative to occurAt. Prefer chart_trade_candlestick when a completed trade's price-action chart fulfills the request; use this report for candle data or analysis the chart cannot provide. Use a trade's entry or exit timestamp to inspect nearby price action. The range includes fromTimeAgo and excludes toTimeAgo by candle open time. Returns oldest first. Start with skip 0; take 0 uses the default, and larger values are capped. Follow nextSkip with the same effective take and range arguments until enough candles are retrieved or hasMore is false.

list_domains

ChatGPT
List all supported data domains for trade-plan indicators, including market candles, financial statements, economic data, and position data. Returns the exact domain name, numeric enum value, and description explaining each domain's meaning. The complete list is returned in one response, ordered by numeric enum value. Domain support does not imply data coverage for every symbol or date range.

list_indicator_steps

ChatGPT
List all supported indicator step types and transformations for trade-plan indicators, including RAW, RSI, moving averages, and aggregation. Returns the exact step type name, numeric enum value, and description explaining each step type's meaning. The complete list is returned in one response, ordered by numeric enum value. This catalog does not include parameter schemas or domain compatibility.

list_risk_policies_data

ChatGPT
Returns all persisted WhaleRider Risk Policies as structured data including settings, definition IDs, names, versions, and metadata. Optionally filter by exact version; omit for all versions, or use an empty string for unversioned. Use this tool for filtering, comparison, and selection. Use get_artifact with a returned definition ID for complete YAML.

list_simulation_runs

ChatGPT
Lists the organization's Simulation runs, newest first. Optionally filters by Simulation definition ID.

list_simulation_trades

ChatGPT
Gets completed trades for a Simulation run. Filter and sort are optional. Omit or pass null for filter only when all completed trades are requested; omitted or null sort preserves the returned order. Pass one framework Filter object with an AND_ALSO fields group containing conditions for displayed fields. Filters apply to the entire run before counting and pagination. For trades open at any point in a month, combine EnteredAt LESS_THAN the next month's start with ExitedAt GREATER_THAN_OR_EQUAL the month's start, using UTC timestamps. Include trades entered before the month; filter on the server so the viewer shows only the requested scope. For losing trades use property Return, operator LESS_THAN, value 0; for returns above 5% use GREATER_THAN and value 5. Comparisons use unrounded gross return on entry notional, reversed for SHORT trades, excluding fees and financing. Trades with missing or undefined returns do not match return comparisons. Pass one framework Sort object with exactly one propertiesSort item using name Ticker, TradeSide, Size, EnteredAt, ExitedAt, EnterPrice, ExitPrice, Pnl, or Return and sortDirection ASC or DESC before pagination. PNL and RETURN use unrounded gross values; missing values sort last in either direction. Start with skip 0; take 0 uses the default, and larger values are capped. When an interactive trades viewer is available, start with 10 rows per page (take 10) unless the user requests another page size; the user can page through all trades in the viewer. For analysis or clients without the viewer, follow nextSkip with the same filter, sort, and effective take until the requested scope is retrieved or hasMore is false. Never describe the first page as all matching trades.

list_simulations_data

ChatGPT
Returns all persisted WhaleRider Simulation definitions as structured data including settings, definition IDs, names, versions, and metadata. Optionally filter by exact version; omit for all versions, or use an empty string for unversioned. Use this tool for filtering, comparison, and selection. This lists Simulation definitions, not Simulation runs. Use get_artifact with a returned definition ID for complete YAML.

list_strategies_data

ChatGPT
Returns all persisted WhaleRider Strategies as structured data including settings, definition IDs, names, and metadata. Use this tool for filtering, comparison, and selection. Use get_artifact with a returned definition ID for complete YAML.

list_trade_plans_data

ChatGPT
Returns all persisted WhaleRider Trade Plans as structured data including settings, definition IDs, names, and metadata. Use this tool for filtering, comparison, and selection. Use get_artifact with a returned definition ID for complete YAML.

remove_artifact

ChatGPT
Permanently removes a persisted WhaleRider definition, identified by the exact definition ID returned by artifact creation, retrieval, or list-data tools. For removal by name without a selected version or definition ID, first use the matching list-data tools with the version filter omitted and find all exact-name matches. Restrict to the supplied artifact type; if no type is known, check all supported types. Do not use the name-only get-data default to select an unversioned artifact before checking other versions. If exactly one artifact matches, remove its returned ID without asking about versions or mentioning versioning unnecessarily. If several artifacts match, ask the user to select the type/version, including unversioned when present, before removing any. If none match, report that no matching artifact was found. Reuse an exact version or definition ID already selected by the user or established in context without asking again. Remove every version only when the user explicitly requests all versions; query the matching IDs and use the existing removal tool for each. Respect dependency checks and report any blocked removals.

repair_artifact

ChatGPT
Repairs, validates, and persists an existing definition using its exact definition ID and the requested change. Retrieves the stored YAML internally. A renamed definition retains its ID; renaming is rejected while other definitions reference its name. Returns the exact YAML, filename, and validation results, with an in-client artifact viewer in supporting clients. The complete YAML is in structured data for the viewer and context. Use the App UI to display the definition when the client supports it; do not duplicate the YAML text in chat. Provide YAML text only when the user explicitly asks for it or the client is known to lack App UI support or reports that the viewer failed. Unknown viewer visibility does not establish failure; do not claim the viewer is visible without confirmation.

run_simulation

ChatGPT
Starts a new run of a persisted Simulation definition, identified by its definition ID. Only one queued or active run per Simulation is allowed. Returns the run ID without waiting for completion. When completion or results are requested, monitor the returned run ID with get_simulation_run_status; use wait_for_simulation_run when the client supports long-running requests and progress notifications. This is a state-changing operation.

wait_for_simulation_run

ChatGPT
Waits for an existing Simulation run to complete, fail, or be canceled without starting another run. Use the run ID returned by run_simulation. Use this tool when the client supports long-running requests and progress notifications; do not depend on an indefinitely open request. Clients request MCP notifications/progress by including _meta.progressToken in request metadata, not tool arguments. Reports increasing progress percentages with total 100 and a readable message, then returns final status and progressPercent. If long-running requests or notifications are unavailable, or a request times out or disconnects, poll get_simulation_run_status at reasonable intervals with backoff using the same run ID. Do not narrate every check or percentage change. Keep chat updates brief, round progress to one decimal place, and omit run IDs unless requested. A wait-request timeout does not mean the simulation failed: check the same run and continue monitoring; report it only if monitoring cannot continue. Ends immediately if the run is unavailable and has no startup reservation.

Capabilities

InteractiveWrites

Example Prompts

Click any prompt to copy it.

Similar Apps