Keel Docs
SDK & CLI

MCP Tool Reference

Generated reference for Keel MCP outcome tools and their CLI equivalents.

MCP Tool Reference

Generated from keel.tools.outcomes.OUTCOMES and the live Click command tree. Do not edit this file by hand; run python packages/keel-trade/keel-sdk/scripts/generate_agent_reference_docs.py.

Keel currently exposes 37 outcome tools. The default local stdio MCP surface exposes 35 tools, including read-only keel_live_monitor; the 2 live-write tools are opt-in with KEEL_TOOLSETS=always,read-only,backtest,share,live-read,live-write.

KEEL_TOOLSETS=live remains a deprecated compatibility alias for live-read,live-write; new configs should use the explicit split.

MCP is the agent surface. The CLI is the reproducible terminal surface. Outcome tools share names, schemas, handlers, structured errors, and safety annotations across both surfaces.

Outcome Tools

MCP toolCLI commandToolsetScopeAnnotationsRequired argsOptional args
keel_accounts_listkeel accounts listread-onlyaccount.readread-only, idempotent-account_id (string), limit (integer), cursor (string)
keel_audit_list_lastkeel audit list-lastread-onlyaudit.readread-only, idempotent-n (integer)
keel_auth_loginkeel auth login (CLI-only implementation)alwaysreadwrite, idempotent, open-world-scope (base, live), api_url (string)
keel_auth_logoutkeel auth logout (CLI-only implementation)alwaysreadwrite, destructive, idempotent--
keel_backtest_runkeel backtest runbacktestbacktest.createwritestrategy_id* (string)start_date (string), end_date (string), commit_id (string), config (object), wait (boolean), auto_push (boolean), push_message (string), no_ownership_hint (boolean)
keel_backtest_summarizekeel backtest summarizebacktestbacktest.readread-only, idempotentbacktest_id* (string)-
keel_backtest_watchkeel backtest watchbacktestbacktest.readread-only, idempotentbacktest_id* (string)interval_s (number), timeout_s (integer), no_ownership_hint (boolean)
keel_components_compose_helpkeel components compose-helpread-onlycomponent.readread-only, idempotentname* (string)-
keel_components_detail_batchkeel components describe-batchread-onlycomponent.readread-only, idempotentnames* (array)-
keel_components_searchkeel components searchread-onlycomponent.listread-only, idempotent-keyword (string), query (string), category (data_loader, data_transform, forecast_composer, forecast_mapper, indicator, position_manager, position_sizer, regime_detector, risk_manager, signal_composer, signal_transform, slot_op, universe_filter), input_type (string), output_type (string), after (string), before (string), limit (integer)
keel_doctorkeel doctoralwaysaudit.readread-only, idempotent--
keel_feedbackkeel feedbackalwaysaudit.readwrite, open-world-text (string), goal (string), kind (friction, praise, bug), severity (string), context_ref (string)
keel_helpkeel helpalwaysaudit.readread-only, idempotent-topic (string)
keel_live_controlkeel live controllive-writerunner.pausewrite, destructive, open-worlddeployment_id* (string), action* (pause, resume, stop, trigger)-
keel_live_deploykeel live deploylive-writerunner.createwrite, destructive, open-worldstrategy_id* (string)account_id (string), direct (boolean), preview (boolean), confirmation_token (string), schedule (string), intent_token (string), auto_push (boolean), push_message (string)
keel_live_monitorkeel live monitorlive-readrunner.readread-only, idempotent, open-world-deployment_id (string), view (equity, executions, funding, orders, overview, pnl, portfolio, positions, stats, trades, weights, weights-history), limit (integer), symbol (string), side (string), start_time (string), sort_by (string), sort_dir (string), cursor (string)
keel_open_in_appkeel app openread-onlystrategy.readread-only, idempotentid* (string)-
keel_ownership_statuskeel ownership statusread-onlystrategy.readread-only, idempotent, open-worldstrategy_id* (string)-
keel_plan_statuskeel plan statusread-onlyaudit.readread-only, idempotent--
keel_share_createkeel share createsharesharing.createwrite, destructive, open-worldtarget_id* (string)target_type (strategy, backtest), include_source (boolean), permission (view, fork), expires_at (string)
keel_statuskeel statusalwaysaudit.readread-only, idempotent--
keel_strategy_checkoutkeel strategy checkoutbackteststrategy.readwrite, open-worldstrategy_id* (string)dir (string)
keel_strategy_composekeel strategy composebackteststrategy.createwrite, idempotent, open-world-source (string), source_file (string), strategy_id (string), name (string), dry_run (boolean), parent_version (string)
keel_strategy_deletekeel strategy deletebackteststrategy.deletewrite, destructive, open-worldstrategy_id* (string)-
keel_strategy_diffkeel strategy diffread-onlystrategy.readread-only, idempotent, open-worldref_a* (string), ref_b* (string)strategy_id (string)
keel_strategy_discardkeel strategy discardbackteststrategy.readwrite, destructive, idempotent-strategy_id (string)
keel_strategy_forkkeel strategy forkbackteststrategy.createwrite, idempotent, open-worldsource* (string)name (string), target_workspace_id (string)
keel_strategy_getkeel strategy getread-onlystrategy.readread-only, idempotent, open-worldstrategy_id* (string)version (string), include_source (boolean), include_versions (boolean), no_ownership_hint (boolean)
keel_strategy_logkeel strategy logread-onlystrategy.readread-only, idempotentstrategy_id* (string)limit (integer)
keel_strategy_memory_readkeel strategy memory-readread-onlystrategy.readread-only, idempotent, open-worldstrategy_id* (string)limit (integer)
keel_strategy_memory_writekeel strategy memory-writebackteststrategy.updatewrite, open-worldstrategy_id* (string), note* (string)role (agent, user)
keel_strategy_pullkeel strategy pullbackteststrategy.readwrite, idempotent, open-world-strategy_id (string), force (boolean)
keel_strategy_pushkeel strategy pushbackteststrategy.updatewrite, open-world-strategy_id (string), message (string), force (boolean)
keel_strategy_restorekeel strategy restorebackteststrategy.updatewrite, open-worldstrategy_id* (string), ref* (string)message (string)
keel_strategy_searchkeel strategy searchread-onlystrategy.readread-only, idempotent, open-world-query (string), tag (string), owner (string), share_id (string), limit (integer), cursor (string)
keel_strategy_statuskeel strategy statusbackteststrategy.readread-only, idempotent, open-world-strategy_id (string), include_recent (boolean), recent_commits (integer), no_ownership_hint (boolean)
keel_strategy_workspaceskeel strategy workspacesread-onlystrategy.readread-only, idempotent--

