# Keel for agents

<!-- GENERATED from shared/agent-surface.json + LISTED_PROFILE_TOOLS — edit there, then run python packages/keel-trade/keel-sdk/scripts/check_surface_routing.py --write -->

You are an AI agent reading usekeel.io. Keel is software infrastructure for building structured strategies for Hyperliquid perps, backtesting multi-asset portfolios net of fees, slippage and carry, running the same strategy on Hyperliquid from the Keel app, and monitoring execution with logs. In Claude and ChatGPT, Keel is in the official directories: add it from its listing and sign in. Claude Code, Cursor and any other remote-MCP client take the hosted MCP endpoint by URL. Agents can also use the keel-trade package (one keel CLI + one local stdio MCP server) or the web app.

## How to connect

The hosted MCP endpoint is `https://mcp.usekeel.io/mcp` — one endpoint, a 29-tool research/backtest/read surface, nothing to install. Sign in or sign up on the Keel page that opens (no account needed beforehand); authentication is your MCP client's OAuth flow, never a tool call.

- **Claude**: Add Keel from its Claude listing: https://claude.ai/directory/connectors/keel (Customize → Connectors, then search for Keel), then choose Connect. Or add it by URL: Customize → Connectors → Add custom connector. Paste https://mcp.usekeel.io/mcp and choose Connect.
- **ChatGPT**: Add Keel from its ChatGPT listing: https://chatgpt.com/plugins/plugin_asdk_app_6abdbe58e6a481919a03773b4c124fe0 (chatgpt.com/plugins, then search for Keel), then choose Install plugin. Or add it by URL: Settings → Security and login → turn on Developer mode (in a workspace, an admin may have to allow it). Open chatgpt.com/plugins, choose +, give the connector a name and a description, and enter https://mcp.usekeel.io/mcp as the MCP server URL (the /mcp path included).
- **Claude Code**: `claude mcp add --transport http keel https://mcp.usekeel.io/mcp`. Inside Claude Code run /mcp and choose Authenticate.
- **Cursor**: Add the server to .cursor/mcp.json (project) or ~/.cursor/mcp.json (global): `{"mcpServers": {"keel": {"url": "https://mcp.usekeel.io/mcp"}}}`. Cursor asks you to sign in on first use.
- **Codex**: `codex mcp add keel --url https://mcp.usekeel.io/mcp` then `codex mcp login keel`. Codex opens your browser for the sign-in.
- **Windsurf**: Add the server to Windsurf's mcp_config.json: `{"mcpServers": {"keel": {"serverUrl": "https://mcp.usekeel.io/mcp"}}}`. Windsurf asks you to sign in on first use.
- **VS Code**: Add the server to .vscode/mcp.json, or open the install link: `{"servers": {"keel": {"type": "http", "url": "https://mcp.usekeel.io/mcp"}}}`. VS Code asks you to sign in on first use.
- **Other**: Use your client's own add remote / HTTP MCP server flow with https://mcp.usekeel.io/mcp. The first request answers 401 with OAuth 2.1 metadata, so a compliant client discovers the sign-in step by itself.

