Keel Docs
Agents

Agent Setup

Connect an AI agent to Keel. The hosted MCP endpoint is the default — paste one URL and sign in; the keel-trade package is the other way in.

Keel runs one hosted MCP endpoint:

https://mcp.usekeel.io/mcp

Paste it into Claude, ChatGPT, Cursor, Windsurf or any client that takes a remote MCP server, sign in with your Keel account when the consent page opens, and the agent has Keel: a 26-tool research/backtest/read surface, nothing to install, no API key to create. Authentication is your MCP client's OAuth flow, never a tool call.

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.

Connect your client

Claude

  1. Customize → Connectors → Add custom connector
  2. Paste https://mcp.usekeel.io/mcp and choose Connect
  3. Sign in with your Keel account when the consent page opens

First prompt: Find carry and momentum components on Keel (usekeel.io), compose a strategy, and backtest it.

Vendor docs: claude.com/docs (checked 2026-09-16)

ChatGPT

  1. Settings → Security and login → turn on Developer mode (a paid ChatGPT plan; on Business/Enterprise an admin must allow it)
  2. 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)
  3. Sign in with your Keel account when the consent page opens

First prompt: Find carry and momentum components on Keel (usekeel.io), compose a strategy, and backtest it.

Vendor docs: developers.openai.com/api (checked 2026-09-16)

Claude Code

claude mcp add --transport http keel https://mcp.usekeel.io/mcp
  1. Run the command in your terminal
  2. Inside Claude Code run /mcp and choose Authenticate
  3. Sign in with your Keel account when the consent page opens

First prompt: Connect to Keel (usekeel.io), then compose a carry strategy and backtest it.

Vendor docs: code.claude.com/docs (checked 2026-09-16)

Cursor

{
  "mcpServers": {
    "keel": {
      "url": "https://mcp.usekeel.io/mcp"
    }
  }
}
  1. Add the server to .cursor/mcp.json (project) or ~/.cursor/mcp.json (global)
  2. Cursor asks you to sign in on first use
  3. Sign in with your Keel account when the consent page opens

Install link (opens the client and registers Keel):

cursor://anysphere.cursor-deeplink/mcp/install?name=keel&config=eyJ1cmwiOiJodHRwczovL21jcC51c2VrZWVsLmlvL21jcCJ9

First prompt: Connect to Keel (usekeel.io), then compose a carry strategy and backtest it.

Vendor docs: cursor.com/docs (checked 2026-09-16)

Codex

codex mcp add keel --url https://mcp.usekeel.io/mcp
codex mcp login keel
  1. Run the two commands in your terminal
  2. Codex opens your browser for the sign-in
  3. Sign in with your Keel account when the consent page opens

First prompt: Connect to Keel (usekeel.io), then compose a carry strategy and backtest it.

Vendor docs: learn.chatgpt.com/docs (checked 2026-09-16)

Windsurf

{
  "mcpServers": {
    "keel": {
      "serverUrl": "https://mcp.usekeel.io/mcp"
    }
  }
}
  1. Add the server to Windsurf's mcp_config.json
  2. Windsurf asks you to sign in on first use
  3. Sign in with your Keel account when the consent page opens

First prompt: Connect to Keel (usekeel.io), then compose a carry strategy and backtest it.

Vendor docs: docs.devin.ai/desktop (checked 2026-09-16)

VS Code

{
  "servers": {
    "keel": {
      "type": "http",
      "url": "https://mcp.usekeel.io/mcp"
    }
  }
}
  1. Add the server to .vscode/mcp.json, or open the install link
  2. VS Code asks you to sign in on first use
  3. Sign in with your Keel account when the consent page opens

Install link (opens the client and registers Keel):

vscode:mcp/install?%7B%22name%22%3A%22keel%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.usekeel.io%2Fmcp%22%7D

Or in the browser:

https://vscode.dev/redirect/mcp/install?%7B%22name%22%3A%22keel%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.usekeel.io%2Fmcp%22%7D

First prompt: Connect to Keel (usekeel.io), then compose a carry strategy and backtest it.

Vendor docs: code.visualstudio.com/docs (checked 2026-09-16)

Other

  1. Use your client's own add remote / HTTP MCP server flow with https://mcp.usekeel.io/mcp
  2. The first request answers 401 with OAuth 2.1 metadata, so a compliant client discovers the sign-in step by itself
  3. Sign in with your Keel account when the consent page opens

First prompt: Connect to Keel (usekeel.io), then compose a carry strategy and backtest it.

What the agent gets

Hosted tools (26):

  • keel_doctor — Diagnose the Keel MCP connection 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.
  • 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_library_get — Read one Keel Library entry's verified facts: headline metrics, backtest window, data freshness, and the published variants (parameter presets with their own metrics).
  • keel_library_list — List the Keel Library — the verified, backtested strategy entries published in the product.
  • 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.
  • 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_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 / carry 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_library_fork — Fork a verified Keel Library entry into the caller's org as a normal, editable strategy — the supported way to start from something proven instead of composing from scratch.
  • keel_strategy_compose — Create or update a strategy from DSL source.
  • 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_share_create — Publish a strategy or a backtest result at a public usekeel.io/share/<id> URL.
  • keel_live_monitor — Read-only monitoring for strategies currently running on your account.

tools/list is authoritative; use the live schemas for exact argument names. The file-based workspace tools and keel_auth_login / keel_auth_logout are not registered on the hosted endpoint — they belong to the package below.

Other ways to connect

The keel CLI

pipx install keel-trade
keel auth login

uv tool install keel-trade also works. The keel CLI starts with no sign-up; keel auth login later attaches the workspace to your account.

Local MCP over stdio

The same package serves MCP over stdio for file-based workspaces; the host launches it as a child process.

claude mcp add keel -- keel mcp serve
codex mcp add keel -- keel mcp serve

Any client that launches MCP servers from a config file:

{
  "mcpServers": {
    "keel": {
      "command": "keel",
      "args": ["mcp", "serve"]
    }
  }
}

Claude Desktop bundle

Claude Desktop: download the bundle and drag it onto the app. One bundle for macOS, Windows and Linux; needs system Python 3.11+. Download: keel-trade-latest.mcpb

API key

The REST API with an API key, for your own agents and scripts. Create a key at app.usekeel.io/settings; reference: API reference

More