Tool Descriptions

always

  • keel_auth_login: Run the OAuth 2.1 + PKCE browser-loopback login flow against Keel and persist tokens to ~/.keel/config.yaml so subsequent tool calls are authenticated.
  • keel_auth_logout: Clear stored Keel credentials from ~/.keel/config.yaml so the next tool call is unauthenticated — use it to sign the user out, or to switch accounts (logout → keel_auth_login).
  • keel_doctor: Diagnose the Keel CLI/MCP installation in one read-only pass: auth, API reachability, and the active tool surface.
  • keel_feedback: Send product feedback about Keel to the team: friction, praise, or a bug report from this session.
  • keel_help: Fetch a Keel knowledge or DSL-reference document by topic name — the way to pull depth on demand instead of reasoning about DSL syntax, phases, or composition rules from memory.
  • keel_status: Report Keel CLI/MCP status in one call: auth state and identity, API URL, the toolsets and MCP tools visible under the current KEEL_TOOLSETS, remaining plan quota (backtest runs, compute seconds, live slots), and cross-surface hints.

read-only

  • keel_accounts_list: List your Hyperliquid accounts (id, label, wallet_address, status, account_mode, agent_address, expires_at, attached strategy/deployment) — read-only enumeration to find the account you need.
  • keel_audit_list_last: Read the most recent N audit events for the current org — the agent's own trail for self-debugging and recovery.
  • keel_components_compose_help: Fetch the full schema/detail contract for ONE known pipeline component: parameter list, type signature, slot reads/writes, examples, and common pitfalls.
  • keel_components_detail_batch: Fetch the full spec (schema, parameter list, examples, slot reads/writes, type signature) for SEVERAL components in one call.
  • keel_components_search: Search the Keel pipeline component catalog by keyword, semantic query, category, input/output type, or pipeline position (after/before) — the REQUIRED first step of the two-step discovery every build turn starts with.
  • keel_open_in_app: Returns a link to view and manage this strategy in the Keel web app.
  • keel_ownership_status: Fetch the read-only first-session ownership projection for one strategy — where it sits in its maturation arc and what to do next.
  • keel_plan_status: Report the org's current Keel plan as enforced numbers: plan name, per-plan limits, remaining quota this period (backtest runs, compute seconds, live strategy slots), the builder fee in bps, and upgrade_options — the other available plans with USD prices and exact limit differences, returned as data, not a recommendation.
  • keel_strategy_diff: Compute the structural diff between two strategy versions or two sources: added, removed, and modified steps, per-parameter changes (such as ROC.period 20→42), reordering, and component version changes, plus a one-line summary.
  • keel_strategy_get: Fetch one strategy by id — metadata by default; pass include_source=true to also read the DSL source at a given version (default HEAD), and include_versions=true to list every commit.
  • keel_strategy_log: Show a strategy's commit history — the 'git log' of the sync model over the server's canonical timeline, where server HEAD is the source of truth.
  • keel_strategy_memory_read: Read the agent/user notes attached to a strategy — the durable context that outlives a single session.
  • keel_strategy_search: Search and list strategies in the current org by query (name substring), tag, owner, or share_id — the entry point when the user wants to work on an EXISTING strategy rather than build a new one.
  • keel_strategy_workspaces: List every locally checked-out strategy workspace — strategy id, name, and sync metadata (source hash, checkout time, sequence at checkout).

