MCP Tool Reference
Generated reference for Keel MCP outcome tools and their CLI equivalents.
MCP Tool Reference
Generated from
keel.tools.outcomes.OUTCOMESand the live Click command tree. Do not edit this file by hand; runpython 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 tool | CLI command | Toolset | Scope | Annotations | Required args | Optional args |
|---|---|---|---|---|---|---|
keel_accounts_list | keel accounts list | read-only | account.read | read-only, idempotent | - | account_id (string), limit (integer), cursor (string) |
keel_audit_list_last | keel audit list-last | read-only | audit.read | read-only, idempotent | - | n (integer) |
keel_auth_login | keel auth login (CLI-only implementation) | always | read | write, idempotent, open-world | - | scope (base, live), api_url (string) |
keel_auth_logout | keel auth logout (CLI-only implementation) | always | read | write, destructive, idempotent | - | - |
keel_backtest_run | keel backtest run | backtest | backtest.create | write | strategy_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_summarize | keel backtest summarize | backtest | backtest.read | read-only, idempotent | backtest_id* (string) | - |
keel_backtest_watch | keel backtest watch | backtest | backtest.read | read-only, idempotent | backtest_id* (string) | interval_s (number), timeout_s (integer), no_ownership_hint (boolean) |
keel_components_compose_help | keel components compose-help | read-only | component.read | read-only, idempotent | name* (string) | - |
keel_components_detail_batch | keel components describe-batch | read-only | component.read | read-only, idempotent | names* (array) | - |
keel_components_search | keel components search | read-only | component.list | read-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_doctor | keel doctor | always | audit.read | read-only, idempotent | - | - |
keel_feedback | keel feedback | always | audit.read | write, open-world | - | text (string), goal (string), kind (friction, praise, bug), severity (string), context_ref (string) |
keel_help | keel help | always | audit.read | read-only, idempotent | - | topic (string) |
keel_live_control | keel live control | live-write | runner.pause | write, destructive, open-world | deployment_id* (string), action* (pause, resume, stop, trigger) | - |
keel_live_deploy | keel live deploy | live-write | runner.create | write, destructive, open-world | strategy_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_monitor | keel live monitor | live-read | runner.read | read-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_app | keel app open | read-only | strategy.read | read-only, idempotent | id* (string) | - |
keel_ownership_status | keel ownership status | read-only | strategy.read | read-only, idempotent, open-world | strategy_id* (string) | - |
keel_plan_status | keel plan status | read-only | audit.read | read-only, idempotent | - | - |
keel_share_create | keel share create | share | sharing.create | write, destructive, open-world | target_id* (string) | target_type (strategy, backtest), include_source (boolean), permission (view, fork), expires_at (string) |
keel_status | keel status | always | audit.read | read-only, idempotent | - | - |
keel_strategy_checkout | keel strategy checkout | backtest | strategy.read | write, open-world | strategy_id* (string) | dir (string) |
keel_strategy_compose | keel strategy compose | backtest | strategy.create | write, idempotent, open-world | - | source (string), source_file (string), strategy_id (string), name (string), dry_run (boolean), parent_version (string) |
keel_strategy_delete | keel strategy delete | backtest | strategy.delete | write, destructive, open-world | strategy_id* (string) | - |
keel_strategy_diff | keel strategy diff | read-only | strategy.read | read-only, idempotent, open-world | ref_a* (string), ref_b* (string) | strategy_id (string) |
keel_strategy_discard | keel strategy discard | backtest | strategy.read | write, destructive, idempotent | - | strategy_id (string) |
keel_strategy_fork | keel strategy fork | backtest | strategy.create | write, idempotent, open-world | source* (string) | name (string), target_workspace_id (string) |
keel_strategy_get | keel strategy get | read-only | strategy.read | read-only, idempotent, open-world | strategy_id* (string) | version (string), include_source (boolean), include_versions (boolean), no_ownership_hint (boolean) |
keel_strategy_log | keel strategy log | read-only | strategy.read | read-only, idempotent | strategy_id* (string) | limit (integer) |
keel_strategy_memory_read | keel strategy memory-read | read-only | strategy.read | read-only, idempotent, open-world | strategy_id* (string) | limit (integer) |
keel_strategy_memory_write | keel strategy memory-write | backtest | strategy.update | write, open-world | strategy_id* (string), note* (string) | role (agent, user) |
keel_strategy_pull | keel strategy pull | backtest | strategy.read | write, idempotent, open-world | - | strategy_id (string), force (boolean) |
keel_strategy_push | keel strategy push | backtest | strategy.update | write, open-world | - | strategy_id (string), message (string), force (boolean) |
keel_strategy_restore | keel strategy restore | backtest | strategy.update | write, open-world | strategy_id* (string), ref* (string) | message (string) |
keel_strategy_search | keel strategy search | read-only | strategy.read | read-only, idempotent, open-world | - | query (string), tag (string), owner (string), share_id (string), limit (integer), cursor (string) |
keel_strategy_status | keel strategy status | backtest | strategy.read | read-only, idempotent, open-world | - | strategy_id (string), include_recent (boolean), recent_commits (integer), no_ownership_hint (boolean) |
keel_strategy_workspaces | keel strategy workspaces | read-only | strategy.read | read-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 currentKEEL_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, andupgrade_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 asROC.period 20→42), reordering, and component version changes, plus a one-line summary.keel_strategy_get: Fetch one strategy by id — metadata by default; passinclude_source=trueto also read the DSL source at a givenversion(default HEAD), andinclude_versions=trueto 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 byquery(name substring),tag,owner, orshare_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 presignedresults.jsonURL 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 bykeel_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-outstrategy.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 — oneviewenum 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 command | MCP tool | Positional args | Options |
|---|---|---|---|
keel accounts list | keel_accounts_list | account_id | --format, --limit, -n, --cursor |
keel audit list-last | keel_audit_list_last | - | --format, --n |
keel auth login | keel_auth_login | - | --key, --scope, --api-url |
keel auth logout | keel_auth_logout | - | - |
keel backtest run | keel_backtest_run | strategy_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 summarize | keel_backtest_summarize | backtest_id | --format |
keel backtest watch | keel_backtest_watch | backtest_id | --format, --timeout-s, --no-ownership-hint, --no-no-ownership-hint, --interval-s |
keel components compose-help | keel_components_compose_help | name | --format |
keel components describe-batch | keel_components_detail_batch | names... | --format |
keel components search | keel_components_search | keyword | --format, --query, --output-type, --limit, -n, --input-type, --category, --before, --after |
keel doctor | keel_doctor | - | --format |
keel feedback | keel_feedback | text | --format, --severity, --kind, --goal, --context-ref |
keel help | keel_help | topic | --format |
keel live control | keel_live_control | deployment_id | --format, --yes, --action |
keel live deploy | keel_live_deploy | strategy_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 monitor | keel_live_monitor | deployment_id | --format, --view, --symbol, --start-time, --sort-dir, --sort-by, --side, --limit, -n, --cursor |
keel app open | keel_open_in_app | id | --format |
keel ownership status | keel_ownership_status | strategy_id | --format |
keel plan status | keel_plan_status | - | --format |
keel share create | keel_share_create | target_id | --format, --yes, --target-type, --permission, --include-source, --no-include-source, --expires-at |
keel status | keel_status | - | --format |
keel strategy checkout | keel_strategy_checkout | strategy_id | --format, --dir |
keel strategy compose | keel_strategy_compose | - | --format, --strategy-id, --source-file, --source, --parent-version, --name, --dry-run, --no-dry-run |
keel strategy delete | keel_strategy_delete | strategy_id | --format, --yes |
keel strategy diff | keel_strategy_diff | - | --format, --strategy-id, --ref-b, --ref-a |
keel strategy discard | keel_strategy_discard | strategy_id | --format, --yes |
keel strategy fork | keel_strategy_fork | source | --format, --target-workspace-id, --name |
keel strategy get | keel_strategy_get | strategy_id | --format, --version, --no-ownership-hint, --no-no-ownership-hint, --include-versions, --no-include-versions, --include-source, --no-include-source |
keel strategy log | keel_strategy_log | strategy_id | --format, --limit, -n |
keel strategy memory-read | keel_strategy_memory_read | strategy_id | --format, --limit, -n |
keel strategy memory-write | keel_strategy_memory_write | strategy_id | --format, --role, --note |
keel strategy pull | keel_strategy_pull | strategy_id | --format, --force, --no-force |
keel strategy push | keel_strategy_push | strategy_id | --format, --message, -m, --force, --no-force |
keel strategy restore | keel_strategy_restore | strategy_id | --format, --ref, -r, --message, -m |
keel strategy search | keel_strategy_search | - | --format, --tag, --share-id, --query, --owner, --limit, -n, --cursor |
keel strategy status | keel_strategy_status | strategy_id | --format, --recent-commits, --no-ownership-hint, --no-no-ownership-hint, --include-recent, --no-include-recent |
keel strategy workspaces | keel_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 command | Positional args | Options |
|---|---|---|
keel arm disarm | - | --emergency |
keel arm live set | - | --account, --ttl, --once, --renew |
keel arm status | - | - |
keel auth status | - | - |
keel auth whoami | - | - |
keel components describe | name | --format |
keel components detail | name | --format |
keel context add | note | - |
keel context edit | - | - |
keel context import | source | - |
keel context init | - | --force, --user |
keel context show | - | --layer |
keel mcp serve | - | - |
keel open | kind, target_id | - |
keel project hooks | - | - |
keel project init | - | --force |
keel skills list | - | --format |
keel skills show | name | --format |
keel universe add-group | file, name | --symbols |
keel universe categories | - | - |
keel universe get | file | - |
keel universe instruments | - | --market |
keel universe modify-group | file, name | --add, --remove |
keel universe remove-group | file, name | - |
keel universe resolve | file | --mode, --market, --symbols, --categories, --top-n, --exclusions, --inclusions |
keel universe set | file | --mode, --market, --symbols, --categories, --top-n, --exclusions, --inclusions, --lookback, --volume-quartiles |