Other ways in: the `keel` CLI (`pipx install keel-trade`, then `keel auth login`), the same package as a local stdio MCP server (`keel mcp serve`), the Claude Desktop bundle (https://github.com/keel-trade/keel-trade/releases/latest/download/keel-trade-latest.mcpb), or the REST API with an API key (https://usekeel.io/docs/api-reference).

## What you can do

### Start

- `keel_account_status` — Get Account Status: Report who is signed in to Keel, on which plan and with how much quota left — plan usage per unit is `keel_plan_usage`, a failing connection `keel_connection_check`. Read-only.
- `keel_connection_check` — Check Connection: Check this connection to Keel when a call fails for an environmental reason — identity and quota are `keel_account_status`. Read-only.

### Discover

- `keel_components_get` — Get Component: Fetch the full contract for ONE known pipeline component — several at once are `keel_components_get_many`. Read-only.
- `keel_components_get_many` — Get Components: Fetch the full contract of SEVERAL components in one call — one component alone is `keel_components_get`. Read-only.
- `keel_components_search` — Search Components: Search the Keel pipeline component catalog — the chosen candidates go to `keel_components_get_many`, which verifies their types and slots. Read-only.
- `keel_library_get` — Get Library Entry: Read one Keel Library entry's verified facts before a fork — forking it is `keel_library_fork`. Read-only.
- `keel_library_list` — List Library Entries: List the Keel Library — the verified, backtested strategy entries published in the product; the caller's own strategies are `keel_strategy_search`. Read-only.

### Build

- `keel_library_fork` — Fork Library Entry: Fork a verified Keel Library entry into the caller's org as an editable strategy — a copy of a Keel strategy or a share link is `keel_strategy_fork`.
- `keel_strategy_compose` — Save Strategy: Save a strategy from Keel DSL source — new, or with `strategy_id` its next version; components come from `keel_components_search` and `keel_components_get_many`.
- `keel_strategy_fork` — Fork Strategy: Copy a strategy into the caller's org as a separate strategy with its own history; the original's source and versions are unchanged (saving a new version of a strategy is `keel_strategy_compose`).
- `keel_strategy_notes_add` — Add Strategy Note: Add a note to a strategy's saved notes, kept with the strategy in the user's Keel account and returned by `keel_strategy_notes_read` in later sessions.
- `keel_strategy_restore` — Restore Strategy Version: Add a new version of a strategy equal to an earlier one — a restore; the history is `keel_strategy_history`, the current strategy `keel_strategy_get`.

### Test

- `keel_backtest_compare` — Compare Backtests: Compare 2–8 completed backtests side by side — one run alone is `keel_backtest_summarize`. Read-only.
- `keel_backtest_positions` — Get Backtest Positions: The positions of ONE completed backtest, entry to exit — what drove its result. Read-only.
- `keel_backtest_run` — Run Backtest: Submit a NEW backtest run of a strategy — a finished run's result is `keel_backtest_summarize`, a running one's wait `keel_backtest_watch`.
- `keel_backtest_summarize` — Summarize Backtest Results: Show ONE completed backtest run in full — several runs together are `keel_backtest_compare`, a still-running one `keel_backtest_watch`. Read-only.
- `keel_backtest_watch` — Watch Backtest Progress: Wait on a running backtest (started by `keel_backtest_run`) until it finishes or the timeout elapses — a finished run in full is `keel_backtest_summarize`. Read-only.

### Read

- `keel_plan_usage` — Get Plan Usage: Report the org's own Keel plan and its backtest usage this period — auth, identity and visible tools are `keel_account_status`. Read-only.
- `keel_strategy_diff` — Diff Strategy Versions: What changed between two strategies or two versions of one (versions: `keel_strategy_history`; several runs' results: `keel_backtest_compare`). Read-only.
- `keel_strategy_get` — Get Strategy: Render a saved strategy as its structure card — a version's commit id alone is `keel_strategy_history`, with no card. Read-only.
- `keel_strategy_history` — Get Strategy History: Show a strategy's commit history — each version's commit id, the ref `keel_backtest_run` pins and `keel_strategy_diff` compares. Read-only.
- `keel_strategy_notes_read` — Read Strategy Notes: Read the notes saved on one of the caller's strategies — the durable context that outlives one session; adding one is `keel_strategy_notes_add`. Read-only.
- `keel_strategy_readiness` — Get Strategy Readiness: Report what evidence a saved strategy has and still lacks — a brief, a baseline backtest, named failure modes — and the one next step; a backtest is `keel_backtest_run`. Read-only.
- `keel_strategy_search` — Search Strategies: Search and list the org's strategies — the entry point for an EXISTING strategy, before `keel_strategy_get`. Read-only.
- `keel_live_monitor` — Monitor Running Strategies: Read-only monitoring of the strategies running on the caller's account; acting on one happens in the Keel web app (`keel_app_link` returns the link). Read-only.

### Share

- `keel_app_link` — Get App Link: Returns a link to view and manage this strategy in the Keel web app. Read-only.
- `keel_share_create` — Create Public Share Link: Publish a strategy (`str_*`) or a backtest (`btr_*`) at a public usekeel.io/share/<id> URL.

### Help

- `keel_feedback` — Send Feedback: Send feedback about Keel to the Keel team — friction, praise or a bug report in `goal`, `kind` and `text` — when the user asks or agrees; a failing connection is `keel_connection_check`.
- `keel_help` — Get Help Topic: Fetch one Keel knowledge or DSL-reference document by topic — components are `keel_components_search`, one component's contract `keel_components_get`. Read-only.

The agent builds, tests and reads. When you want to run a strategy on your account, it hands it to the Keel app and you take it from there.

## Docs

- Setup guide: https://usekeel.io/docs/agents/setup
- Per-client runbook: https://usekeel.io/agents
- Agent instructions: https://usekeel.io/AGENTS.md
- Docs index for agents: https://usekeel.io/llms.txt
- Skills manifest: https://usekeel.io/.well-known/skills/index.json
- Product docs: https://usekeel.io/docs