backtest

  • keel_backtest_run: Submit a backtest for a strategy over a date range.
  • keel_backtest_summarize: Summarize a completed backtest: Sharpe / max drawdown / total return / turnover / funding-attribution, plus period info and a presigned results.json URL when the run is complete.
  • keel_backtest_watch: Poll an already-running backtest until it reaches a terminal status (succeeded/failed/cancelled) or the timeout elapses — the bounded way to wait on a run started by keel_backtest_run.
  • keel_strategy_checkout: Pull a platform strategy into a local workspace so you can edit, validate, and version-control it.
  • keel_strategy_compose: Create or update a strategy from DSL source.
  • keel_strategy_delete: Hard-delete a strategy on the platform — IRREVERSIBLE.
  • keel_strategy_discard: Remove a local workspace — the checked-out strategy.py + .keel-meta.json.
  • keel_strategy_fork: Fork a strategy into your org to iterate on a COPY — the safe way to improve or adapt an existing strategy (yours, or one from a share link) without touching the original.
  • keel_strategy_memory_write: Append a durable note to a strategy's memory — the place to capture WHY, not what.
  • keel_strategy_pull: Re-fetch the server HEAD into the local working copy — the 'git pull' of the sync model.
  • keel_strategy_push: Commit local strategy.py changes back to the platform as a new version — the 'git push' of the sync model.
  • keel_strategy_restore: Restore a historical commit as the new HEAD — the safe undo of the sync model.
  • keel_strategy_status: Compare a local workspace's strategy.py against the server's current HEAD — the 'git status' of the sync model.

share

  • keel_share_create: Publish a strategy or a backtest result at a public usekeel.io/share/<id> URL.

live-read

  • keel_live_monitor: Read-only observability for live deployments: overview, positions, equity, P&L, stats, weights, weights-history, executions, orders, trades, funding events, or portfolio summary — one view enum in place of ~13 separate live_* read endpoints.

live-write

  • keel_live_control: Control an EXISTING live deployment that the human already deployed and authorized in the Keel web app: pause, resume, stop, or trigger a manual rebalance.
  • keel_live_deploy: Go live with a strategy.

CLI Equivalents

Outcome commands generated from the registry:

