Docs / Developer tools

Tools reference

The full list of the 70+ MCP tools your AI assistant can call, grouped by category, plus the signal-condition JSON shape.

The MCP server exposes 70+ tools organized by category. Your AI assistant can call any of these tools. Use this page when you want to know whether a particular platform operation is reachable from your client.

Strategy management#

ToolDescription
list_strategiesList strategies with optional filters (mode, ticker, timeframe)
get_strategyGet full strategy configuration by ID
create_strategyCreate a new strategy with name, ticker, timeframe, exchange
update_strategyUpdate strategy properties
delete_strategyDelete a strategy

Indicators#

ToolDescription
list_indicator_typesList all available indicator types
get_indicator_schemaGet the JSON schema for an indicator type
add_indicatorAdd an indicator to a strategy
update_indicatorUpdate indicator parameters
remove_indicatorRemove an indicator from a strategy

Signals & bias#

ToolDescription
add_signal_groupCreate a new signal group
add_signal_ruleAdd a rule to a signal group
edit_signal_ruleModify an existing rule
delete_signal_ruleRemove a rule
add_bias_generatorCreate a bias generator
add_bias_ruleAdd a bias rule

Signal rule conditions#

add_signal_rule, edit_signal_rule and add_bias_rule take a conditions array — the JSON form of what the builder's Condition rows express (see signals for the UI version). Each leaf compares one line against a constant or another line:

{
  "trigger_action": "enter_position",
  "trigger_direction": "long",
  "conditions": [
    { "and": [
      { "trigger_line": "RSI.rsi", "trigger": "lt", "threshold_value": 30 }
    ] }
  ]
}
FieldMeaning
trigger_lineThe line being tested, e.g. RSI.rsi, or a price line (close)
triggerOperator: crossover, crossunder, gt, ge, lt, le, eq
threshold_valueCompare against a constant — or
threshold_linecompare against another line, e.g. MACD.signal
trigger_line_shift / threshold_line_shiftOptional look-back in candles (default 0)

crossover / crossunder are the event operators (fire once on the cross); gt / lt and friends are state operators (true while the condition holds). A bias rule uses the same shape but takes a bias_direction (long / short / neutral) instead of trigger_action.

Risk management#

ToolDescription
set_stop_lossConfigure stop-loss (simple, trailing, or ATR)
set_take_profitConfigure take-profit (spread)
remove_stop_lossRemove stop-loss configuration
remove_take_profitRemove take-profit configuration

Backtesting#

ToolDescription
run_backtestRun a backtest for a strategy
get_backtest_resultsGet backtest metrics

The grid tools model the full research loop: create a template, check the variation count, launch it, wait for it to finish, analyze the robustness verdict, then refine or label the winner. See the "Research a strategy end-to-end" workflow in MCP workflows.

ToolDescription
create_grid_templateCreate a template from a strategy. kind picks the range shape and every mode is auto-clamped to the plan cap: zoom_in (default — narrow around current values), explore_higher / explore_lower (full window above / below), manual (legacy wide default).
list_grid_templatesList every grid template the caller owns
update_grid_templateModify a template's parameter ranges before launch
delete_grid_templateDelete a template
check_variationsReturn {count, limit} for a template — always call before create_grid
create_gridLaunch the grid; runs every variation, costs tokens beyond the daily allowance
list_gridsThe caller's grids with filters. label, classification, root_ticker/timeframe/exchange, state, search, plus numeric filters. Two numeric shapes: operator suffixes <col>_<op> where col ∈ {sharpe, cumulative_return, max_drawdown, time_in_market, robustness_score} and op ∈ {gt, gte, lt, lte} — e.g. sharpe_gte=1.5, max_drawdown_gte=-0.15. Legacy aliases min_sharpe, max_sharpe, min_cumulative_return, max_cumulative_return, min_robustness_score, and max_drawdown (magnitude — 0.15 = "no worse than -15%") still work. Sort by robustness / sharpe / cumulative_return / max_drawdown / time_in_market.
get_gridGrid detail: robustness verdict, ranked clusters (each with width + members), every variation's metrics
analyze_grid(Re)compute the cluster analysis — used to backfill older grids; new ones analyse automatically
get_grid_suggestionsProposed next searches from a finished grid — zoom_in inside the plateau + explore_higher/_lower above/below the tested range
refine_gridPersist a chosen next-search as a new template; returns {template_id}. Follow with create_grid to launch
archive_gridHide a grid from the default list; reversible in the UI
set_grid_labelsReplace a grid's labels (free-form user-scoped tags, max 20 per grid, 32 chars each). Pass the full desired list; the call replaces rather than merges.
list_grid_labelsAutocomplete — every distinct label the caller has ever used

Versioning & community#

ToolDescription
commit_versionCommit a version snapshot
list_versionsList version history
restore_versionRestore a previous version
share_strategyShare strategy to community

Hedge-fund templates#

ToolDescription
list_templatesList the 3 day-1 templates
get_templateGet one template's full cast + defaults

Agent committees#

ToolDescription
list_committeesList user's Squads
get_committeeGet one Squad (with members, covered markets and readings)
clone_templateClone a day-1 template into a working Squad
trigger_committee_runRun one deliberation on one market
get_committee_messagesReplay the deliberation message bus

Model routes#

ToolDescription
list_model_routesList user's per-task-class LLM routes
upsert_model_routeCreate or update a route
delete_model_routeDelete a route

LLM connections#

ToolDescription
list_llm_connectionsList user's LLM credentials (platform + direct + remote)
create_llm_connectionCreate a direct (user-provided) LLM connection
test_llm_connectionPing a connection to verify the credentials
reveal_llm_connection_keyReveal the decrypted API key (use sparingly)
update_llm_connectionUpdate a connection (label, endpoint, is_active)
delete_llm_connectionDelete a direct or remote LLM connection

News#

ToolDescription
list_news_articlesList recent news articles (filter by ticker, source, date)
get_news_articleGet one news article by id
list_news_sourcesList user's news sources (RSS, CryptoPanic, Fear&Greed)

Macro#

ToolDescription
list_macro_eventsList macro events (FOMC, CPI, etc.) with date filter
get_macro_eventGet one macro event by id

User settings & daily spend cap#

ToolDescription
get_user_settingsGet the user's daily token cap + today's spend so far
set_daily_token_capSet or clear the daily token cap (null to disable)

Committee cadence and markets#

ToolDescription
set_committee_cadenceHow often it wakes (30-minute floor), the scoring deadband, and how many bars of each reading the specialists see
list_committee_marketsThe markets it covers — one decision each per wake
add_committee_marketCover a market. Idempotent — re-adding re-enables a paused one
remove_committee_marketStop covering a market. Past decisions are kept
get_committee_readingsThe indicator readings fed to the specialists
set_committee_readingsReplace the whole reading map

Committee decisions#

ToolDescription
get_committee_decision_boardOne row per covered market: current call, points, next wake
list_committee_decisionsRecent decisions, newest first. The newest is always unscored
get_committee_decision_summaryStanding: cumulative points, recent form, accuracy, streak
NOTE

There are no proposal or promotion tools. Squads do not raise trades for approval and have no autonomy tier — they publish a decision per covered market, and strategies read it through the Committee Decision indicator. See using a Squad in a strategy.

Was this page helpful?