CLI commandMCP toolPositional argsOptions
keel accounts listkeel_accounts_listaccount_id--format, --limit, -n, --cursor
keel audit list-lastkeel_audit_list_last---format, --n
keel auth loginkeel_auth_login---key, --scope, --api-url
keel auth logoutkeel_auth_logout--
keel backtest runkeel_backtest_runstrategy_id--format, --wait, --no-wait, --start-date, --push-message, --no-ownership-hint, --no-no-ownership-hint, --end-date, --config, --commit-id, --auto-push, --no-auto-push
keel backtest summarizekeel_backtest_summarizebacktest_id--format
keel backtest watchkeel_backtest_watchbacktest_id--format, --timeout-s, --no-ownership-hint, --no-no-ownership-hint, --interval-s
keel components compose-helpkeel_components_compose_helpname--format
keel components describe-batchkeel_components_detail_batchnames...--format
keel components searchkeel_components_searchkeyword--format, --query, --output-type, --limit, -n, --input-type, --category, --before, --after
keel doctorkeel_doctor---format
keel feedbackkeel_feedbacktext--format, --severity, --kind, --goal, --context-ref
keel helpkeel_helptopic--format
keel live controlkeel_live_controldeployment_id--format, --yes, --action
keel live deploykeel_live_deploystrategy_id--format, --yes, --schedule, --push-message, --preview, --no-preview, --intent-token, --direct, --no-direct, --confirmation-token, --auto-push, --no-auto-push, --account-id
keel live monitorkeel_live_monitordeployment_id--format, --view, --symbol, --start-time, --sort-dir, --sort-by, --side, --limit, -n, --cursor
keel app openkeel_open_in_appid--format
keel ownership statuskeel_ownership_statusstrategy_id--format
keel plan statuskeel_plan_status---format
keel share createkeel_share_createtarget_id--format, --yes, --target-type, --permission, --include-source, --no-include-source, --expires-at
keel statuskeel_status---format
keel strategy checkoutkeel_strategy_checkoutstrategy_id--format, --dir
keel strategy composekeel_strategy_compose---format, --strategy-id, --source-file, --source, --parent-version, --name, --dry-run, --no-dry-run
keel strategy deletekeel_strategy_deletestrategy_id--format, --yes
keel strategy diffkeel_strategy_diff---format, --strategy-id, --ref-b, --ref-a
keel strategy discardkeel_strategy_discardstrategy_id--format, --yes
keel strategy forkkeel_strategy_forksource--format, --target-workspace-id, --name
keel strategy getkeel_strategy_getstrategy_id--format, --version, --no-ownership-hint, --no-no-ownership-hint, --include-versions, --no-include-versions, --include-source, --no-include-source
keel strategy logkeel_strategy_logstrategy_id--format, --limit, -n
keel strategy memory-readkeel_strategy_memory_readstrategy_id--format, --limit, -n
keel strategy memory-writekeel_strategy_memory_writestrategy_id--format, --role, --note
keel strategy pullkeel_strategy_pullstrategy_id--format, --force, --no-force
keel strategy pushkeel_strategy_pushstrategy_id--format, --message, -m, --force, --no-force
keel strategy restorekeel_strategy_restorestrategy_id--format, --ref, -r, --message, -m
keel strategy searchkeel_strategy_search---format, --tag, --share-id, --query, --owner, --limit, -n, --cursor
keel strategy statuskeel_strategy_statusstrategy_id--format, --recent-commits, --no-ownership-hint, --no-no-ownership-hint, --include-recent, --no-include-recent
keel strategy workspaceskeel_strategy_workspaces---format

CLI-Only Commands

These commands are intentionally not MCP tools. They handle local setup, credentials, project scaffolding, local context, local arming, and local universe files.

CLI commandPositional argsOptions
keel arm disarm---emergency
keel arm live set---account, --ttl, --once, --renew
keel arm status--
keel auth status--
keel auth whoami--
keel components describename--format
keel components detailname--format
keel context addnote-
keel context edit--
keel context importsource-
keel context init---force, --user
keel context show---layer
keel mcp serve--
keel openkind, target_id-
keel project hooks--
keel project init---force
keel skills list---format
keel skills showname--format
keel universe add-groupfile, name--symbols
keel universe categories--
keel universe getfile-
keel universe instruments---market
keel universe modify-groupfile, name--add, --remove
keel universe remove-groupfile, name-
keel universe resolvefile--mode, --market, --symbols, --categories, --top-n, --exclusions, --inclusions
keel universe setfile--mode, --market, --symbols, --categories, --top-n, --exclusions, --inclusions, --lookback, --volume-quartiles